diff --git a/android/app/src/main/java/com/naviapp/webredirection/presentation/utils/Constants.kt b/android/app/src/main/java/com/naviapp/webredirection/presentation/utils/Constants.kt index 3098eedb73..65dc6762e7 100644 --- a/android/app/src/main/java/com/naviapp/webredirection/presentation/utils/Constants.kt +++ b/android/app/src/main/java/com/naviapp/webredirection/presentation/utils/Constants.kt @@ -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" diff --git a/android/app/src/main/java/com/naviapp/webredirection/presentation/utils/Utils.kt b/android/app/src/main/java/com/naviapp/webredirection/presentation/utils/Utils.kt index f7f3e46d74..7bfa3dce85 100644 --- a/android/app/src/main/java/com/naviapp/webredirection/presentation/utils/Utils.kt +++ b/android/app/src/main/java/com/naviapp/webredirection/presentation/utils/Utils.kt @@ -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) } } diff --git a/android/app/src/main/java/com/naviapp/webredirection/presentation/viewModel/WebRedirectionVM.kt b/android/app/src/main/java/com/naviapp/webredirection/presentation/viewModel/WebRedirectionVM.kt index 1cc73a1beb..5224295dcf 100644 --- a/android/app/src/main/java/com/naviapp/webredirection/presentation/viewModel/WebRedirectionVM.kt +++ b/android/app/src/main/java/com/naviapp/webredirection/presentation/viewModel/WebRedirectionVM.kt @@ -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)