diff --git a/android/app/src/main/java/com/naviapp/webredirection/presentation/activity/WebRedirectionActivity.kt b/android/app/src/main/java/com/naviapp/webredirection/presentation/activity/WebRedirectionActivity.kt index c9650d81e4..88e1af5155 100644 --- a/android/app/src/main/java/com/naviapp/webredirection/presentation/activity/WebRedirectionActivity.kt +++ b/android/app/src/main/java/com/naviapp/webredirection/presentation/activity/WebRedirectionActivity.kt @@ -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() { diff --git a/android/app/src/main/java/com/naviapp/webredirection/presentation/composables/WebRedirectionScreen.kt b/android/app/src/main/java/com/naviapp/webredirection/presentation/composables/WebRedirectionScreen.kt index 37d62481c4..a680fd1162 100644 --- a/android/app/src/main/java/com/naviapp/webredirection/presentation/composables/WebRedirectionScreen.kt +++ b/android/app/src/main/java/com/naviapp/webredirection/presentation/composables/WebRedirectionScreen.kt @@ -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, 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 ef390319c5..39e54bc32e 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 @@ -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" 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 24d33c19ad..b85f3ccc8b 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 @@ -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(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 {