NTP-52145 | loader added on sim selection bottomsheet. (#15589)

This commit is contained in:
Hardik Chaudhary
2025-04-02 14:33:32 +05:30
committed by GitHub
parent 1854450ceb
commit 08d6d901ca
3 changed files with 12 additions and 17 deletions

View File

@@ -67,8 +67,8 @@ fun SimSelectionContent(
)
}
val isSmvEligibilityCheckOngoing by
naviPayOnboardingViewModel.isSmvEligibilityCheckOngoing.collectAsStateWithLifecycle()
val showButtonLoader by
naviPayOnboardingViewModel.showButtonLoader.collectAsStateWithLifecycle()
Column(
modifier =
@@ -156,9 +156,9 @@ fun SimSelectionContent(
LoaderRoundedButton(
modifier = Modifier.fillMaxWidth(),
text = stringResource(id = R.string.verify),
enabled = !isSmvEligibilityCheckOngoing,
enabled = !showButtonLoader,
lottieFileName = NAVI_PAY_PRIMARY_CTA_LOADER_LOTTIE,
showLoader = isSmvEligibilityCheckOngoing,
showLoader = showButtonLoader,
) {
if (currentSimInfoList.size == 1) {
naviPayAnalytics.onSingleSimConfirmationClick(

View File

@@ -50,8 +50,6 @@ fun SingleSimConfirmationBottomSheetContent(
"$INDIA_COUNTRY_CODE_WITH_PLUS ${naviPayOnboardingViewModel.userPhoneNumber}"
}
val isSmvEligibilityCheckOngoing by
naviPayOnboardingViewModel.isSmvEligibilityCheckOngoing.collectAsStateWithLifecycle()
val showButtonLoader by
naviPayOnboardingViewModel.showButtonLoader.collectAsStateWithLifecycle()
@@ -101,9 +99,9 @@ fun SingleSimConfirmationBottomSheetContent(
LoaderRoundedButton(
modifier = Modifier.fillMaxWidth(),
text = stringResource(id = R.string.verify),
enabled = !isSmvEligibilityCheckOngoing && !showButtonLoader,
enabled = !showButtonLoader,
lottieFileName = NAVI_PAY_PRIMARY_CTA_LOADER_LOTTIE,
showLoader = isSmvEligibilityCheckOngoing || showButtonLoader,
showLoader = showButtonLoader,
onClick = {
val selectedSim = currentSimInfoList[0]
naviPayAnalytics.onSingleSimConfirmationClick(

View File

@@ -267,9 +267,6 @@ constructor(
private val _finishActivity = MutableSharedFlow<Unit>(replay = 1)
val finishActivity = _finishActivity.asSharedFlow()
private val _isSmvEligibilityCheckOngoing = MutableStateFlow(false)
val isSmvEligibilityCheckOngoing = _isSmvEligibilityCheckOngoing.asStateFlow()
private val _redirectToSetPinAndFinishActivity = MutableSharedFlow<String>(replay = 1)
val redirectToSetPinAndFinishActivity = _redirectToSetPinAndFinishActivity.asSharedFlow()
@@ -1963,7 +1960,7 @@ constructor(
// TODO: To be removed for SMV go live
return SmvEligibilityStatus(isEligible = false, isSmsPermissionEnabled = true)
_isSmvEligibilityCheckOngoing.update { true }
updateShowButtonLoader(true)
val smvLitmusExperimentResponse =
litmusExperimentsUseCase.execute(experimentName = LITMUS_EXPERIMENT_NAVIPAY_SMV_BINDING)
@@ -1983,7 +1980,7 @@ constructor(
if (!isSmvExperimentEnabled) {
naviPayAnalytics.onSmvExperimentDisabled()
_isSmvEligibilityCheckOngoing.update { false }
updateShowButtonLoader(false)
return SmvEligibilityStatus(
isEligible = false,
isSmsPermissionEnabled = isSmsPermissionEnabled,
@@ -2000,7 +1997,7 @@ constructor(
NaviPayCommonUtils.displayableCarrierName(actualCarrierName = provider.name),
smvSupportedProviders = naviPayOnboardingConfig.config.smvSupportedProviders,
)
_isSmvEligibilityCheckOngoing.update { false }
updateShowButtonLoader(false)
return SmvEligibilityStatus(
isEligible = false,
isSmsPermissionEnabled = isSmsPermissionEnabled,
@@ -2015,7 +2012,7 @@ constructor(
if (isSmvTriggeredPreviously) {
naviPayAnalytics.onSmvPreviouslyTriggered()
_isSmvEligibilityCheckOngoing.update { false }
updateShowButtonLoader(false)
return SmvEligibilityStatus(
isEligible = false,
isSmsPermissionEnabled = isSmsPermissionEnabled,
@@ -2030,7 +2027,7 @@ constructor(
selectedSimId = provider.ssid,
defaultDataSimId = defaultDataSubscriptionId.toString(),
)
_isSmvEligibilityCheckOngoing.update { false }
updateShowButtonLoader(false)
return SmvEligibilityStatus(
isEligible = false,
isSmsPermissionEnabled = isSmsPermissionEnabled,
@@ -2041,7 +2038,7 @@ constructor(
val routeNetworkViaCellularResult = checkAndRouteNetworkViaCellular()
naviPayAnalytics.onRouteNetworkViaCellularResult(result = routeNetworkViaCellularResult)
_isSmvEligibilityCheckOngoing.update { false }
updateShowButtonLoader(false)
return SmvEligibilityStatus(
isEligible = routeNetworkViaCellularResult,
isSmsPermissionEnabled = isSmsPermissionEnabled,