NTP-66631 | Dark knight worker stability (#16300)
This commit is contained in:
@@ -16,6 +16,7 @@ import coil.ImageLoaderFactory
|
||||
import com.navi.base.cache.repository.NaviCacheRepository
|
||||
import com.navi.base.utils.TrustedTimeClientAccessor
|
||||
import com.navi.bbps.common.model.NaviBbpsManager
|
||||
import com.navi.common.utils.log
|
||||
import com.navi.moneymanager.common.manager.MMLibManager
|
||||
import com.navi.pay.common.setup.NaviPayManager
|
||||
import com.navi.traceflow.Config
|
||||
@@ -97,5 +98,7 @@ open class NaviApplication : BaseApplication(), ImageLoaderFactory, Configuratio
|
||||
Configuration.Builder()
|
||||
.setWorkerFactory(workerFactory = workerFactory.get())
|
||||
.setMinimumLoggingLevel(if (BuildConfig.DEBUG) Log.DEBUG else Log.ERROR)
|
||||
.setInitializationExceptionHandler { it.log() }
|
||||
.setWorkerInitializationExceptionHandler { it.throwable.log() }
|
||||
.build()
|
||||
}
|
||||
|
||||
@@ -219,10 +219,10 @@ class NaviPayToContacts @Inject constructor() {
|
||||
|
||||
class NaviPayDarkKnightWorker {
|
||||
|
||||
fun onDarkKnightTriggered(triggeredTime: String) {
|
||||
fun onDarkKnightTriggered(isTriggeredWithinOffHours: Boolean) {
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
eventName = "NaviPay_DarkKnight_Triggered",
|
||||
eventValues = mapOf("triggeredTime" to triggeredTime),
|
||||
eventValues = mapOf("isTriggeredWithinOffHours" to isTriggeredWithinOffHours.toString()),
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -36,7 +36,10 @@ constructor(@ApplicationContext private val context: Context) : DarkKnightSchedu
|
||||
override suspend fun schedulePeriodicSync() {
|
||||
|
||||
val constraints =
|
||||
Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build()
|
||||
Constraints.Builder()
|
||||
.setRequiredNetworkType(networkType = NetworkType.CONNECTED)
|
||||
.setRequiresStorageNotLow(requiresStorageNotLow = true)
|
||||
.build()
|
||||
|
||||
val initialDelay = calculateInitialDelayInMillis()
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@ import androidx.hilt.work.HiltWorker
|
||||
import androidx.work.CoroutineWorker
|
||||
import androidx.work.WorkerParameters
|
||||
import com.navi.base.utils.BaseUtils
|
||||
import com.navi.base.utils.DateUtils
|
||||
import com.navi.base.utils.TrustedTimeAccessor
|
||||
import com.navi.base.utils.log
|
||||
import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper
|
||||
@@ -33,7 +32,6 @@ import com.navi.pay.tstore.list.model.view.OrderStatusOfView
|
||||
import com.navi.pay.tstore.list.repository.OrderRepository
|
||||
import com.navi.pay.tstore.utils.error.OrderErrorMappingManager
|
||||
import com.navi.pay.utils.DARK_KNIGHT_WORKER
|
||||
import com.navi.pay.utils.DATE_TIME_FORMAT_DATE_MONTH_NAME_YEAR_AT_TIME
|
||||
import com.navi.pay.utils.NAVI_PAY_LITMUS_EXPERIMENTS
|
||||
import com.navi.payments.shared.feature.arc.usecase.ArcNudgeSyncUseCase
|
||||
import dagger.assisted.Assisted
|
||||
@@ -81,14 +79,17 @@ constructor(
|
||||
return@withContext Result.success()
|
||||
}
|
||||
|
||||
val currentHour = DateTime(TrustedTimeAccessor.getCurrentTimeMillis()).hourOfDay
|
||||
val isTriggeredWithinOffHours = currentHour >= 1 && currentHour < 5
|
||||
|
||||
naviPayAnalytics.onDarkKnightTriggered(
|
||||
triggeredTime =
|
||||
DateUtils.getFormattedDateTimeAsStringFromDateTimeObject(
|
||||
dateTime = DateTime(TrustedTimeAccessor.getCurrentTimeMillis()),
|
||||
format = DATE_TIME_FORMAT_DATE_MONTH_NAME_YEAR_AT_TIME,
|
||||
)
|
||||
isTriggeredWithinOffHours = isTriggeredWithinOffHours
|
||||
)
|
||||
|
||||
if (!isTriggeredWithinOffHours) {
|
||||
return@withContext Result.success()
|
||||
}
|
||||
|
||||
if (!BaseUtils.isUserLoggedIn()) {
|
||||
naviPayAnalytics.onUserNotLoggedIn()
|
||||
return@withContext Result.success()
|
||||
@@ -172,7 +173,11 @@ constructor(
|
||||
tasks.add(
|
||||
async {
|
||||
commonRepository.fetchNpciKeys(
|
||||
metricInfo = getMetricInfo<NpciKeysResponse>(screenName = screenName)
|
||||
metricInfo =
|
||||
getMetricInfo<NpciKeysResponse>(
|
||||
screenName = screenName,
|
||||
isNae = { false },
|
||||
)
|
||||
)
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user