TP-84642 | Web redirection compliance changes (#12656)
This commit is contained in:
@@ -17,6 +17,7 @@ import androidx.compose.ui.platform.LocalLifecycleOwner
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import com.navi.analytics.utils.NaviTrackEvent
|
||||
import com.navi.ap.utils.constants.PL
|
||||
import com.navi.base.model.CtaData
|
||||
import com.navi.base.utils.orFalse
|
||||
import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper
|
||||
@@ -48,6 +49,7 @@ import com.naviapp.personalloanrevamp.getloanRevamp.repository.NaviWebViewCallBa
|
||||
import com.naviapp.utils.Constants.PL_WEB_URL_HOST_NAME
|
||||
import com.naviapp.webredirection.presentation.composables.WebRedirectionLoadingScreen
|
||||
import com.naviapp.webredirection.presentation.utils.APPLICATION_TYPE
|
||||
import com.naviapp.webredirection.presentation.utils.BUSINESS_UNIT
|
||||
import com.naviapp.webredirection.presentation.utils.DATA_PROCESSED
|
||||
import com.naviapp.webredirection.presentation.utils.PlJourneyType
|
||||
import com.naviapp.webredirection.presentation.utils.TIME_TAKEN
|
||||
@@ -226,7 +228,12 @@ class WebRedirectionActivity : BaseActivity() {
|
||||
)
|
||||
}
|
||||
else -> {
|
||||
WebRedirectionLoadingScreen(title, subtitle, WEB_REDIRECTION_LOTTIE_URL)
|
||||
WebRedirectionLoadingScreen(
|
||||
title,
|
||||
subtitle,
|
||||
WEB_REDIRECTION_LOTTIE_URL,
|
||||
webRedirectionVM.showNaviFinservLogo()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -308,6 +315,7 @@ class WebRedirectionActivity : BaseActivity() {
|
||||
private fun setParametersFromBundle() {
|
||||
webRedirectionVM.setParameterMapFromBundleParameters(intent.extras)
|
||||
verticalType = webRedirectionVM.getValueFromMap(APPLICATION_TYPE)
|
||||
webRedirectionVM.setBusinessUnit(webRedirectionVM.getValueFromMap(BUSINESS_UNIT))
|
||||
}
|
||||
|
||||
private fun validateParametersForRedirection() {
|
||||
|
||||
@@ -26,10 +26,13 @@ import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.layout.ContentScale
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import coil.compose.AsyncImage
|
||||
import coil.request.ImageRequest
|
||||
import com.airbnb.lottie.compose.LottieAnimation
|
||||
import com.airbnb.lottie.compose.LottieCompositionSpec
|
||||
import com.airbnb.lottie.compose.animateLottieCompositionAsState
|
||||
@@ -40,18 +43,37 @@ import com.navi.design.theme.getFontWeight
|
||||
import com.navi.design.theme.ttComposeFontFamily
|
||||
import com.navi.naviwidgets.extensions.NaviText
|
||||
import com.naviapp.R
|
||||
import com.naviapp.webredirection.presentation.utils.NAVI_FINSERV_LOGO_URL
|
||||
import com.naviapp.webredirection.presentation.utils.WEB_REDIRECTION_LOTTIE_URL
|
||||
|
||||
@Composable
|
||||
fun WebRedirectionLoadingScreen(
|
||||
title: String = EMPTY,
|
||||
subtitle: String = EMPTY,
|
||||
lottieUrl: String = WEB_REDIRECTION_LOTTIE_URL
|
||||
lottieUrl: String = WEB_REDIRECTION_LOTTIE_URL,
|
||||
showNaviFinservLogo: Boolean = false
|
||||
) {
|
||||
Box(
|
||||
modifier = Modifier.fillMaxSize().background(color = Color.White),
|
||||
contentAlignment = Alignment.Center
|
||||
) {
|
||||
if (showNaviFinservLogo) {
|
||||
Box(
|
||||
modifier = Modifier.padding(top = 24.dp).align(Alignment.TopCenter),
|
||||
contentAlignment = Alignment.TopCenter
|
||||
) {
|
||||
AsyncImage(
|
||||
modifier = Modifier.height(16.dp).width(165.dp),
|
||||
model =
|
||||
ImageRequest.Builder(LocalContext.current)
|
||||
.data(NAVI_FINSERV_LOGO_URL)
|
||||
.allowHardware(false)
|
||||
.build(),
|
||||
contentDescription = null
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Column(
|
||||
modifier = Modifier.fillMaxSize(),
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
|
||||
@@ -9,6 +9,8 @@ package com.naviapp.webredirection.presentation.utils
|
||||
|
||||
const val WEB_REDIRECTION_LOTTIE_URL =
|
||||
"https://public-assets.np.navi-tech.in/sa/application-platform/lottie/app_to_web_redirection_lottie.json"
|
||||
const val NAVI_FINSERV_LOGO_URL =
|
||||
"https://public-assets.np.navi-tech.in/sa/application-platform/navi_finserv_icon_163x16.png"
|
||||
const val CODE_VERIFIER = "codeVerifier"
|
||||
const val TOKEN = "token"
|
||||
const val RANDOM_STRING_LENGTH = 32
|
||||
@@ -20,3 +22,4 @@ const val APPLICATION_TYPE = "applicationType"
|
||||
const val WEB_REDIRECTION_DELAY_IN_MILLIS = "webRedirectionDelayInMillis"
|
||||
const val TIME_TAKEN = "timeTaken"
|
||||
const val DATA_PROCESSED = "dataProcessed"
|
||||
const val BUSINESS_UNIT = "businessUnit"
|
||||
|
||||
@@ -11,6 +11,7 @@ import android.content.Context
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.navi.ap.utils.constants.PL
|
||||
import com.navi.base.model.CtaData
|
||||
import com.navi.base.model.LineItem
|
||||
import com.navi.base.utils.BaseUtils
|
||||
@@ -70,6 +71,8 @@ constructor(
|
||||
private val _webRedirectionData = MutableStateFlow<WebRedirectionData?>(null)
|
||||
val webRedirectionData = _webRedirectionData.asStateFlow()
|
||||
|
||||
private var businessUnit: String? = null
|
||||
|
||||
fun startRedirectionProcess() {
|
||||
viewModelScope.safeLaunch(Dispatchers.IO) {
|
||||
val codeVerifier = generateRandomString(RANDOM_STRING_LENGTH)
|
||||
@@ -172,6 +175,14 @@ constructor(
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun setBusinessUnit(businessUnit: String? = null) {
|
||||
this.businessUnit = businessUnit
|
||||
}
|
||||
|
||||
fun showNaviFinservLogo(): Boolean {
|
||||
return businessUnit == PL
|
||||
}
|
||||
}
|
||||
|
||||
sealed class UiState {
|
||||
|
||||
Reference in New Issue
Block a user