NTP-2285 | UAT fixes (#13018)

This commit is contained in:
shreyansu raj
2024-10-10 20:33:49 +05:30
committed by GitHub
parent e850f11f78
commit 977515be75
2 changed files with 82 additions and 61 deletions

View File

@@ -17,6 +17,7 @@ import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
@@ -24,11 +25,14 @@ import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.ModalBottomSheetState
import androidx.compose.material.ModalBottomSheetValue
import androidx.compose.material.rememberModalBottomSheetState
import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.LaunchedEffect
@@ -69,7 +73,6 @@ import com.navi.design.font.FontWeightEnum
import com.navi.design.theme.getFontWeight
import com.navi.design.theme.ttComposeFontFamily
import com.navi.naviwidgets.extensions.NaviText
import com.navi.naviwidgets.extensions.debounceClickable
import com.navi.pay.R
import com.navi.pay.analytics.NaviPayAnalytics
import com.navi.pay.analytics.NaviPayAnalytics.Companion.NAVI_PAY_CHECK_BALANCE_SCREEN
@@ -316,6 +319,7 @@ private fun RenderLinkedAccountBalanceScreen(
) {
val context = LocalContext.current as Activity
val scrollState = rememberScrollState()
NaviPayModalBottomSheetLayout(
sheetState = bottomSheetState,
sheetContent = {
@@ -329,62 +333,78 @@ private fun RenderLinkedAccountBalanceScreen(
)
}
) {
Column(modifier = Modifier.fillMaxWidth()) {
NaviPayHeader(
title = stringResource(id = getHeaderTitle(linkedAccountEntity.accountType)),
onNavigationIconClick = { navigator.navigateUp() },
modifier = Modifier,
actionIconText = helpCtaText,
onActionClick = onHelpClicked,
backgroundColor = NaviPayColor.bgNonEditable
)
Scaffold(
topBar = {
NaviPayHeader(
title = stringResource(id = getHeaderTitle(linkedAccountEntity.accountType)),
onNavigationIconClick = { navigator.navigateUp() },
modifier = Modifier,
actionIconText = helpCtaText,
onActionClick = onHelpClicked,
backgroundColor = NaviPayColor.bgNonEditable
)
},
content = { padding ->
Column(
modifier =
Modifier.background(color = NaviPayColor.bgDefault)
.fillMaxSize()
.verticalScroll(scrollState)
.padding(padding)
) {
AccountBalanceDetailHeader(
linkedAccountEntity = linkedAccountEntity,
onRefreshIconClicked = onRefreshIconClicked,
showRefreshLoader = showRefreshLoader,
currentBalance = currentBalance,
outstandingBalance = outstandingBalance,
showShimmer = showShimmer,
hideBalance = hideBalance
)
AccountBalanceDetailHeader(
linkedAccountEntity = linkedAccountEntity,
onRefreshIconClicked = onRefreshIconClicked,
showRefreshLoader = showRefreshLoader,
currentBalance = currentBalance,
outstandingBalance = outstandingBalance,
showShimmer = showShimmer,
hideBalance = hideBalance
)
TransactionEntryPointCard(
transactionEntrypointData = transactionEntrypointData,
accountType = linkedAccountEntity.accountType,
redirectOnClick = redirectOnClick
)
TransactionEntryPointCard(
transactionEntrypointData = transactionEntrypointData,
accountType = linkedAccountEntity.accountType,
redirectOnClick = redirectOnClick
)
Spacer(modifier = Modifier.height(32.dp))
Spacer(modifier = Modifier.height(32.dp))
AdverseViewRoot(
modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp),
activity = context,
realEstateId =
FirebaseRemoteConfigHelper.getString(
NAVI_CHECK_BALANCE_CROSS_SELL_AD_RE_ID
),
timeoutInMillis =
FirebaseRemoteConfigHelper.getLong(
NAVI_CHECK_BALANCE_CROSS_SELL_AD_FALLBACK_TIMEOUT
),
loadingView = { CrossSellLoadingShimmer(it) }
)
AdverseViewRoot(
modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp),
activity = context,
realEstateId =
FirebaseRemoteConfigHelper.getString(NAVI_CHECK_BALANCE_CROSS_SELL_AD_RE_ID),
timeoutInMillis =
FirebaseRemoteConfigHelper.getLong(
NAVI_CHECK_BALANCE_CROSS_SELL_AD_FALLBACK_TIMEOUT
),
loadingView = { CrossSellLoadingShimmer(it) }
)
Spacer(modifier = Modifier.weight(1f))
when (linkedAccountEntity.accountType) {
AccountType.CREDIT.name -> {
NaviPayCreditCardSponsorView(modifier = Modifier.fillMaxWidth())
Spacer(modifier = Modifier.height(48.dp))
}
AccountType.UPICREDIT.name -> {
NaviPayCreditLineSponsorView(modifier = Modifier.fillMaxWidth())
}
else -> {
NaviPaySponsorView(modifier = Modifier.fillMaxWidth())
},
bottomBar = {
Column(modifier = Modifier.background(NaviPayColor.ctaWhite)) {
Spacer(modifier = Modifier.height(16.dp))
when (linkedAccountEntity.accountType) {
AccountType.CREDIT.name -> {
NaviPayCreditCardSponsorView(modifier = Modifier.fillMaxWidth())
}
AccountType.UPICREDIT.name -> {
NaviPayCreditLineSponsorView(modifier = Modifier.fillMaxWidth())
}
else -> {
NaviPaySponsorView(modifier = Modifier.fillMaxWidth())
}
}
Spacer(modifier = Modifier.height(32.dp))
}
}
Spacer(modifier = Modifier.height(40.dp))
}
)
}
}
@@ -748,7 +768,7 @@ fun CreditDetailsHeaderUI(
verticalAlignment = Alignment.CenterVertically,
) {
if (showShimmer) {
Box(modifier = Modifier.height(24.dp).width(144.dp).shimmerEffect())
Box(modifier = Modifier.height(20.dp).width(144.dp).shimmerEffect())
} else {
NaviText(
modifier = Modifier.weight(1f, false),
@@ -795,7 +815,7 @@ fun TransactionEntryPointCard(
val account = remember { AccountType.getAccountType(accountType).name }
Box(modifier = Modifier.fillMaxWidth().background(NaviPayColor.bgNonEditable)) {
Row(
horizontalArrangement = Arrangement.spacedBy(16.dp, Alignment.CenterHorizontally),
horizontalArrangement = Arrangement.SpaceEvenly,
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp, vertical = 24.dp)
) {
@@ -805,7 +825,7 @@ fun TransactionEntryPointCard(
horizontalAlignment = Alignment.CenterHorizontally,
modifier =
Modifier.wrapContentSize()
.debounceClickable(
.clickableDebounce(
onClick = { redirectOnClick.invoke(itemData.ctaData) }
)
) {
@@ -814,7 +834,7 @@ fun TransactionEntryPointCard(
backgroundColor = NaviPayColor.bgAlt,
fallbackIconUrl = CommonR.drawable.ic_upi_bbps_default_bank_logo,
boxSize = 64.dp,
imageSize = 36.dp,
imageSize = 32.dp,
borderWidth = 1.dp,
borderColor = NaviPayColor.borderDefault
)
@@ -827,7 +847,9 @@ fun TransactionEntryPointCard(
fontFamily = ttComposeFontFamily,
maxLines = 2,
fontWeight = getFontWeight(FontWeightEnum.NAVI_HEADLINE_REGULAR),
textAlign = TextAlign.Center
textAlign = TextAlign.Center,
modifier = Modifier.width(70.dp),
overflow = TextOverflow.Ellipsis
)
}
}
@@ -891,7 +913,7 @@ private fun AvailableBalanceView(
if (showRefreshLoader) {
NaviPayLottieAnimation(
lottieFileName = NAVI_PAY_PURPLE_CTA_LOADER_LOTTIE,
modifier = Modifier
modifier = Modifier.size(20.dp)
)
} else {
Image(
@@ -936,14 +958,14 @@ private fun HideBalanceView(
if (showRefreshLoader) {
NaviPayLottieAnimation(
lottieFileName = NAVI_PAY_PURPLE_CTA_LOADER_LOTTIE,
modifier = Modifier
modifier = Modifier.size(20.dp)
)
} else {
NaviText(
text = stringResource(R.string.check_balance),
fontSize = 14.sp,
fontFamily = ttComposeFontFamily,
color = NaviPayColor.textPrimary,
color = NaviPayColor.ctaPrimary,
fontWeight = getFontWeight(FontWeightEnum.NAVI_HEADLINE_REGULAR),
textDecoration = TextDecoration.Underline,
modifier = Modifier.clickableDebounce { onCheckBalanceClicked() }

View File

@@ -1494,10 +1494,9 @@ constructor(
)
}
@OptIn(DelicateCoroutinesApi::class)
private fun syncLiteAccountInfo() {
viewModelScope.safeLaunch(coroutineDispatcherProvider.io) {
liteAccountSyncUseCase.execute()
}
GlobalScope.safeLaunch(coroutineDispatcherProvider.io) { liteAccountSyncUseCase.execute() }
}
fun updateCdsPermissionStatus() {