Commit e5ce8ec6 authored by wanglei's avatar wanglei

...

parent 957dce32
......@@ -20,7 +20,7 @@ class NotificationSendBean(
companion object {
const val POPUP_WHERE_TIMBER = "Timer"
const val POPUP_WHERE_TIMER = "Timer"
const val POPUP_WHERE_LOCK = "Lock"
const val POPUP_WHERE_FCM = "fcm"
const val POPUP_WHERE_ALARM = "Alarm"
......
......@@ -9,7 +9,6 @@ import com.base.scanqr.bean.NotificationSendBean.Companion.POPUP_WHERE_ALARM
import com.base.scanqr.fcm.notification.MyNotificationManager
import com.base.scanqr.fcm.work.RepeatingWorker.Companion.schedulePeriodicWork
import com.base.scanqr.helper.EventUtils
import com.base.scanqr.utils.AppPreferences
import com.base.scanqr.utils.LogEx
/**
......@@ -22,17 +21,11 @@ class AlarmReceiver : BroadcastReceiver() {
@SuppressLint("UnsafeProtectedBroadcastReceiver")
override fun onReceive(context: Context, intent: Intent?) {
LogEx.logDebug(TAG, "AlarmJobReceiver onReceive")
val lastAlarmTime = AppPreferences.getInstance().getLong("lastAlarmTime", 0L)
val currentTime = System.currentTimeMillis()
if (lastAlarmTime == 0L || currentTime - lastAlarmTime >= 1000 * 30 * 60) {
EventUtils.event("alarm_push")
val sendBean = NotificationSendBean(context, POPUP_WHERE_ALARM, canSend = { true }, sendSuccess = {})
MyNotificationManager.submitSendBean(sendBean)
AppPreferences.getInstance().put("lastAlarmTime", System.currentTimeMillis())
}
schedulePeriodicWork(context)
return
}
}
\ No newline at end of file
......@@ -2,6 +2,7 @@ package com.base.scanqr.fcm.notification
import android.content.Context
import com.base.scanqr.BuildConfig
import com.base.scanqr.MyApplication
import com.base.scanqr.bean.NotificationSendBean
import com.base.scanqr.bean.NotificationSendBean.Companion.ACTION_ID_EMAIL
import com.base.scanqr.bean.NotificationSendBean.Companion.ACTION_ID_SCAN
......@@ -14,7 +15,7 @@ import com.base.scanqr.bean.NotificationSendBean.Companion.POPUP_WHERE_FCM
import com.base.scanqr.bean.NotificationSendBean.Companion.POPUP_WHERE_FILE_JOB
import com.base.scanqr.bean.NotificationSendBean.Companion.POPUP_WHERE_LOCK
import com.base.scanqr.bean.NotificationSendBean.Companion.POPUP_WHERE_PACKAGE
import com.base.scanqr.bean.NotificationSendBean.Companion.POPUP_WHERE_TIMBER
import com.base.scanqr.bean.NotificationSendBean.Companion.POPUP_WHERE_TIMER
import com.base.scanqr.bean.NotificationSendBean.Companion.POPUP_WHERE_WORK_MANAGER
import com.base.scanqr.bean.config.PopupConfigBean.Companion.popupConfigBean
import com.base.scanqr.helper.EventUtils
......@@ -62,6 +63,10 @@ object MyNotificationManager {
}
fun submitSendBean(bean: NotificationSendBean) {
//测试哪些位置触发
if (BuildConfig.DEBUG) {
if (!testWhere.contains(bean.where)) return
}
if (bean.actionId.isEmpty()) {
val actionId = getNextActionId()
bean.actionId = actionId
......@@ -84,11 +89,6 @@ object MyNotificationManager {
while (isActive) {
val bean = sendBeanBlockingQueue.take()
//测试哪些位置触发
if (BuildConfig.DEBUG) {
if (!testWhere.contains(bean.where)) continue
}
LogEx.logDebug(TAG, "sendNotificationIfCan where=${bean.where}")
EventUtils.event("Notification_Popup_Start", "where=${bean.where}")
......@@ -101,6 +101,9 @@ object MyNotificationManager {
}
async(Dispatchers.Main) {
if (BuildConfig.DEBUG) {
MyApplication.appContext.toast(bean.where)
}
NotificationUiUtil.setNotification(bean)
}.await()
......@@ -199,7 +202,7 @@ object MyNotificationManager {
POPUP_WHERE_PACKAGE,
POPUP_WHERE_WORK_MANAGER,
POPUP_WHERE_ALARM,
POPUP_WHERE_TIMBER,
POPUP_WHERE_TIMER,
POPUP_WHERE_FILE_JOB,
POPUP_WHERE_FCM
)
......
......@@ -2,7 +2,7 @@ package com.base.scanqr.fcm.timer
import com.base.scanqr.MyApplication
import com.base.scanqr.bean.NotificationSendBean
import com.base.scanqr.bean.NotificationSendBean.Companion.POPUP_WHERE_TIMBER
import com.base.scanqr.bean.NotificationSendBean.Companion.POPUP_WHERE_TIMER
import com.base.scanqr.bean.config.PopupConfigBean.Companion.popupConfigBean
import com.base.scanqr.fcm.notification.MyNotificationManager
import com.base.scanqr.fcm.receiver.ScreenStatusReceiver
......@@ -31,7 +31,7 @@ class TimerManager private constructor() {
&& MyApplication.PAUSED_VALUE != 1
) {
val sendBean =
NotificationSendBean(MyApplication.appContext, POPUP_WHERE_TIMBER, canSend = { true }, sendSuccess = {})
NotificationSendBean(MyApplication.appContext, POPUP_WHERE_TIMER, canSend = { true }, sendSuccess = {})
MyNotificationManager.submitSendBean(sendBean)
}
}
......
......@@ -12,11 +12,13 @@ import com.base.scanqr.bean.NotificationSendBean
import com.base.scanqr.bean.NotificationSendBean.Companion.POPUP_WHERE_WORK_MANAGER
import com.base.scanqr.fcm.notification.MyNotificationManager
import com.base.scanqr.helper.EventUtils
import com.base.scanqr.utils.LogEx
import java.util.concurrent.TimeUnit
class RepeatingWorker(val appContext: Context, workerParams: WorkerParameters) : Worker(appContext, workerParams) {
override fun doWork(): Result {
LogEx.logDebug(TAG, "doWork")
// 这里执行你的任务
// 例如,更新UI,发送网络请求等
EventUtils.event("workManager_live")
......@@ -30,7 +32,7 @@ class RepeatingWorker(val appContext: Context, workerParams: WorkerParameters) :
}
companion object {
const val TAG = "uniqueWorkName"
const val TAG = "RepeatingWorker"
fun schedulePeriodicWork(context: Context) {
WorkManager.getInstance(context).cancelAllWorkByTag(TAG)
......
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