From 42396077953ebf76941ed667a3187d0bd4d58a8a Mon Sep 17 00:00:00 2001 From: Shiv Natani Date: Thu, 24 Oct 2024 18:20:49 +0530 Subject: [PATCH] NTP-8455 | Shiv Natani | Nps-Bug-Fix (#13338) --- .../common/sendmoney/viewmodel/SendMoneyViewModel.kt | 2 ++ .../nativepayment/components/UpiIntentAppsSection.kt | 7 +++++++ .../navi/payment/nativepayment/screens/UpiIntentScreen.kt | 7 +++++++ 3 files changed, 16 insertions(+) diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/sendmoney/viewmodel/SendMoneyViewModel.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/sendmoney/viewmodel/SendMoneyViewModel.kt index 74495a658a..30af83177f 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/sendmoney/viewmodel/SendMoneyViewModel.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/sendmoney/viewmodel/SendMoneyViewModel.kt @@ -1775,6 +1775,8 @@ constructor( viewModelScope.launch(coroutineDispatcherProvider.io) { linkedAccountsUseCase.execute(includeAllDetails = true).collect { linkedAccounts -> handleLinkedAccounts(payeeEntity = payeeEntity, linkedAccounts = linkedAccounts) + // TODO: Move activity intent data to VM & then this entire function to VM init + checkIfAutoExecutePaymentForPMSCase(isActivityRecreated = isActivityRecreated) } } } diff --git a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/components/UpiIntentAppsSection.kt b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/components/UpiIntentAppsSection.kt index 005f2517e5..b96697c96a 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/components/UpiIntentAppsSection.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/components/UpiIntentAppsSection.kt @@ -32,7 +32,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.shadow import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalSoftwareKeyboardController +import androidx.compose.ui.platform.LocalView import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.navi.base.utils.isNotNullAndNotEmpty @@ -44,6 +46,7 @@ import com.navi.pay.common.theme.color.NaviPayColor import com.navi.pay.common.ui.ImageWithCircularBackground import com.navi.pay.common.ui.NaviPayDottedRadioButton import com.navi.pay.utils.clickableDebounce +import com.navi.pay.utils.customHide import com.navi.payment.R import com.navi.payment.nativepayment.common.theme.NaviPmsColor import com.navi.payment.nativepayment.model.UpiIntentAppDetails @@ -66,11 +69,15 @@ fun UpiIntentAppsSection( val keyboardController = LocalSoftwareKeyboardController.current val scrollHeightOnKeyboardOpen = 300.dp.toPx() val isKeyboardVisible = WindowInsets.isImeVisible + val context = LocalContext.current + val view = LocalView.current LaunchedEffect(collectOptionState.isUpiCollectSelected) { if (collectOptionState.isUpiCollectSelected) { focusRequester.requestFocus() keyboardController?.show() + } else { + keyboardController.customHide(context = context, view = view) } } diff --git a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/UpiIntentScreen.kt b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/UpiIntentScreen.kt index 274286446b..a70cd39cf5 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/UpiIntentScreen.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/UpiIntentScreen.kt @@ -10,6 +10,7 @@ package com.navi.payment.nativepayment.screens import android.app.Activity import android.content.Intent import android.net.Uri +import androidx.activity.compose.BackHandler import androidx.activity.compose.ManagedActivityResultLauncher import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.ActivityResult @@ -139,6 +140,12 @@ fun UpiIntentScreenRoot( onEvent = upiIntentViewModel::onEvent, isKeyboardVisible = isKeyboardVisible ) + + BackHandler { + upiIntentViewModel.onEvent( + NPSBaseContract.Event.OnBackPress(isKeyboardVisible = isKeyboardVisible) + ) + } } @Composable