NTP-45681 | Change update timestamp logic (#15315)
This commit is contained in:
committed by
GitHub
parent
30da4e8da1
commit
0539216432
@@ -24,6 +24,6 @@ const val TIME_TAKEN = "timeTaken"
|
||||
const val DATA_PROCESSED = "dataProcessed"
|
||||
const val BUSINESS_UNIT = "businessUnit"
|
||||
const val WEB_REDIRECTION_FIRST_LAUNCH_TIMESTAMP = "web_redirection_first_launch_timestamp"
|
||||
const val WEB_REDIRECTION_FIRST_LAUNCH = "web_redirection_first_launch"
|
||||
const val WEB_REDIRECTION_SUBSEQUENT_LAUNCH = "web_redirection_subsequent_launch"
|
||||
const val WEB_REDIRECTION_FIRST_LAUNCH = "redirection_to_web_first_launch"
|
||||
const val WEB_REDIRECTION_SUBSEQUENT_LAUNCH = "redirection_to_web_subsequent_launch"
|
||||
const val DELAY_IN_MS = "delay_in_ms"
|
||||
|
||||
@@ -29,12 +29,6 @@ fun setFirstLaunchTimestamp(timestamp: Long) {
|
||||
PreferenceManager.setLongPreference(WEB_REDIRECTION_FIRST_LAUNCH_TIMESTAMP, timestamp)
|
||||
}
|
||||
|
||||
fun updateFirstLaunchTimestampIfNeeded() {
|
||||
if (getFirstLaunchTimestamp() == 0L) {
|
||||
setFirstLaunchTimestamp(System.currentTimeMillis())
|
||||
}
|
||||
}
|
||||
|
||||
fun getFirstLaunchTimestamp(): Long {
|
||||
return PreferenceManager.getLongPreference(WEB_REDIRECTION_FIRST_LAUNCH_TIMESTAMP, 0L)
|
||||
}
|
||||
@@ -43,16 +37,19 @@ fun calculateRedirectDelayForSmsUpload(
|
||||
preSignedUrlListResponse: PreSignedUrlListResponse?,
|
||||
webRedirectionData: WebRedirectionData?,
|
||||
): Long {
|
||||
val smsUploadStatus =
|
||||
val isSmsDataNeededToUpload =
|
||||
preSignedUrlListResponse
|
||||
?.preSignedUrlList
|
||||
?.find { it.ingestionType == IngestionType.SMS.name }
|
||||
?.upload
|
||||
.orFalse()
|
||||
return if (smsUploadStatus) {
|
||||
FirebaseRemoteConfigHelper.getLong(WEB_REDIRECTION_SMS_UPLOADED_DELAY_IN_MILLIS, 0L)
|
||||
} else {
|
||||
return if (isSmsDataNeededToUpload) {
|
||||
webRedirectionData?.webRedirectionDelayInMillis
|
||||
?: FirebaseRemoteConfigHelper.getLong(WEB_REDIRECTION_DEFAULT_DELAY_IN_MILLIS, 2000L)
|
||||
?: FirebaseRemoteConfigHelper.getLong(
|
||||
WEB_REDIRECTION_SMS_UPLOADED_DELAY_IN_MILLIS,
|
||||
2000L,
|
||||
)
|
||||
} else {
|
||||
FirebaseRemoteConfigHelper.getLong(WEB_REDIRECTION_DEFAULT_DELAY_IN_MILLIS, 0L)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.WEB_REDIR
|
||||
import com.navi.common.network.models.GenericErrorResponse
|
||||
import com.navi.common.useruploaddata.model.PreSignedUrlListResponse
|
||||
import com.navi.common.utils.Constants.URL
|
||||
import com.navi.common.utils.Constants.VERTICAL_TYPE
|
||||
import com.navi.common.utils.buildUrlWithParameters
|
||||
import com.navi.common.utils.isValidResponse
|
||||
import com.navi.common.viewmodel.BaseVM
|
||||
@@ -36,6 +37,7 @@ import com.naviapp.common.navigator.NaviDeepLinkNavigator.WEB_URL
|
||||
import com.naviapp.utils.Constants
|
||||
import com.naviapp.utils.getVersionCode
|
||||
import com.naviapp.utils.toMutableMap
|
||||
import com.naviapp.webredirection.presentation.utils.APPLICATION_TYPE
|
||||
import com.naviapp.webredirection.presentation.utils.CODE_VERIFIER
|
||||
import com.naviapp.webredirection.presentation.utils.DELAY_IN_MS
|
||||
import com.naviapp.webredirection.presentation.utils.RANDOM_STRING_LENGTH
|
||||
@@ -49,7 +51,7 @@ import com.naviapp.webredirection.presentation.utils.WEB_REDIRECTION_SUBTITLE
|
||||
import com.naviapp.webredirection.presentation.utils.WEB_REDIRECTION_TITLE
|
||||
import com.naviapp.webredirection.presentation.utils.calculateRedirectDelayForSmsUpload
|
||||
import com.naviapp.webredirection.presentation.utils.isFirstLaunchIn24Hours
|
||||
import com.naviapp.webredirection.presentation.utils.updateFirstLaunchTimestampIfNeeded
|
||||
import com.naviapp.webredirection.presentation.utils.setFirstLaunchTimestamp
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import javax.inject.Inject
|
||||
@@ -134,9 +136,13 @@ constructor(
|
||||
)
|
||||
analyticsTracker.webRedirectionEvent(
|
||||
eventName = WEB_REDIRECTION_FIRST_LAUNCH,
|
||||
eventValues = mapOf(DELAY_IN_MS to webRedirectionDelay.toString()),
|
||||
eventValues =
|
||||
mapOf(
|
||||
DELAY_IN_MS to webRedirectionDelay.toString(),
|
||||
VERTICAL_TYPE to getValueFromMap(APPLICATION_TYPE).orEmpty(),
|
||||
),
|
||||
)
|
||||
updateFirstLaunchTimestampIfNeeded()
|
||||
setFirstLaunchTimestamp(System.currentTimeMillis())
|
||||
} else {
|
||||
webRedirectionDelay =
|
||||
calculateRedirectDelayForSmsUpload(
|
||||
@@ -145,7 +151,11 @@ constructor(
|
||||
)
|
||||
analyticsTracker.webRedirectionEvent(
|
||||
eventName = WEB_REDIRECTION_SUBSEQUENT_LAUNCH,
|
||||
eventValues = mapOf(DELAY_IN_MS to webRedirectionDelay.toString()),
|
||||
eventValues =
|
||||
mapOf(
|
||||
DELAY_IN_MS to webRedirectionDelay.toString(),
|
||||
VERTICAL_TYPE to getValueFromMap(APPLICATION_TYPE).orEmpty(),
|
||||
),
|
||||
)
|
||||
}
|
||||
delay(webRedirectionDelay)
|
||||
|
||||
Reference in New Issue
Block a user