TP-84642 | Web redirection compliance changes (#12656)

This commit is contained in:
shreyansu raj
2024-09-20 15:34:05 +05:30
committed by GitHub
parent 557e0b8d55
commit dc79b0a75d
4 changed files with 46 additions and 2 deletions

View File

@@ -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() {

View File

@@ -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,

View File

@@ -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"

View File

@@ -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 {