diff --git a/android/navi-common/src/main/java/com/navi/common/firebaseremoteconfig/FirebaseRemoteConfigHelper.kt b/android/navi-common/src/main/java/com/navi/common/firebaseremoteconfig/FirebaseRemoteConfigHelper.kt index a0362458d8..30424dc565 100644 --- a/android/navi-common/src/main/java/com/navi/common/firebaseremoteconfig/FirebaseRemoteConfigHelper.kt +++ b/android/navi-common/src/main/java/com/navi/common/firebaseremoteconfig/FirebaseRemoteConfigHelper.kt @@ -129,6 +129,8 @@ object FirebaseRemoteConfigHelper { "NAVI_PAY_REMOVE_APP_ON_INTENT_PAYMENT_SUCCESS" const val NAVI_PAY_CL_MAX_RETRY_COUNT = "NAVI_PAY_CL_MAX_RETRY_COUNT" const val NAVI_PAY_GENERIC_OFFERS_TTL_IN_MILLIS = "NAVI_PAY_GENERIC_OFFERS_TTL_IN_MILLIS" + const val NAVI_PAY_ARC_NUDGE_CACHE_SYNC_INTERVAL_IN_MILLIS = + "NAVI_PAY_ARC_NUDGE_CACHE_SYNC_INTERVAL_IN_MILLIS" // COMMON const val LITMUS_EXPERIMENTS_CACHE_DURATION_IN_MILLIS = diff --git a/android/navi-common/src/main/java/com/navi/common/payments/arc/usecase/ArcNudgeSyncUseCase.kt b/android/navi-common/src/main/java/com/navi/common/payments/arc/usecase/ArcNudgeSyncUseCase.kt index b84751bf2b..bae3454a5e 100644 --- a/android/navi-common/src/main/java/com/navi/common/payments/arc/usecase/ArcNudgeSyncUseCase.kt +++ b/android/navi-common/src/main/java/com/navi/common/payments/arc/usecase/ArcNudgeSyncUseCase.kt @@ -16,6 +16,7 @@ import com.navi.base.utils.retry import com.navi.common.checkmate.model.MetricInfo import com.navi.common.constants.DBCacheConstants.ARC_NUDGE_RESPONSE_CACHE_KEY import com.navi.common.constants.DBCacheConstants.ARC_NUDGE_RESPONSE_CACHE_LAST_SYNC_TIMESTAMP_KEY +import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper import com.navi.common.network.models.isSuccessWithData import com.navi.common.payments.arc.model.network.ArcNudgeResponse import com.navi.common.repo.NaviCommonRepository @@ -29,8 +30,6 @@ constructor( @NaviCommonGson private val gson: Gson, ) { - private val ARC_CACHE_MIN_TIMESTAMP = 86400000L // 1 day - suspend fun execute(skipLastSyncedTimestampCheck: Boolean = false) { val arcResponseCacheLastSyncTs = @@ -38,7 +37,14 @@ constructor( val lastSyncedTsDiff = System.currentTimeMillis() - (arcResponseCacheLastSyncTs?.value?.toLong() ?: 0) - val shouldSync = skipLastSyncedTimestampCheck || lastSyncedTsDiff > ARC_CACHE_MIN_TIMESTAMP + val shouldSync = + skipLastSyncedTimestampCheck || + lastSyncedTsDiff > + FirebaseRemoteConfigHelper.getLong( + key = + FirebaseRemoteConfigHelper + .NAVI_PAY_ARC_NUDGE_CACHE_SYNC_INTERVAL_IN_MILLIS + ) if (!shouldSync) { return diff --git a/android/navi-common/src/main/res/xml/default_remote_config.xml b/android/navi-common/src/main/res/xml/default_remote_config.xml index 80e484d360..86296f5b1f 100644 --- a/android/navi-common/src/main/res/xml/default_remote_config.xml +++ b/android/navi-common/src/main/res/xml/default_remote_config.xml @@ -674,4 +674,8 @@ NAVI_PAY_GENERIC_OFFERS_TTL_IN_MILLIS 1800000 + + NAVI_PAY_ARC_NUDGE_CACHE_SYNC_INTERVAL_IN_MILLIS + 86400000 + \ No newline at end of file