NTP-4194 | Collect request auto decline fix (#12722)

This commit is contained in:
Aditya Narayan Malik
2024-09-24 20:40:39 +05:30
committed by GitHub
parent e03f1a87b7
commit b091e89226
3 changed files with 18 additions and 23 deletions

View File

@@ -51,7 +51,6 @@ import com.navi.design.theme.getFontWeight
import com.navi.design.theme.ttComposeFontFamily
import com.navi.naviwidgets.extensions.NaviText
import com.navi.pay.R
import com.navi.pay.analytics.NaviPayAnalytics
import com.navi.pay.common.model.view.ShakeConfig
import com.navi.pay.common.theme.color.NaviPayColor
import com.navi.pay.common.ui.NaviPayHeader
@@ -63,7 +62,6 @@ import com.navi.pay.management.common.model.view.WarningErrorInfoState
import com.navi.pay.management.common.sendmoney.model.view.BlockAndSpamCtaData
import com.navi.pay.management.common.sendmoney.model.view.SendMoneyScreenSource
import com.navi.pay.management.common.sendmoney.model.view.UpiTransactionType
import com.navi.pay.management.common.sendmoney.util.SendMoneyBottomSheetType
import com.navi.pay.management.common.sendmoney.viewmodel.SendMoneyViewModelV2
import com.navi.pay.onboarding.account.add.model.view.AccountType
import com.navi.pay.utils.AMOUNT_MAX_LENGTH
@@ -79,7 +77,6 @@ fun MainScreenV2(
modifier: Modifier = Modifier,
onNavigationIconClick: () -> Unit,
sendMoneyViewModel: SendMoneyViewModelV2,
naviPayAnalytics: NaviPayAnalytics.NaviPaySendMoney,
onPayButtonClick: (String) -> Unit,
onMoreAccountsClick: () -> Unit,
onBlockAndSpamOptionClick: () -> Unit,
@@ -88,7 +85,6 @@ fun MainScreenV2(
transactionType: UpiTransactionType,
onPayeeLevelTransactionHistoryCtaClicked: () -> Unit,
vpaToDisplay: String,
naviPaySessionAttributes: Map<String, String>,
onAddAccountClicked: () -> Unit,
bottomSheetState: SheetState,
) {
@@ -135,21 +131,6 @@ fun MainScreenV2(
}
}
val onCollectRequestDeclineClicked = {
naviPayAnalytics.onDeclineClick(naviPaySessionAttributes = naviPaySessionAttributes)
sendMoneyViewModel.updateBottomSheetUIState(
bottomSheetUIState =
SendMoneyBottomSheetType.Confirmation(
title = context.getString(R.string.decline_this_request),
firstBtnTextResId = R.string.cancel,
secondButtonTextResId = R.string.yes_decline,
onFirstBtnClick = sendMoneyViewModel::updateTriggerDismissBottomSheet,
onSecondBtnClick = sendMoneyViewModel::declineCollectRequest
),
showBottomSheet = true
)
}
LaunchedEffect(Unit) {
sendMoneyViewModel.triggerErrorVibrationAndShakeAnimation.collect {
amountFieldShakeController.shake(
@@ -309,7 +290,8 @@ fun MainScreenV2(
isFTUENudgeAvailable = isFtueNudgeAvailable,
bottomSheetState = bottomSheetState,
onCollectRequestApproveClicked = sendMoneyViewModel::approveCollectRequest,
onCollectRequestDeclineClicked = onCollectRequestDeclineClicked,
onCollectRequestDeclineClicked =
sendMoneyViewModel::onDeclineCollectRequestButtonClicked,
autoDismissFTUENudgeAfterDelay = sendMoneyViewModel::autoDismissFtueNudgeAfterDelay,
dismissFTUENudge = { sendMoneyViewModel.updateFtueNudgeVisibility(false) },
isSourceCollectRequest =

View File

@@ -606,7 +606,6 @@ private fun SendMoneyUIContent(
modifier = Modifier.weight(1f),
onNavigationIconClick = onBackClick,
sendMoneyViewModel = sendMoneyViewModel,
naviPayAnalytics = naviPayAnalytics,
onPayButtonClick = onPayButtonClick,
onMoreAccountsClick = onMoreAccountsClick,
onBlockAndSpamOptionClick = onBlockAndSpamOptionClick,
@@ -616,7 +615,6 @@ private fun SendMoneyUIContent(
onPayeeLevelTransactionHistoryCtaClicked =
onPayeeLevelTransactionHistoryCtaClicked,
vpaToDisplay = vpaToDisplay,
naviPaySessionAttributes = sendMoneyViewModel.getNaviPaySessionAttributes(),
onAddAccountClicked = onAddAccountClicked,
bottomSheetState = bottomSheetState
)

View File

@@ -541,11 +541,26 @@ constructor(
// Auto trigger decline for Collect Request
if (source.autoTriggerSendMoneyAction == SendMoneyAction.Decline) {
declineCollectRequest()
onDeclineCollectRequestButtonClicked()
}
}
}
fun onDeclineCollectRequestButtonClicked() {
naviPayAnalytics.onDeclineClick(naviPaySessionAttributes = getNaviPaySessionAttributes())
updateBottomSheetUIState(
bottomSheetUIState =
SendMoneyBottomSheetType.Confirmation(
title = resourceProvider.getString(R.string.decline_this_request),
firstBtnTextResId = R.string.cancel,
secondButtonTextResId = R.string.yes_decline,
onFirstBtnClick = ::updateTriggerDismissBottomSheet,
onSecondBtnClick = ::declineCollectRequest
),
showBottomSheet = true
)
}
private fun checkFtueNudgeVisibility() {
viewModelScope.launch(Dispatchers.IO) {
val ftueNudgeCounter =