From b532d1daa8a0393437c5e76175095bf99741fc50 Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Wed, 31 Dec 2025 13:57:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=B8=B8=E9=A9=BB=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=20=E9=87=91=E5=B8=81=EF=BC=8C=E7=8E=B0=E9=87=91=20?= =?UTF-8?q?=E5=AE=9D=E7=AE=B1=E7=AD=89=E5=AD=97=E7=AC=A6=E4=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gamedog/vididin/login/AccountManager.kt | 9 +++++++++ .../controller/NotificationTriggerController.kt | 7 +++++++ .../com/remax/notification/utils/TimeCheckUtil.kt | 13 +++++++++++++ 3 files changed, 29 insertions(+) diff --git a/app/src/main/java/com/gamedog/vididin/login/AccountManager.kt b/app/src/main/java/com/gamedog/vididin/login/AccountManager.kt index ff4ba03..ceaff79 100644 --- a/app/src/main/java/com/gamedog/vididin/login/AccountManager.kt +++ b/app/src/main/java/com/gamedog/vididin/login/AccountManager.kt @@ -1,5 +1,6 @@ package com.gamedog.vididin.core.login.login +import com.ama.core.architecture.BaseApp import com.ama.core.architecture.util.AndroidUtil import com.ama.core.architecture.util.DateUtil import com.ama.core.architecture.util.DeviceUtil @@ -14,6 +15,8 @@ import com.gamedog.vididin.beans.RECORD_GOLD_MINUS_CONVERT_2_CASH import com.gamedog.vididin.beans.RecordCash import com.gamedog.vididin.beans.RecordGold import com.gamedog.vididin.manager.RecordsManager +import com.remax.notification.controller.NotificationTriggerController +import com.remax.notification.service.NotificationKeepAliveService object AccountManager { @@ -64,9 +67,14 @@ object AccountManager { saveAccountInfo() NotifyMan.instance().sendEvent(VididinEvents.Event_Account_Gold_Changed, null) RecordsManager.instance().appendGoldRecord(recordBean) + updateResidentNotification() return true } + private fun updateResidentNotification() { + NotificationKeepAliveService.updateNotification(BaseApp.appContext()) + } + fun getCash(): Double { return mAccount.cashCount @@ -83,6 +91,7 @@ object AccountManager { recordBean?.let { RecordsManager.instance().appendCashRecord(recordBean) } + updateResidentNotification() return true } diff --git a/notification/src/main/java/com/remax/notification/controller/NotificationTriggerController.kt b/notification/src/main/java/com/remax/notification/controller/NotificationTriggerController.kt index 9117840..391e4fd 100644 --- a/notification/src/main/java/com/remax/notification/controller/NotificationTriggerController.kt +++ b/notification/src/main/java/com/remax/notification/controller/NotificationTriggerController.kt @@ -13,6 +13,7 @@ import android.os.Looper import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat import androidx.core.content.ContextCompat +import com.ama.core.architecture.BaseApp import com.ama.core.architecture.util.DateUtil import com.ama.core.architecture.util.permission.PermissionUtil import com.remax.base.ext.canSendNotification @@ -29,6 +30,7 @@ import com.remax.notification.config.NotificationConfigController import com.remax.notification.newUtil.NotificationRecorder import com.remax.notification.newUtil.NotificationUtil import com.remax.notification.receiver.NotificationDeleteReceiver +import com.remax.notification.service.NotificationKeepAliveService import com.remax.notification.timing.NotificationTimingController import com.remax.notification.utils.NotiLogger import com.remax.notification.utils.TimeCheckUtil @@ -278,6 +280,11 @@ object NotificationTriggerController { NotiLogger.d("固定时间节点通知,第${repeatCount + 1}次") } + if (TimeCheckUtil.isDifferentHour()) { + // 更新常驻通知,主要是宝箱任务hour + NotificationKeepAliveService.updateNotification(BaseApp.appContext()) + } + mFixTimeHandler?.postDelayed(this, 1000) } } diff --git a/notification/src/main/java/com/remax/notification/utils/TimeCheckUtil.kt b/notification/src/main/java/com/remax/notification/utils/TimeCheckUtil.kt index 70c905e..310e25e 100644 --- a/notification/src/main/java/com/remax/notification/utils/TimeCheckUtil.kt +++ b/notification/src/main/java/com/remax/notification/utils/TimeCheckUtil.kt @@ -7,6 +7,7 @@ import kotlin.math.abs object TimeCheckUtil { + private var mCurrentHour = 0 private val TARGET_TIMES = arrayOf( intArrayOf(9, 10), @@ -33,6 +34,18 @@ object TimeCheckUtil { return false } + fun isDifferentHour(): Boolean { + val calendar = Calendar.getInstance() + val currentHour = calendar.get(Calendar.HOUR_OF_DAY) + + if (currentHour != mCurrentHour) { + mCurrentHour = currentHour + return true + } + + return false + } + fun isTargetTimeWithTolerance(tolerance: Int): Boolean { val calendar = Calendar.getInstance()