app后台 提现通知 时间间隔

This commit is contained in:
renhaoting 2025-12-29 18:15:02 +08:00
parent c36b187f6b
commit 5e5ba292bd
4 changed files with 33 additions and 5 deletions

View File

@ -51,6 +51,11 @@ class SpUtil private constructor(spFileName: String) {
// notification 相关
const val NOTIFI_LAST_WITHDRAW_SHOW_MS = "NOTIFI_LAST_WITHDRAW_SHOW_MS"
@Volatile @Volatile
private var instance: SpUtil? = null private var instance: SpUtil? = null
fun instance(prefName: String = DEFAULT_SP_NAME): SpUtil { fun instance(prefName: String = DEFAULT_SP_NAME): SpUtil {

View File

@ -19,6 +19,7 @@ import java.util.concurrent.ConcurrentHashMap
@SuppressLint("StaticFieldLeak") @SuppressLint("StaticFieldLeak")
object NotificationDatas { object NotificationDatas {
const val GAP_FOR_WITHDRAW_NOTIFY = 30 * 1000
var context: Context = BaseApp.appContext() var context: Context = BaseApp.appContext()

View File

@ -0,0 +1,16 @@
package com.remax.notification.newUtil
import com.ama.core.architecture.util.SpUtil
object NotificationRecorder {
fun saveLastWithdrawShowTime(newLastShowTime: Long) {
SpUtil.instance().putLong(SpUtil.NOTIFI_LAST_WITHDRAW_SHOW_MS, newLastShowTime)
}
fun getLastWithdrawShowTime() : Long {
return SpUtil.instance().getLong(SpUtil.NOTIFI_LAST_WITHDRAW_SHOW_MS)
}
}

View File

@ -23,12 +23,15 @@ import com.remax.notification.TaskStateNewBieFirstWithDraw2
import com.remax.notification.controller.NotificationTriggerController import com.remax.notification.controller.NotificationTriggerController
import com.remax.notification.check.NotificationCheckController import com.remax.notification.check.NotificationCheckController
import com.remax.notification.newUtil.NotificationDatas import com.remax.notification.newUtil.NotificationDatas
import com.remax.notification.newUtil.NotificationDatas.GAP_FOR_WITHDRAW_NOTIFY
import com.remax.notification.newUtil.NotificationDatas.NOTI_TYPE_BG_WITHDRAW import com.remax.notification.newUtil.NotificationDatas.NOTI_TYPE_BG_WITHDRAW
import com.remax.notification.newUtil.NotificationRecorder
import com.remax.notification.newUtil.NotificationUtil import com.remax.notification.newUtil.NotificationUtil
import com.remax.notification.utils.NotiLogger import com.remax.notification.utils.NotiLogger
import com.remax.notification.utils.FCMTopicManager import com.remax.notification.utils.FCMTopicManager
import com.remax.notification.service.FCMService import com.remax.notification.service.FCMService
import com.remax.notification.service.NotificationKeepAliveServiceManager import com.remax.notification.service.NotificationKeepAliveServiceManager
import com.remax.notification.utils.DateUtil
import com.remax.notification.utils.Topic import com.remax.notification.utils.Topic
import com.remax.notification.worker.NotificationKeepAliveWorker import com.remax.notification.worker.NotificationKeepAliveWorker
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
@ -343,12 +346,15 @@ class NotificationTimingController private constructor() : LifecycleObserver {
private fun showNotifyWithdraw() { private fun showNotifyWithdraw() {
if (System.currentTimeMillis() - NotificationRecorder.getLastWithdrawShowTime() >= GAP_FOR_WITHDRAW_NOTIFY) {
val hasClaimedSmallCash = SpUtil.instance().getObject<TaskStateNewBieFirstWithDraw2>(SpUtil.KEY_NEWBIE_FIRST_WITHDRAW)?.hasClaimReward val hasClaimedSmallCash = SpUtil.instance().getObject<TaskStateNewBieFirstWithDraw2>(SpUtil.KEY_NEWBIE_FIRST_WITHDRAW)?.hasClaimReward
NotificationDatas.getConfigForType(NOTI_TYPE_BG_WITHDRAW)?.let { NotificationDatas.getConfigForType(NOTI_TYPE_BG_WITHDRAW)?.let {
it.content = String.format(it.content, if (hasClaimedSmallCash == null || !hasClaimedSmallCash) 0.1 else 50) it.content = String.format(it.content, if (hasClaimedSmallCash == null || !hasClaimedSmallCash) 0.1 else 50)
NotificationUtil.getInstance().showHeadsUpNotification(it) NotificationUtil.getInstance().showHeadsUpNotification(it)
} }
} }
}
} }