From 397b34cd48773c7a1eeb9f69a50ba7d5be6d34da Mon Sep 17 00:00:00 2001 From: Prakhar Saxena Date: Tue, 5 Sep 2023 21:56:45 +0530 Subject: [PATCH] TP-36163 | PS | fix no-order creation (#7735) --- .../com/navi/amc/common/activity/CheckerActivity.kt | 10 ++++++++-- .../java/com/navi/amc/common/fragment/OtpFragment.kt | 1 + .../com/navi/amc/common/viewmodel/PaymentSharedVM.kt | 3 ++- .../navi/common/ui/fragment/NewActionErrorFragment.kt | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/navi-amc/src/main/java/com/navi/amc/common/activity/CheckerActivity.kt b/navi-amc/src/main/java/com/navi/amc/common/activity/CheckerActivity.kt index e0d37e875a..05e090f4f7 100644 --- a/navi-amc/src/main/java/com/navi/amc/common/activity/CheckerActivity.kt +++ b/navi-amc/src/main/java/com/navi/amc/common/activity/CheckerActivity.kt @@ -217,8 +217,10 @@ class CheckerActivity : BasePaymentActivity() { } override fun onBackPressed() { - apiPollScheduler?.stopApiPoll() - super.onBackPressed() + if(isBackAllowed()) { + apiPollScheduler?.stopApiPoll() + super.onBackPressed() + } } private fun apiPollInit( @@ -579,6 +581,10 @@ class CheckerActivity : BasePaymentActivity() { return type == PENNY_DROP && actionData?.url.equals(REDIRECT_CTA) } + private fun isBackAllowed(): Boolean { + return (type != PAYMENT_CALLBACK && type != PAYMENT_CALLBACK_SYNC) + } + override fun getPaymentProcessingEventName() = if (type == PAYMENT_INIT || type == PAYMENT_CALLBACK diff --git a/navi-amc/src/main/java/com/navi/amc/common/fragment/OtpFragment.kt b/navi-amc/src/main/java/com/navi/amc/common/fragment/OtpFragment.kt index a2db6414ad..6a13bae73e 100644 --- a/navi-amc/src/main/java/com/navi/amc/common/fragment/OtpFragment.kt +++ b/navi-amc/src/main/java/com/navi/amc/common/fragment/OtpFragment.kt @@ -276,6 +276,7 @@ class OtpFragment : AmcBaseFragment(), View.OnClickListener { putString(PaymentAnalytics.SYNC, PaymentAnalytics.TRUE) putString(PaymentAnalytics.PROVIDER, it.provider) } + popThisFromBackStack() fragmentInterchangeListener?.navigateToNextScreen(ActionData(url = url), bundle) } } diff --git a/navi-amc/src/main/java/com/navi/amc/common/viewmodel/PaymentSharedVM.kt b/navi-amc/src/main/java/com/navi/amc/common/viewmodel/PaymentSharedVM.kt index 7f53eba3d0..37e3ab53c3 100644 --- a/navi-amc/src/main/java/com/navi/amc/common/viewmodel/PaymentSharedVM.kt +++ b/navi-amc/src/main/java/com/navi/amc/common/viewmodel/PaymentSharedVM.kt @@ -8,6 +8,7 @@ package com.navi.amc.common.viewmodel import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData +import com.navi.common.utils.SingleLiveEvent import com.navi.common.viewmodel.BaseVM import com.navi.payment.model.PostPaymentData import dagger.hilt.android.lifecycle.HiltViewModel @@ -16,7 +17,7 @@ import javax.inject.Inject @HiltViewModel class PaymentSharedVM @Inject constructor() : BaseVM() { - private val _postPaymentStatus = MutableLiveData() + private val _postPaymentStatus = SingleLiveEvent() val postPaymentStatus: LiveData get() = _postPaymentStatus diff --git a/navi-common/src/main/java/com/navi/common/ui/fragment/NewActionErrorFragment.kt b/navi-common/src/main/java/com/navi/common/ui/fragment/NewActionErrorFragment.kt index de514a2bd4..4fd1897bc9 100644 --- a/navi-common/src/main/java/com/navi/common/ui/fragment/NewActionErrorFragment.kt +++ b/navi-common/src/main/java/com/navi/common/ui/fragment/NewActionErrorFragment.kt @@ -134,7 +134,7 @@ class NewActionErrorFragment : BaseBottomSheet() { error?.actions?.getOrNull(1)?.url?.let{ buttonListener?.invoke(it) } ?: run { - openErrorCta(error?.actions?.firstOrNull()) + openErrorCta(error?.actions?.getOrNull(1)) } } dismissDialog()