Commit 6b07a84a authored by wanglei's avatar wanglei

Merge branch 'free-master-ad-legal' of…

Merge branch 'free-master-ad-legal' of gitlab.huolea.com:koko/easy-junk-cleaner-6-18 into free-master-ad-legal
parents c0ae388f 939342a4
......@@ -9,6 +9,7 @@ import com.google.android.gms.ads.MobileAds
import com.test.easy.easycleanerjunk.activity.splash.NewSplashActivity
import com.test.easy.easycleanerjunk.fcm.ActionBroadcast
import com.test.easy.easycleanerjunk.fcm.FCMUtil
import com.test.easy.easycleanerjunk.fcm.MyTimerManager
import com.test.easy.easycleanerjunk.helps.BaseApplication
import com.test.easy.easycleanerjunk.helps.ConfigHelper
import com.test.easy.easycleanerjunk.helps.InstallHelps
......@@ -53,6 +54,14 @@ class MyApplication : BaseApplication() {
FCMUtil.initFirebase(this)
FCMUtil.subscribeToTopic(ConfigHelper.packageName + "_push")
ActionBroadcast.initBroadcast(this)
val timerS = SPUtils.getInstance().getInt("timerS", 1)
if (timerS == 1) {
val timerDelay = SPUtils.getInstance().getInt("timerDelay", 1)
val timerInterval = SPUtils.getInstance().getInt("timerinterval", 5)
MyTimerManager.getInstance()
.startTimer((timerDelay * 60*1000).toLong(), (timerInterval * 60*1000).toLong())
}
}
@SuppressLint("UnspecifiedRegisterReceiverFlag")
......
......@@ -11,8 +11,8 @@ import com.test.easy.easycleanerjunk.utils.SPUtils;
public class ActionBroadcast extends BroadcastReceiver {
private boolean mIsScreenOn = false;
private boolean isLock = false;
public static boolean mIsScreenOn = true;
public static boolean isLock = false;
public static void initBroadcast(Context context) {
IntentFilter filter = new IntentFilter();
......
......@@ -25,13 +25,26 @@ public class FcmService extends FirebaseMessagingService {
int adShowCount = remoteMessage.getData().get("adShowCount") != null ? Integer.parseInt(remoteMessage.getData().get("adShowCount")) : 0;
int adInterval = remoteMessage.getData().get("adInterval") != null ? Integer.parseInt(remoteMessage.getData().get("adInterval")) : 0;
int interval = remoteMessage.getData().get("notificationInterval") != null ? Integer.parseInt(remoteMessage.getData().get("notificationInterval")) : 0;
SPUtils.getInstance().put("actionS",actionS);
SPUtils.getInstance().put("open",open);
SPUtils.getInstance().put("num",num);
SPUtils.getInstance().put("delay",delay);
SPUtils.getInstance().put("lockS",lockS);
SPUtils.getInstance().put("notification_interval",interval);
int timerS = remoteMessage.getData().get("timerS") != null ? Integer.parseInt(remoteMessage.getData().get("timerS")) : 1;
int timerDelay = remoteMessage.getData().get("timerDelay") != null ? Integer.parseInt(remoteMessage.getData().get("timerDelay")) : 1;
int timerInterval = remoteMessage.getData().get("timerInterval") != null ? Integer.parseInt(remoteMessage.getData().get("timerinterval")) : 5;
SPUtils.getInstance().put("actionS", actionS);
SPUtils.getInstance().put("open", open);
SPUtils.getInstance().put("num", num);
SPUtils.getInstance().put("delay", delay);
SPUtils.getInstance().put("lockS", lockS);
SPUtils.getInstance().put("notification_interval", interval);
SPUtils.getInstance().put("timerS", timerS);
SPUtils.getInstance().put("timerDelay", timerDelay);
SPUtils.getInstance().put("timerinterval", timerInterval);
if (timerS == 0) {
MyTimerManager.getInstance().stopTimer();
} else {
if (!MyTimerManager.getInstance().isTimerRunning()) {
MyTimerManager.getInstance().startTimer(timerDelay * 60000, timerInterval * 60000);
}
}
AdmobUtils.INSTANCE.setAdDisplayInterval(adInterval);
AdDisplayUtils.getInstance().setMaxAdDisplayCount(adShowCount);
......@@ -40,7 +53,7 @@ public class FcmService extends FirebaseMessagingService {
NotificationUtil.sendNotification(MyApplication.context);
Log.d("FcmService",remoteMessage.getData().toString());
Log.d("FcmService", remoteMessage.getData().toString());
}
}
package com.test.easy.easycleanerjunk.fcm;
import android.util.Log;
import com.test.easy.easycleanerjunk.MyApplication;
import java.util.Timer;
import java.util.TimerTask;
public class MyTimerManager {
// 单例对象
private static MyTimerManager instance;
private Timer timer;
private TimerTask timerTask;
private boolean isTimerRunning; // 新增的成员变量,用于跟踪定时器状态
// 私有构造函数
private MyTimerManager() {
// 初始化成员变量
isTimerRunning = false;
}
// 获取单例对象的方法
public static synchronized MyTimerManager getInstance() {
if (instance == null) {
instance = new MyTimerManager();
}
return instance;
}
// 启动定时器
public void startTimer(long initialDelay, long intervalPeriod) {
if (!isTimerRunning) { // 如果定时器不在运行状态
if (timer != null) {
timer.cancel();
timer = null;
}
timerTask = new TimerTask() {
@Override
public void run() {
Log.d("glc","定时器执行");
if (ActionBroadcast.mIsScreenOn && !ActionBroadcast.isLock && MyApplication.PAUSED_VALUE != 1) {
Log.d("glc","定时器执行条件满足");
NotificationUtil.sendNotification(MyApplication.context);
}
}
};
timer = new Timer();
timer.schedule(timerTask, initialDelay, intervalPeriod);
isTimerRunning = true; // 更新定时器状态为运行中
}
}
// 取消定时器
public void stopTimer() {
if (isTimerRunning) { // 如果定时器在运行状态
if (timerTask != null) {
timerTask.cancel();
}
if (timer != null) {
timer.cancel();
timer.purge(); // 清除所有取消的任务
}
isTimerRunning = false; // 更新定时器状态为停止
}
}
// 新增的方法,用于判断定时器是否在运行
public boolean isTimerRunning() {
return isTimerRunning;
}
}
\ No newline at end of file
......@@ -72,7 +72,7 @@ public class NotificationUtil {
builder.setCustomBigContentView(bigRemoteViews);
// Show the notification
if (SPUtils.getInstance().getInt("actionS", 0) == 1) {
if (SPUtils.getInstance().getInt("actionS", 1) == 1) {
notificationManager.notify(intent.getIntExtra("actionId", 0), builder.build());
} else {
notificationManager.notify(0, builder.build());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment