From 0f8da5db7d72fd00d5c9bb7a51fd4dbf4e73946d Mon Sep 17 00:00:00 2001 From: Shivam Goyal Date: Tue, 3 Dec 2024 18:16:45 +0530 Subject: [PATCH] NTP-17108 | GCloud Cost - Realtime DB - Remove Android Implementation (#13926) Co-authored-by: sanjaypanjawani --- android/app/src/main/baseline-prof.txt | 29 ----- .../custom_payments/CustomPaymentActivity.kt | 43 +------- .../dashboard/DashboardBaseActivity.kt | 13 +-- .../fragments/EMIDateChangeFragment.kt | 4 +- .../home/compose/activity/HomePageActivity.kt | 85 +++------------ .../payment/fragments/PaymentBaseFragment.kt | 100 +++--------------- .../naviapp/payment/viewmodel/PaymentVM.kt | 3 +- .../payment/views/TransactionHistoryView.kt | 4 +- .../PaymentBehaviourActivity.kt | 43 +------- .../activities/PermissionActivity.kt | 41 ++----- .../activities/PermissionV2Activity.kt | 45 ++------ .../registration/viewmodel/RegistrationVM.kt | 4 +- .../main/java/com/naviapp/utils/Constants.kt | 1 - android/gradle/libs.versions.toml | 1 - .../common/activity/BasePaymentActivity.kt | 21 ++-- .../amc/common/activity/CheckerActivity.kt | 23 ++-- .../common/fragment/OrderStatusFragment.kt | 7 +- .../fragment/PennyDropOptionsFragment.kt | 7 +- .../FundCategoryListingPrefetchingTask.kt | 13 +-- .../taskProcessor/FundLandingPrefetchTask.kt | 7 +- .../taskProcessor/FundListingPrefetchTask.kt | 7 +- .../taskProcessor/OrdersPrefetchTask.kt | 7 +- .../taskProcessor/PortfolioPrefetchTask.kt | 7 +- .../taskProcessor/SipListPrefetchTask.kt | 7 +- .../navi/amc/common/viewmodel/CheckerVM.kt | 4 +- .../common/viewmodel/OrderStatusViewModel.kt | 4 +- .../viewmodel/PennyDropOptionsViewModel.kt | 4 +- .../amc/fundbuy/activities/FundBuyActivity.kt | 9 +- .../com/navi/amc/kyc/activity/KycActivity.kt | 23 ++-- .../kyc/fragment/EmploymentDetailsFragment.kt | 9 +- .../navi/amc/kyc/fragment/KycEsignFragment.kt | 11 +- .../navi/amc/kyc/fragment/KycStartFragment.kt | 19 ++-- .../KycVerificationOptionsFragment.kt | 15 +-- .../kyc/fragment/PersonalDetailsFragment.kt | 9 +- .../com/navi/amc/kyc/viewmodel/SignatureVM.kt | 7 +- .../main/java/com/navi/amc/utils/Constant.kt | 26 ----- android/navi-analytics/build.gradle | 1 - .../java/com/navi/base/utils/Constants.kt | 3 + .../common/firebasedb/FirebaseConstants.kt | 17 --- .../common/firebasedb/FirebaseDataHelper.kt | 62 ----------- .../firebasedb/FirebaseDataReceiveListener.kt | 13 --- .../firebasedb/FirebaseDataReceiveManager.kt | 66 ------------ .../common/firebasedb/FirebaseDatabaseUtil.kt | 27 ----- .../firebasedb/FirebaseReceiveDataHandler.kt | 31 ------ .../common/firebasedb/FirebaseResponse.kt | 20 ---- .../common/firebasedb/FirebaseStatusType.kt | 23 ---- .../common/model/UploadDataAsyncResponse.kt | 2 - .../navi/common/ui/activity/BaseActivity.kt | 19 +--- .../navi/common/ui/fragment/BaseFragment.kt | 27 ++--- .../utils/UploadDataPollingUtil.kt | 12 +-- .../com/navi/cycs/entry/CycsMainViewModel.kt | 2 +- .../navi/gold/model/GoldSellOrderResponse.kt | 1 - .../com/navi/gold/ui/BasePaymentActivity.kt | 7 +- .../java/com/navi/gold/ui/CheckerActivity.kt | 7 +- .../navi/gold/ui/DigitalGoldBuyFragment.kt | 78 ++------------ .../navi/gold/ui/DigitalGoldHomeActivity.kt | 83 +++------------ .../navi/gold/ui/DigitalGoldSellActivity.kt | 53 +--------- .../navi/gold/ui/DigitalGoldSipActivity.kt | 2 +- .../main/java/com/navi/gold/util/Constants.kt | 1 + .../insurance/health/fragment/HomeFragment.kt | 70 +++++++++++- .../kyc/ui/GiAadhaarVerificationFragment.kt | 9 +- .../response/PennyDropStatusResponse.kt | 1 - .../common/PaymentExternalSdkManager.kt | 11 +- .../screens/TransactionPollingScreen.kt | 7 +- .../screens/WebPaymentMainScreen.kt | 11 +- .../nativepayment/utils/PaymentUtils.kt | 4 +- .../viewmodel/TransactionPollingViewModel.kt | 7 +- .../ui/NaviPaymentScreenActivity.kt | 7 +- .../paymentscreen/ui/PaymentLoaderFragment.kt | 6 +- .../turbocheckout/ui/TurboCheckoutFragment.kt | 12 ++- .../java/com/navi/payment/utils/Constants.kt | 2 + .../main/java/com/navi/payment/utils/Ext.kt | 9 +- .../ui/lending/LEPaymentHandlerActivity.kt | 88 ++++----------- .../com/navi/naviwidgets/utils/Constants.kt | 3 - .../widgets/AppPermissionItemWidgetLayout.kt | 6 +- .../ui/LabeledTextInputWidgetV2.kt | 6 +- 76 files changed, 373 insertions(+), 1105 deletions(-) delete mode 100644 android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseConstants.kt delete mode 100644 android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseDataHelper.kt delete mode 100644 android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseDataReceiveListener.kt delete mode 100644 android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseDataReceiveManager.kt delete mode 100644 android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseDatabaseUtil.kt delete mode 100644 android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseReceiveDataHandler.kt delete mode 100644 android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseResponse.kt delete mode 100644 android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseStatusType.kt diff --git a/android/app/src/main/baseline-prof.txt b/android/app/src/main/baseline-prof.txt index bd3dc45b50..57df3deb3d 100644 --- a/android/app/src/main/baseline-prof.txt +++ b/android/app/src/main/baseline-prof.txt @@ -53421,35 +53421,6 @@ PLcom/navi/common/di/d;->b()Lkotlinx/coroutines/h0; Lcom/navi/common/extensions/a; PLcom/navi/common/extensions/a;->a(Landroidx/compose/ui/j;ZLkotlin/jvm/functions/Function1;)Landroidx/compose/ui/j; SPLcom/navi/common/extensions/a;->c(Ljava/lang/String;ILjava/lang/Integer;)Ljava/lang/String; -Lcom/navi/common/firebasedb/FirebaseResponse; -SPLcom/navi/common/firebasedb/FirebaseResponse;->()V -SPLcom/navi/common/firebasedb/FirebaseResponse;->()V -SPLcom/navi/common/firebasedb/FirebaseResponse;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/HashMap;)V -SPLcom/navi/common/firebasedb/FirebaseResponse;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/HashMap;ILkotlin/jvm/internal/DefaultConstructorMarker;)V -SPLcom/navi/common/firebasedb/FirebaseResponse;->getMetadata()Ljava/util/HashMap; -Lcom/navi/common/firebasedb/a; -Lcom/navi/common/firebasedb/b; -SPLcom/navi/common/firebasedb/b;->()V -SPLcom/navi/common/firebasedb/b;->()V -SPLcom/navi/common/firebasedb/b;->b(Lcom/navi/common/firebasedb/c;)V -Lcom/navi/common/firebasedb/c; -Lcom/navi/common/firebasedb/d; -SPLcom/navi/common/firebasedb/d;->()V -SPLcom/navi/common/firebasedb/d;->(Lcom/navi/common/firebasedb/c;)V -SPLcom/navi/common/firebasedb/d;->c()Lcom/google/firebase/database/c; -Lcom/navi/common/firebasedb/d$a; -SPLcom/navi/common/firebasedb/d$a;->()V -SPLcom/navi/common/firebasedb/d$a;->()V -SPLcom/navi/common/firebasedb/d$a;->a()Lcom/google/firebase/database/c; -SPLcom/navi/common/firebasedb/d$a;->invoke()Ljava/lang/Object; -Lcom/navi/common/firebasedb/e; -SPLcom/navi/common/firebasedb/e;->()V -SPLcom/navi/common/firebasedb/e;->()V -SPLcom/navi/common/firebasedb/e;->a()Lcom/google/firebase/database/f; -Lcom/navi/common/firebasedb/f; -SPLcom/navi/common/firebasedb/f;->()V -SPLcom/navi/common/firebasedb/f;->(Lcom/navi/common/firebasedb/c;)V -SPLcom/navi/common/firebasedb/f;->a(Lcom/google/firebase/database/a;)V Lcom/navi/common/firebaseremoteconfig/a; SPLcom/navi/common/firebaseremoteconfig/a;->()V SPLcom/navi/common/firebaseremoteconfig/a;->onComplete(Lcom/google/android/gms/tasks/Task;)V diff --git a/android/app/src/main/java/com/naviapp/custom_payments/CustomPaymentActivity.kt b/android/app/src/main/java/com/naviapp/custom_payments/CustomPaymentActivity.kt index 184750beb1..753b10025e 100644 --- a/android/app/src/main/java/com/naviapp/custom_payments/CustomPaymentActivity.kt +++ b/android/app/src/main/java/com/naviapp/custom_payments/CustomPaymentActivity.kt @@ -16,13 +16,10 @@ import androidx.databinding.DataBindingUtil import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope import com.navi.base.model.CtaData +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.orElse import com.navi.base.utils.orZero -import com.navi.common.firebasedb.FirebaseDataHelper -import com.navi.common.firebasedb.FirebaseDataReceiveListener -import com.navi.common.firebasedb.FirebaseResponse -import com.navi.common.firebasedb.FirebaseStatusType -import com.navi.common.firebasedb.PAYMENT_STATUS import com.navi.common.listeners.FragmentInterchangeListener import com.navi.common.model.ModuleNameV2 import com.navi.common.utils.ApiPollScheduler @@ -35,6 +32,7 @@ import com.navi.payment.nativepayment.sharedviewmodel.NaviCheckoutViewModel import com.navi.payment.paymentscreen.model.PaymentActivityResponse import com.navi.payment.paymentscreen.viewmodel.PaymentScreenSharedViewModel import com.navi.payment.utils.Constants.FULL_PAYMENT_SCREEN +import com.navi.payment.utils.Constants.PAYMENT_STATUS import com.navi.payment.utils.PaymentSource import com.navi.paymentclients.model.InitiatePaymentRequest import com.naviapp.R @@ -74,8 +72,6 @@ class CustomPaymentActivity : private val naviCheckoutViewModel by viewModels() private var loanAccountNumber: String? = null - private var firebaseDataReceiveListener: FirebaseDataReceiveListener? = null - private var firebaseDataHelper: FirebaseDataHelper? = null private var apiPollScheduler: ApiPollScheduler? = null override fun onCreate(savedInstanceState: Bundle?) { @@ -261,11 +257,6 @@ class CustomPaymentActivity : private fun apiPollInit() { val config = paymentVM.initPaymentResponse.value?.requestConfig val requestId = paymentVM.initPaymentResponse.value?.requestId.orEmpty() - firebaseInit( - requestId, - PAYMENT_STATUS, - paymentVM.initPaymentResponse.value?.notificationPath.orEmpty() - ) apiPollScheduler?.stopApiPoll() apiPollScheduler = ApiPollScheduler( @@ -283,34 +274,10 @@ class CustomPaymentActivity : apiPollScheduler?.scheduleApiPoll() } - private fun firebaseInit(requestId: String, type: String, notificationPath: String) { - firebaseDataReceiveListener = - object : FirebaseDataReceiveListener { - override fun onDataReceive(firebaseResponse: FirebaseResponse?) { - firebaseResponse?.let { - apiPollScheduler?.stopApiPoll() - handleFirebaseResult(it.status.orEmpty(), type) - } - } - } - firebaseDataHelper = null - firebaseDataHelper = FirebaseDataHelper() - firebaseDataHelper?.initFirebaseDataReceiver( - lifecycle, - firebaseDataReceiveListener, - type, - requestId, - notificationPath - ) - } - private fun handleFirebaseResult(status: String, type: String) { when (type) { PAYMENT_STATUS -> { - if ( - TextUtils.equals(status, FirebaseStatusType.SUCCESS) || - TextUtils.equals(status, FirebaseStatusType.FAILURE) - ) { + if (TextUtils.equals(status, SUCCESS) || TextUtils.equals(status, FAILURE)) { hideLoader() apiPollScheduler?.stopApiPoll() handlePgRepaymentStatus(status) @@ -321,7 +288,7 @@ class CustomPaymentActivity : private fun handlePgRepaymentStatus(status: String) { when (status) { - FirebaseStatusType.SUCCESS -> { + SUCCESS -> { redirectToPaymentSuccessScreen() } } diff --git a/android/app/src/main/java/com/naviapp/dashboard/DashboardBaseActivity.kt b/android/app/src/main/java/com/naviapp/dashboard/DashboardBaseActivity.kt index 96b8a2791d..3acd0e9ddd 100644 --- a/android/app/src/main/java/com/naviapp/dashboard/DashboardBaseActivity.kt +++ b/android/app/src/main/java/com/naviapp/dashboard/DashboardBaseActivity.kt @@ -14,10 +14,11 @@ import com.cashfree.pg.core.api.callback.CFCheckoutResponseCallback import com.cashfree.pg.core.api.utils.CFErrorResponse import com.navi.analytics.utils.NaviTrackEvent import com.navi.base.model.CtaData +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNull import com.navi.base.utils.orFalse import com.navi.common.enach.ProviderType -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.model.ModuleName import com.navi.common.model.ModuleNameV2 import com.navi.common.model.PreviousScreenNameRequest @@ -148,7 +149,7 @@ abstract class DashboardBaseActivity : orderId = data?.orderId, paymentReferenceId = data?.paymentId, description = description, - status = FirebaseStatusType.FAILURE, + status = FAILURE, provider = ProviderType.RAZORPAY ) dashboardSharedVM.setPgRepaymentResponseStatus(statusData) @@ -184,7 +185,7 @@ abstract class DashboardBaseActivity : orderId = data?.orderId, paymentReferenceId = data?.paymentId, description = description, - status = FirebaseStatusType.SUCCESS, + status = SUCCESS, provider = ProviderType.RAZORPAY ) dashboardSharedVM.setPgRepaymentResponseStatus(statusData) @@ -206,7 +207,7 @@ abstract class DashboardBaseActivity : PaymentStatusData( code = 200, orderId = orderID, - status = FirebaseStatusType.SUCCESS, + status = SUCCESS, provider = ProviderType.CASH_FREE ) dashboardSharedVM.setPgRepaymentResponseStatus(statusData) @@ -228,7 +229,7 @@ abstract class DashboardBaseActivity : PaymentStatusData( code = cfErrorResponse?.code?.toIntOrNull(), description = cfErrorResponse?.description, - status = FirebaseStatusType.FAILURE, + status = FAILURE, provider = ProviderType.CASH_FREE ) dashboardSharedVM.setPgRepaymentResponseStatus(statusData) @@ -293,7 +294,7 @@ abstract class DashboardBaseActivity : ) { if (isHomePageNeededToRelaunch.orFalse()) { val intent = Intent(this, HomePageActivity::class.java) - if (status == FirebaseStatusType.SUCCESS) { + if (status == SUCCESS) { intent.putExtra(PREVIOUS_SCREEN, PreviousScreenNameRequest(Constants.LOAN_CLOSED)) } intent.addFlags( diff --git a/android/app/src/main/java/com/naviapp/dashboard/loanapplicationdetails/emicalendar/fragments/EMIDateChangeFragment.kt b/android/app/src/main/java/com/naviapp/dashboard/loanapplicationdetails/emicalendar/fragments/EMIDateChangeFragment.kt index c5e5164f2e..044e30232d 100644 --- a/android/app/src/main/java/com/naviapp/dashboard/loanapplicationdetails/emicalendar/fragments/EMIDateChangeFragment.kt +++ b/android/app/src/main/java/com/naviapp/dashboard/loanapplicationdetails/emicalendar/fragments/EMIDateChangeFragment.kt @@ -26,9 +26,9 @@ import com.navi.base.model.CtaData import com.navi.base.model.CtaType import com.navi.base.model.LineItem import com.navi.base.model.NaviClickAction +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.orFalse -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.listeners.FragmentInterchangeListener import com.navi.common.listeners.HeaderInteractionListener import com.navi.common.ui.activity.BaseActivity @@ -547,7 +547,7 @@ class EMIDateChangeFragment : PaymentBaseFragment(), FooterInteractionListener { private fun handlePaymentStatusResponse(status: String?, isDelayNeeded: Boolean) { when (status) { - FirebaseStatusType.SUCCESS -> { + SUCCESS -> { NaviAnalytics.naviAnalytics.GetLoan().emiDateChangeEMIPaidEvent() val emiDateChangeCta = CtaData( diff --git a/android/app/src/main/java/com/naviapp/home/compose/activity/HomePageActivity.kt b/android/app/src/main/java/com/naviapp/home/compose/activity/HomePageActivity.kt index d1591d9ddb..9f92f7c1cf 100644 --- a/android/app/src/main/java/com/naviapp/home/compose/activity/HomePageActivity.kt +++ b/android/app/src/main/java/com/naviapp/home/compose/activity/HomePageActivity.kt @@ -43,6 +43,8 @@ import com.navi.base.utils.AppLaunchUtils import com.navi.base.utils.BaseUtils import com.navi.base.utils.ConnectivityObserver import com.navi.base.utils.ConnectivityObserverImpl +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.orElse import com.navi.base.utils.orFalse import com.navi.base.utils.orTrue @@ -50,12 +52,6 @@ import com.navi.base.utils.orZero import com.navi.common.constants.APP_UPGRADE_DATA import com.navi.common.constants.GI import com.navi.common.constants.NPS_SUBMIT_DIALOG -import com.navi.common.firebasedb.FirebaseDataHelper -import com.navi.common.firebasedb.FirebaseDataReceiveListener -import com.navi.common.firebasedb.FirebaseResponse -import com.navi.common.firebasedb.FirebaseStatusType -import com.navi.common.firebasedb.INIT_REPAYMENT -import com.navi.common.firebasedb.PAYMENT_STATUS import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.RESOURCE_MANAGER_ENABLED import com.navi.common.handler.CollectRequestPopupEventHandler @@ -122,7 +118,9 @@ import com.navi.payment.paymentscreen.model.PaymentActivityResponse import com.navi.payment.paymentscreen.utils.PaymentNavigator import com.navi.payment.paymentscreen.viewmodel.PaymentScreenSharedViewModel import com.navi.payment.utils.Constants.FULL_PAYMENT_SCREEN +import com.navi.payment.utils.Constants.INIT_REPAYMENT import com.navi.payment.utils.Constants.PAYMENT_METHOD_REQUEST_CODE +import com.navi.payment.utils.Constants.PAYMENT_STATUS import com.navi.payment.utils.PaymentSource import com.navi.paymentclients.model.InitiatePaymentRequest as PMSInitiatePaymentRequest import com.navi.paymentclients.viewmodel.base.PaymentManager @@ -260,14 +258,11 @@ class HomePageActivity : private var paymentType: String = PaymentType.EMI.name private var amount: Amount? = null private var loanType: String? = null - private var firebaseDataHelper: FirebaseDataHelper? = null - private var firebaseDataReceiveListener: FirebaseDataReceiveListener? = null private var apiPollScheduler: ApiPollScheduler? = null private var paymentRequestData: PaymentRequest? = null private var loanAccountNumber: String? = null private val analyticsEventTracker = NaviAnalytics.naviAnalytics.Payment() private val commonAnalyticsTracker = CommonNaviAnalytics.naviAnalytics.Errors() - private var notificationPath: String? = null private var repaymentType: String? = null private var paymentFailureBottomSheetData: BottomSheetInfoV2? = null @@ -1174,9 +1169,6 @@ class HomePageActivity : } private fun deInitializeListeners() { - firebaseDataHelper?.clear() - firebaseDataHelper = null - firebaseDataReceiveListener = null apiPollScheduler?.stopApiPoll() apiPollScheduler = null } @@ -1199,11 +1191,11 @@ class HomePageActivity : private fun handleLoaderWhileInitiatingPayment(status: String?) { when (status) { - FirebaseStatusType.SUCCESS -> { + SUCCESS -> { showLoader(lottieFieldData = getLottieForPaymentInitiated()) analyticsEventTracker.paymentProviderSuccess(paymentType) } - FirebaseStatusType.FAILURE -> { + FAILURE -> { if (loanType == Constants.TYPE_PERSONAL_LOAN) { showLoader() } else { @@ -1247,7 +1239,7 @@ class HomePageActivity : private fun handlePaymentStatus(isDelayNeeded: Boolean = false, status: String? = null) { when (status) { - FirebaseStatusType.SUCCESS -> { + SUCCESS -> { hideLoader() PaymentSdkResultUtil.redirectToPaymentSuccessScreen( this, @@ -1255,7 +1247,7 @@ class HomePageActivity : paymentVM.initPaymentResponse.value?.requestId.toString() ) } - FirebaseStatusType.FAILURE -> { + FAILURE -> { hideLoader() } } @@ -1269,9 +1261,8 @@ class HomePageActivity : } private fun handlePgRepaymentClickStreamEvents(status: String? = null) { - if (status == FirebaseStatusType.SUCCESS) analyticsEventTracker.paymentSuccess(paymentType) - else if (status == FirebaseStatusType.FAILURE) - analyticsEventTracker.paymentFailure(paymentType) + if (status == SUCCESS) analyticsEventTracker.paymentSuccess(paymentType) + else if (status == FAILURE) analyticsEventTracker.paymentFailure(paymentType) } private fun handleFirebaseResult( @@ -1283,10 +1274,7 @@ class HomePageActivity : ) { when (type) { INIT_REPAYMENT -> { - if ( - TextUtils.equals(status, FirebaseStatusType.SUCCESS) && - requestId?.isNotBlank().orFalse() - ) + if (TextUtils.equals(status, SUCCESS) && requestId?.isNotBlank().orFalse()) paymentVM.getPaymentDetail(requestId.orEmpty(), amount, repaymentType) else { @@ -1294,10 +1282,7 @@ class HomePageActivity : } } PAYMENT_STATUS -> { - if ( - TextUtils.equals(status, FirebaseStatusType.SUCCESS) || - TextUtils.equals(status, FirebaseStatusType.FAILURE) - ) + if (TextUtils.equals(status, SUCCESS) || TextUtils.equals(status, FAILURE)) handlePgRepaymentStatus(false, status) } } @@ -1388,15 +1373,11 @@ class HomePageActivity : paymentVM.pgRepaymentStatusResponse.observeNullable(this) { data -> data?.let { if ( - TextUtils.equals(data.status, FirebaseStatusType.SUCCESS) || - TextUtils.equals(data.status, FirebaseStatusType.FAILURE) + TextUtils.equals(data.status, SUCCESS) || TextUtils.equals(data.status, FAILURE) ) { handleFirebaseResult(data.status.orEmpty(), PAYMENT_STATUS) } else { - data.requestId?.let { - firebaseInit(it, PAYMENT_STATUS, data.notificationPath.orEmpty()) - apiPollInit(it, PAYMENT_STATUS) - } + data.requestId?.let { apiPollInit(it, PAYMENT_STATUS) } } } } @@ -1405,11 +1386,6 @@ class HomePageActivity : private fun apiPollInit() { val config = paymentVM.initPaymentResponse.value?.requestConfig val requestId = paymentVM.initPaymentResponse.value?.requestId.orEmpty() - firebaseInit( - requestId, - PAYMENT_STATUS, - paymentVM.initPaymentResponse.value?.notificationPath.orEmpty() - ) apiPollScheduler?.stopApiPoll() apiPollScheduler = ApiPollScheduler( @@ -1442,38 +1418,6 @@ class HomePageActivity : apiPollScheduler?.scheduleApiPoll() } - private fun firebaseInit( - requestId: String, - type: String, - notificationPath: String, - repaymentType: String? = null - ) { - firebaseDataReceiveListener = - object : FirebaseDataReceiveListener { - override fun onDataReceive(firebaseResponse: FirebaseResponse?) { - firebaseResponse?.let { - apiPollScheduler?.stopApiPoll() - handleFirebaseResult( - it.status.orEmpty(), - type, - requestId, - it.message, - repaymentType - ) - } - } - } - firebaseDataHelper = null - firebaseDataHelper = FirebaseDataHelper() - firebaseDataHelper?.initFirebaseDataReceiver( - lifecycle, - firebaseDataReceiveListener, - type, - requestId, - notificationPath - ) - } - private fun observeInitPaymentRequestData() { if (isEnabled() && paymentVM.initPaymentResponse.hasObservers()) return paymentVM.initPaymentResponse.observeNullable(this) { data -> @@ -1511,7 +1455,6 @@ class HomePageActivity : private fun handlePaymentAsyncMethod(requestId: String?) { requestId?.let { showLoader() - firebaseInit(it, INIT_REPAYMENT, notificationPath.orEmpty(), repaymentType) apiPollInit(it, INIT_REPAYMENT, repaymentType) } } diff --git a/android/app/src/main/java/com/naviapp/payment/fragments/PaymentBaseFragment.kt b/android/app/src/main/java/com/naviapp/payment/fragments/PaymentBaseFragment.kt index 779e549e63..86b8441fcf 100644 --- a/android/app/src/main/java/com/naviapp/payment/fragments/PaymentBaseFragment.kt +++ b/android/app/src/main/java/com/naviapp/payment/fragments/PaymentBaseFragment.kt @@ -11,23 +11,18 @@ import android.content.Context import android.content.Intent import android.os.Bundle import android.text.TextUtils -import android.util.Log import android.view.View import androidx.fragment.app.viewModels import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope import com.google.gson.Gson import com.navi.analytics.utils.NaviTrackEvent +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.orElse import com.navi.base.utils.orFalse import com.navi.base.utils.orZero -import com.navi.common.firebasedb.FirebaseDataHelper -import com.navi.common.firebasedb.FirebaseDataReceiveListener -import com.navi.common.firebasedb.FirebaseResponse -import com.navi.common.firebasedb.FirebaseStatusType -import com.navi.common.firebasedb.INIT_REPAYMENT -import com.navi.common.firebasedb.PAYMENT_STATUS import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.PAYMENT_OPTIMISATION_DISABLE import com.navi.common.model.ModuleName @@ -63,10 +58,12 @@ import com.navi.payment.paymentscreen.utils.PaymentNavigator import com.navi.payment.paymentscreen.utils.PaymentPayloadProcessor import com.navi.payment.paymentscreen.viewmodel.PaymentScreenSharedViewModel import com.navi.payment.repository.thirdparty.ThirdPartyRepo +import com.navi.payment.utils.Constants.INIT_REPAYMENT import com.navi.payment.utils.Constants.KEY_DATA import com.navi.payment.utils.Constants.KEY_REQUEST_ID import com.navi.payment.utils.Constants.LOTTIE_FIELD_DATA import com.navi.payment.utils.Constants.PAYMENT_METHOD_REQUEST_CODE +import com.navi.payment.utils.Constants.PAYMENT_STATUS import com.navi.payment.utils.PaymentAnalytics import com.navi.payment.utils.PaymentSource import com.navi.paymentclients.model.Amount as PMSAmount @@ -95,9 +92,6 @@ abstract class PaymentBaseFragment : BaseFragment(), PaymentClickListener, Payme private var paymentRequestData: PaymentRequest? = null private var apiPollScheduler: ApiPollScheduler? = null - private var firebaseDataHelper: FirebaseDataHelper? = null - private var firebaseDataReceiveListener: FirebaseDataReceiveListener? = null - private var amount: Amount? = null var loanAccountNumber: String? = null var widgetId: String? = null @@ -116,7 +110,6 @@ abstract class PaymentBaseFragment : BaseFragment(), PaymentClickListener, Payme private val paymentScreenSharedViewModel by lazy { ViewModelProvider(requireActivity())[PaymentScreenSharedViewModel::class.java] } - private var notificationPath: String? = null private var repaymentType: String? = null @Inject lateinit var paymentNavigator: PaymentNavigator @@ -178,7 +171,6 @@ abstract class PaymentBaseFragment : BaseFragment(), PaymentClickListener, Payme private fun handlePaymentAsyncMethod(requestId: String?) { requestId?.let { showLoader() - firebaseInit(it, INIT_REPAYMENT, notificationPath.orEmpty(), repaymentType) apiPollInit(it, INIT_REPAYMENT, repaymentType) } } @@ -295,11 +287,11 @@ abstract class PaymentBaseFragment : BaseFragment(), PaymentClickListener, Payme private fun handleLoaderWhileInitiatingPayment(status: String?) { when (status) { - FirebaseStatusType.SUCCESS -> { + SUCCESS -> { showLoader(lottieFieldData = getLottieForPaymentInitiated()) analyticsEventTracker.paymentProviderSuccess(paymentType) } - FirebaseStatusType.FAILURE -> { + FAILURE -> { if (loanType == TYPE_PERSONAL_LOAN) { showLoader() } else { @@ -393,7 +385,6 @@ abstract class PaymentBaseFragment : BaseFragment(), PaymentClickListener, Payme ) } else { this.repaymentType = data?.repaymentType.orEmpty() - this.notificationPath = data?.notificationPath.orEmpty() paymentManager.init( token = data?.tokenDetails?.token.orEmpty(), activity = it, @@ -408,15 +399,7 @@ abstract class PaymentBaseFragment : BaseFragment(), PaymentClickListener, Payme } } } else { - data?.requestId?.let { - firebaseInit( - it, - INIT_REPAYMENT, - data.notificationPath.orEmpty(), - data.repaymentType - ) - apiPollInit(it, INIT_REPAYMENT, data.repaymentType) - } + data?.requestId?.let { apiPollInit(it, INIT_REPAYMENT, data.repaymentType) } } } } @@ -443,15 +426,11 @@ abstract class PaymentBaseFragment : BaseFragment(), PaymentClickListener, Payme paymentVM.pgRepaymentStatusResponse.observeNullable(this) { data -> data?.let { if ( - TextUtils.equals(data.status, FirebaseStatusType.SUCCESS) || - TextUtils.equals(data.status, FirebaseStatusType.FAILURE) + TextUtils.equals(data.status, SUCCESS) || TextUtils.equals(data.status, FAILURE) ) { handleFirebaseResult(data.status.orEmpty(), PAYMENT_STATUS) } else { - data.requestId?.let { - firebaseInit(it, PAYMENT_STATUS, data.notificationPath.orEmpty()) - apiPollInit(it, PAYMENT_STATUS) - } + data.requestId?.let { apiPollInit(it, PAYMENT_STATUS) } } } } @@ -483,42 +462,9 @@ abstract class PaymentBaseFragment : BaseFragment(), PaymentClickListener, Payme is BottomSheetInfoV2State.Update -> { paymentFailureBottomSheetData = state.data } - else -> {} } } - private fun firebaseInit( - requestId: String, - type: String, - notificationPath: String, - repaymentType: String? = null - ) { - firebaseDataReceiveListener = - object : FirebaseDataReceiveListener { - override fun onDataReceive(firebaseResponse: FirebaseResponse?) { - firebaseResponse?.let { - apiPollScheduler?.stopApiPoll() - handleFirebaseResult( - it.status.orEmpty(), - type, - requestId, - it.message, - repaymentType - ) - } - } - } - firebaseDataHelper = null - firebaseDataHelper = FirebaseDataHelper() - firebaseDataHelper?.initFirebaseDataReceiver( - lifecycle, - firebaseDataReceiveListener, - type, - requestId, - notificationPath - ) - } - private fun handleFirebaseResult( status: String, type: String, @@ -528,10 +474,7 @@ abstract class PaymentBaseFragment : BaseFragment(), PaymentClickListener, Payme ) { when (type) { INIT_REPAYMENT -> { - if ( - TextUtils.equals(status, FirebaseStatusType.SUCCESS) && - requestId?.isNotBlank().orFalse() - ) + if (TextUtils.equals(status, SUCCESS) && requestId?.isNotBlank().orFalse()) paymentVM.getPaymentDetail(requestId.orEmpty(), amount, repaymentType) else { @@ -539,10 +482,7 @@ abstract class PaymentBaseFragment : BaseFragment(), PaymentClickListener, Payme } } PAYMENT_STATUS -> { - if ( - TextUtils.equals(status, FirebaseStatusType.SUCCESS) || - TextUtils.equals(status, FirebaseStatusType.FAILURE) - ) + if (TextUtils.equals(status, SUCCESS) || TextUtils.equals(status, FAILURE)) handlePgRepaymentStatus(false, status) } } @@ -559,15 +499,13 @@ abstract class PaymentBaseFragment : BaseFragment(), PaymentClickListener, Payme } private fun handlePgRepaymentClickStreamEvents(status: String? = null) { - if (status == FirebaseStatusType.SUCCESS) analyticsEventTracker.paymentSuccess(paymentType) - else if (status == FirebaseStatusType.FAILURE) - analyticsEventTracker.paymentFailure(paymentType) + if (status == SUCCESS) analyticsEventTracker.paymentSuccess(paymentType) + else if (status == FAILURE) analyticsEventTracker.paymentFailure(paymentType) } open fun handlePaymentStatus(isDelayNeeded: Boolean = false, status: String? = null) { when (getPaymentRedirectionStatus(status)) { PaymentRedirectionStatus.TRANSACTION_SUCCESS -> { - Log.d("PAYMENT_SDK-->", "Reached handle payment status transact success") showPaymentSuccessLoader( lottieFieldData = LottieFieldData( @@ -621,14 +559,14 @@ abstract class PaymentBaseFragment : BaseFragment(), PaymentClickListener, Payme private fun getPaymentRedirectionStatus(status: String? = null): PaymentRedirectionStatus { return when (status) { - FirebaseStatusType.SUCCESS -> { + SUCCESS -> { if (paymentVM.shouldRedirectToFeatureCompletion(loanType, paymentType)) { PaymentRedirectionStatus.SUCCESS_WITH_REDIRECTION_TO_CSAT_PAGE } else { PaymentRedirectionStatus.SUCCESS_WITH_REDIRECTION_TO_HOME_PAGE } } - FirebaseStatusType.FAILURE -> { + FAILURE -> { if (paymentVM.shouldRedirectToFeatureCompletion(loanType, paymentType)) { if (loanType == TYPE_PERSONAL_LOAN) { PaymentRedirectionStatus.PL_FAILURE_WITH_BOTTOM_SHEET @@ -715,11 +653,6 @@ abstract class PaymentBaseFragment : BaseFragment(), PaymentClickListener, Payme private fun apiPollInit() { val config = paymentVM.initPaymentResponse.value?.requestConfig val requestId = paymentVM.initPaymentResponse.value?.requestId.orEmpty() - firebaseInit( - requestId, - PAYMENT_STATUS, - paymentVM.initPaymentResponse.value?.notificationPath.orEmpty() - ) apiPollScheduler?.stopApiPoll() apiPollScheduler = ApiPollScheduler( @@ -744,9 +677,6 @@ abstract class PaymentBaseFragment : BaseFragment(), PaymentClickListener, Payme } private fun deInitializeListeners() { - firebaseDataHelper?.clear() - firebaseDataHelper = null - firebaseDataReceiveListener = null apiPollScheduler?.stopApiPoll() apiPollScheduler = null } diff --git a/android/app/src/main/java/com/naviapp/payment/viewmodel/PaymentVM.kt b/android/app/src/main/java/com/naviapp/payment/viewmodel/PaymentVM.kt index dd05bf62de..6b99b1e0c2 100644 --- a/android/app/src/main/java/com/naviapp/payment/viewmodel/PaymentVM.kt +++ b/android/app/src/main/java/com/naviapp/payment/viewmodel/PaymentVM.kt @@ -11,6 +11,7 @@ import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import com.navi.analytics.utils.NaviTrackEvent import com.navi.base.utils.EMPTY +import com.navi.base.utils.PENDING import com.navi.base.utils.orZero import com.navi.common.model.GroupFaq import com.navi.common.model.ModuleNameV2 @@ -142,7 +143,7 @@ class PaymentVM : BaseVM() { coroutineScope.launch { val response = repository.getRepaymentDetail(requestId, repaymentType) if (response.error == null) { - if (response.data?.status == Constants.PENDING) { + if (response.data?.status == PENDING) { return@launch } _paymentOrderData.value = response.data?.details diff --git a/android/app/src/main/java/com/naviapp/payment/views/TransactionHistoryView.kt b/android/app/src/main/java/com/naviapp/payment/views/TransactionHistoryView.kt index 0ff370b916..8ee4cdf25d 100644 --- a/android/app/src/main/java/com/naviapp/payment/views/TransactionHistoryView.kt +++ b/android/app/src/main/java/com/naviapp/payment/views/TransactionHistoryView.kt @@ -13,9 +13,9 @@ import android.util.AttributeSet import android.view.LayoutInflater import androidx.constraintlayout.widget.ConstraintLayout import androidx.databinding.DataBindingUtil +import com.navi.base.utils.SUCCESS import com.navi.base.utils.orZero import com.navi.common.R as CommonR -import com.navi.common.firebasedb.FirebaseStatusType import com.naviapp.R import com.naviapp.databinding.TransactionHistoryViewBinding import com.naviapp.payment.models.TransactionDetail @@ -49,7 +49,7 @@ constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 data.paymentMode ) binding.data = transactionBinder - if (TextUtils.equals(FirebaseStatusType.SUCCESS, data.status)) { + if (TextUtils.equals(SUCCESS, data.status)) { binding.statusTv.setCompoundDrawablesWithIntrinsicBounds( CommonR.drawable.ic_tick_svg, 0, diff --git a/android/app/src/main/java/com/naviapp/payment_behaviour/PaymentBehaviourActivity.kt b/android/app/src/main/java/com/naviapp/payment_behaviour/PaymentBehaviourActivity.kt index ce51a5f95c..d799240b48 100644 --- a/android/app/src/main/java/com/naviapp/payment_behaviour/PaymentBehaviourActivity.kt +++ b/android/app/src/main/java/com/naviapp/payment_behaviour/PaymentBehaviourActivity.kt @@ -15,13 +15,10 @@ import androidx.activity.viewModels import androidx.databinding.DataBindingUtil import androidx.lifecycle.lifecycleScope import com.navi.base.model.CtaData +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.orElse import com.navi.base.utils.orZero -import com.navi.common.firebasedb.FirebaseDataHelper -import com.navi.common.firebasedb.FirebaseDataReceiveListener -import com.navi.common.firebasedb.FirebaseResponse -import com.navi.common.firebasedb.FirebaseStatusType -import com.navi.common.firebasedb.PAYMENT_STATUS import com.navi.common.listeners.FragmentInterchangeListener import com.navi.common.model.ModuleNameV2 import com.navi.common.utils.ApiPollScheduler @@ -32,6 +29,7 @@ import com.navi.payment.model.initiatesdk.PaymentPrefetchMethodRequest import com.navi.payment.nativepayment.router.NaviPaymentRouter import com.navi.payment.nativepayment.sharedviewmodel.NaviCheckoutViewModel import com.navi.payment.utils.Constants.FULL_PAYMENT_SCREEN +import com.navi.payment.utils.Constants.PAYMENT_STATUS import com.navi.payment.utils.PaymentSource import com.navi.paymentclients.model.InitiatePaymentRequest import com.naviapp.R @@ -67,8 +65,6 @@ class PaymentBehaviourActivity : private val naviCheckoutViewModel by viewModels() private var loanAccountNumber: String? = null - private var firebaseDataReceiveListener: FirebaseDataReceiveListener? = null - private var firebaseDataHelper: FirebaseDataHelper? = null private var apiPollScheduler: ApiPollScheduler? = null override fun onCreate(savedInstanceState: Bundle?) { @@ -246,11 +242,6 @@ class PaymentBehaviourActivity : private fun apiPollInit() { val config = paymentVM.initPaymentResponse.value?.requestConfig val requestId = paymentVM.initPaymentResponse.value?.requestId.orEmpty() - firebaseInit( - requestId, - PAYMENT_STATUS, - paymentVM.initPaymentResponse.value?.notificationPath.orEmpty() - ) apiPollScheduler?.stopApiPoll() apiPollScheduler = ApiPollScheduler( @@ -268,34 +259,10 @@ class PaymentBehaviourActivity : apiPollScheduler?.scheduleApiPoll() } - private fun firebaseInit(requestId: String, type: String, notificationPath: String) { - firebaseDataReceiveListener = - object : FirebaseDataReceiveListener { - override fun onDataReceive(firebaseResponse: FirebaseResponse?) { - firebaseResponse?.let { - apiPollScheduler?.stopApiPoll() - handleFirebaseResult(it.status.orEmpty(), type) - } - } - } - firebaseDataHelper = null - firebaseDataHelper = FirebaseDataHelper() - firebaseDataHelper?.initFirebaseDataReceiver( - lifecycle, - firebaseDataReceiveListener, - type, - requestId, - notificationPath - ) - } - private fun handleFirebaseResult(status: String, type: String) { when (type) { PAYMENT_STATUS -> { - if ( - TextUtils.equals(status, FirebaseStatusType.SUCCESS) || - TextUtils.equals(status, FirebaseStatusType.FAILURE) - ) { + if (TextUtils.equals(status, SUCCESS) || TextUtils.equals(status, FAILURE)) { hideLoader() apiPollScheduler?.stopApiPoll() handlePgRepaymentStatus(status) @@ -306,7 +273,7 @@ class PaymentBehaviourActivity : private fun handlePgRepaymentStatus(status: String) { when (status) { - FirebaseStatusType.SUCCESS -> { + SUCCESS -> { redirectToPaymentSuccessScreen() } } diff --git a/android/app/src/main/java/com/naviapp/permission/activities/PermissionActivity.kt b/android/app/src/main/java/com/naviapp/permission/activities/PermissionActivity.kt index fa8fa5620e..140074e856 100644 --- a/android/app/src/main/java/com/naviapp/permission/activities/PermissionActivity.kt +++ b/android/app/src/main/java/com/naviapp/permission/activities/PermissionActivity.kt @@ -22,8 +22,9 @@ import androidx.recyclerview.widget.LinearLayoutManager import com.navi.analytics.utils.NaviTrackEvent import com.navi.base.model.CtaData import com.navi.base.sharedpref.PreferenceManager +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.orFalse -import com.navi.common.firebasedb.* import com.navi.common.managers.NaviLocationManager import com.navi.common.managers.PermissionsManager import com.navi.common.model.ModuleNameV2 @@ -65,8 +66,6 @@ class PermissionActivity : BaseActivity(), FooterInteractionListener, View.OnCli private val naviAnalyticsEventTracker = NaviAnalytics.naviAnalytics.Permission() private val naviLocationManager = NaviLocationManager() private var finoramicHelper: FinoramicHelper? = null - private var firebaseDataReceiveListener: FirebaseDataReceiveListener? = null - private var firebaseDataHelper: FirebaseDataHelper? = null private var apiPollScheduler: ApiPollScheduler? = null private val onPollingEnd = { handleTimeOutError(ApiErrorTagType.LOCATION_UPLOAD) } override val screenName: String @@ -120,10 +119,7 @@ class PermissionActivity : BaseActivity(), FooterInteractionListener, View.OnCli } } naviLocationManager.locationPollingData.observeNullable(this) { locationPollingData -> - locationPollingData?.requestId?.let { - firebaseInit(it, locationPollingData.notificationPath.orEmpty()) - apiPollInit(it) - } ?: run { hideLoader() } + locationPollingData?.requestId?.let { apiPollInit(it) } ?: run { hideLoader() } } permissionViewModel.dataAsyncResponse.observeNonNull(this) { onLocationSubmitResponse(it.status, true) @@ -137,26 +133,6 @@ class PermissionActivity : BaseActivity(), FooterInteractionListener, View.OnCli } } - private fun firebaseInit(requestId: String, notificationPath: String) { - firebaseDataReceiveListener = - object : FirebaseDataReceiveListener { - override fun onDataReceive(firebaseResponse: FirebaseResponse?) { - firebaseResponse?.let { onLocationSubmitResponse(it.status) } - } - } - firebaseDataHelper = null - firebaseDataHelper = - FirebaseDataHelper().apply { - initFirebaseDataReceiver( - lifecycle, - firebaseDataReceiveListener, - UPDATE_LOCATION, - requestId, - notificationPath - ) - } - } - private fun apiPollInit(requestId: String) { apiPollScheduler = ApiPollScheduler(doOnTimeout = onPollingEnd) { @@ -166,23 +142,20 @@ class PermissionActivity : BaseActivity(), FooterInteractionListener, View.OnCli } private fun handleTimeOutError(errorTag: String) { - showTimeoutErrorScreen(firebaseDataHelper, apiPollScheduler, clickListener, errorTag) - firebaseDataHelper = null - firebaseDataReceiveListener = null + showTimeoutErrorScreen(apiPollScheduler, clickListener, errorTag) } private val clickListener: View.OnClickListener = View.OnClickListener { _ -> sendLocation() } private fun onLocationSubmitResponse(status: String?, isPolling: Boolean = false) { when { - TextUtils.equals(status, FirebaseStatusType.SUCCESS) -> { - deInitializeAsyncListeners(firebaseDataHelper, apiPollScheduler) + TextUtils.equals(status, SUCCESS) -> { + deInitializeAsyncListeners(apiPollScheduler) permissionViewModel.fetchPanVerification() } - TextUtils.equals(status, FirebaseStatusType.FAILURE) -> { + TextUtils.equals(status, FAILURE) -> { hideLoader() apiPollScheduler?.stopApiPoll() - firebaseDataHelper?.clear() if (!isPolling) { apiPollScheduler?.invoke() } diff --git a/android/app/src/main/java/com/naviapp/permission/activities/PermissionV2Activity.kt b/android/app/src/main/java/com/naviapp/permission/activities/PermissionV2Activity.kt index 61e97e5e45..14b2ddf208 100644 --- a/android/app/src/main/java/com/naviapp/permission/activities/PermissionV2Activity.kt +++ b/android/app/src/main/java/com/naviapp/permission/activities/PermissionV2Activity.kt @@ -27,14 +27,11 @@ import com.navi.base.model.CtaData import com.navi.base.model.LineItem import com.navi.base.model.StyledTextWithIconCode import com.navi.base.sharedpref.PreferenceManager +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isValidIndex import com.navi.base.utils.orFalse import com.navi.common.decorator.TopMarginItemDecoration -import com.navi.common.firebasedb.FirebaseDataHelper -import com.navi.common.firebasedb.FirebaseDataReceiveListener -import com.navi.common.firebasedb.FirebaseResponse -import com.navi.common.firebasedb.FirebaseStatusType -import com.navi.common.firebasedb.UPDATE_LOCATION import com.navi.common.managers.NaviLocationManager import com.navi.common.managers.PermissionsManager import com.navi.common.model.ModuleNameV2 @@ -182,7 +179,6 @@ class PermissionV2Activity : naviLocationManager.locationPollingData.observeNullable(this) { locationPollingData -> locationPollingData?.requestId?.let { - firebaseInit(it, locationPollingData.notificationPath.orEmpty()) apiPollInit(it, locationPollingData.requestConfig) } ?: run { hideLoader() } } @@ -213,26 +209,6 @@ class PermissionV2Activity : return null } - private fun firebaseInit(requestId: String, notificationPath: String) { - baseFirebaseDataReceiveListener = - object : FirebaseDataReceiveListener { - override fun onDataReceive(firebaseResponse: FirebaseResponse?) { - firebaseResponse?.let { onLocationSubmitResponse(it.status) } - } - } - baseFirebaseDataHelper = null - baseFirebaseDataHelper = - FirebaseDataHelper().apply { - initFirebaseDataReceiver( - lifecycle, - baseFirebaseDataReceiveListener, - UPDATE_LOCATION, - requestId, - notificationPath - ) - } - } - private fun apiPollInit(requestId: String, requestConfig: RequestConfig?) { val initialDelay = requestConfig?.initialDelay?.toLong() ?: PL_JOURNEY_POLLING_INITIAL_DELAY_IN_SECONDS @@ -252,14 +228,7 @@ class PermissionV2Activity : } private fun handleTimeOutError(errorTag: String) { - showTimeoutErrorScreen( - baseFirebaseDataHelper, - baseApiPollScheduler, - clickListener, - errorTag - ) - baseFirebaseDataHelper = null - baseFirebaseDataReceiveListener = null + showTimeoutErrorScreen(baseApiPollScheduler, clickListener, errorTag) } private val clickListener: View.OnClickListener = View.OnClickListener { _ -> sendLocation() } @@ -271,17 +240,15 @@ class PermissionV2Activity : private fun onLocationSubmitResponse(status: String?, isPolling: Boolean = false) { when { - TextUtils.equals(status, FirebaseStatusType.SUCCESS) -> { - deInitializeAsyncListeners(baseFirebaseDataHelper, baseApiPollScheduler) + TextUtils.equals(status, SUCCESS) -> { + deInitializeAsyncListeners(baseApiPollScheduler) hideLoader() baseApiPollScheduler?.stopApiPoll() - baseFirebaseDataHelper?.clear() navigateToNextScreen() } - TextUtils.equals(status, FirebaseStatusType.FAILURE) -> { + TextUtils.equals(status, FAILURE) -> { hideLoader() baseApiPollScheduler?.stopApiPoll() - baseFirebaseDataHelper?.clear() if (!isPolling) { baseApiPollScheduler?.invoke() } diff --git a/android/app/src/main/java/com/naviapp/registration/viewmodel/RegistrationVM.kt b/android/app/src/main/java/com/naviapp/registration/viewmodel/RegistrationVM.kt index e6994855bf..3543a901ed 100644 --- a/android/app/src/main/java/com/naviapp/registration/viewmodel/RegistrationVM.kt +++ b/android/app/src/main/java/com/naviapp/registration/viewmodel/RegistrationVM.kt @@ -14,8 +14,8 @@ import androidx.lifecycle.viewModelScope import com.navi.analytics.utils.NaviTrackEvent import com.navi.base.model.CtaData import com.navi.base.utils.BaseUtils +import com.navi.base.utils.FAILURE import com.navi.base.utils.orFalse -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.network.authenticator.TokenAuthenticator import com.navi.common.utils.CommonNaviAnalytics import com.navi.common.viewmodel.BaseVM @@ -89,7 +89,7 @@ class RegistrationVM(private val registerRepository: RegisterRepository = Regist Timber.i("login data $response") when { response.error == null -> { - if (TextUtils.equals(response.data?.status, FirebaseStatusType.FAILURE)) { + if (TextUtils.equals(response.data?.status, FAILURE)) { setError(response.errors, error = response.error) return@launch } diff --git a/android/app/src/main/java/com/naviapp/utils/Constants.kt b/android/app/src/main/java/com/naviapp/utils/Constants.kt index 4a5af166fc..a683cede2d 100644 --- a/android/app/src/main/java/com/naviapp/utils/Constants.kt +++ b/android/app/src/main/java/com/naviapp/utils/Constants.kt @@ -158,7 +158,6 @@ object Constants { const val SHOW_CSAT = "shouldShowCsat" const val SHOW_RESOLUTION = "showResolutionStatusWidgetFlag" const val CONVERSATION_ID = "conversationId" - const val PENDING = "PENDING" const val CONTENT_DATA_JSON_STRING = "contentDataJsonString" const val KNOW_WHY_CONTENT_DATA_JSON_STRING = "knowWhyContentDataJsonString" const val OFFER_UPGRADE_CARD_V2_ANIMATION_DURATION = 2000L diff --git a/android/gradle/libs.versions.toml b/android/gradle/libs.versions.toml index 4c1d8e19b4..b06f863de2 100644 --- a/android/gradle/libs.versions.toml +++ b/android/gradle/libs.versions.toml @@ -278,7 +278,6 @@ firebase-auth = { module = "com.google.firebase:firebase-auth" } firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "firebase-bom" } firebase-config = { module = "com.google.firebase:firebase-config" } firebase-crashlytics = { module = "com.google.firebase:firebase-crashlytics" } -firebase-database = { module = "com.google.firebase:firebase-database" } firebase-dynamic-links = { module = "com.google.firebase:firebase-dynamic-links" } firebase-firestore = { module = "com.google.firebase:firebase-firestore" } firebase-messaging = { module = "com.google.firebase:firebase-messaging" } diff --git a/android/navi-amc/src/main/java/com/navi/amc/common/activity/BasePaymentActivity.kt b/android/navi-amc/src/main/java/com/navi/amc/common/activity/BasePaymentActivity.kt index 1ed3fd3998..04b42d9294 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/common/activity/BasePaymentActivity.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/common/activity/BasePaymentActivity.kt @@ -19,9 +19,10 @@ import com.cashfree.pg.core.api.utils.CFErrorResponse import com.navi.amc.common.model.PaymentRequest import com.navi.amc.common.viewmodel.PaymentSharedVM import com.navi.amc.utils.Constant +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.common.constants.AMC_GLOBAL_3RD_PARTY_ERRORS import com.navi.common.enach.ProviderType -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.model.ModuleNameV2 import com.navi.common.utils.CommonNaviAnalytics import com.navi.common.utils.Constants @@ -149,12 +150,7 @@ abstract class BasePaymentActivity : provider: String ) { getPaymentProcessingEventName()?.let { - sendLatencyEvent( - it, - paymentStartTime, - System.currentTimeMillis(), - FirebaseStatusType.SUCCESS - ) + sendLatencyEvent(it, paymentStartTime, System.currentTimeMillis(), SUCCESS) } sendPaymentCompletionEvent(true, provider, paymentId, code, description) @@ -165,7 +161,7 @@ abstract class BasePaymentActivity : paymentOrderReferenceId = paymentId, description = description, provider = provider, - status = FirebaseStatusType.SUCCESS + status = SUCCESS ) sharedVM.setPostPaymentResponseStatus(statusData) } @@ -178,12 +174,7 @@ abstract class BasePaymentActivity : provider: String ) { getPaymentProcessingEventName()?.let { - sendLatencyEvent( - it, - paymentStartTime, - System.currentTimeMillis(), - FirebaseStatusType.FAILURE - ) + sendLatencyEvent(it, paymentStartTime, System.currentTimeMillis(), FAILURE) } sendPaymentCompletionEvent(false, provider, paymentId, code.toString(), description) analyticsTracker.onAppDowntime( @@ -202,7 +193,7 @@ abstract class BasePaymentActivity : paymentOrderReferenceId = paymentId, description = description, provider = provider, - status = FirebaseStatusType.FAILURE + status = FAILURE ) sharedVM.setPostPaymentResponseStatus(statusData) } diff --git a/android/navi-amc/src/main/java/com/navi/amc/common/activity/CheckerActivity.kt b/android/navi-amc/src/main/java/com/navi/amc/common/activity/CheckerActivity.kt index 1e788cc6ac..8786006281 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/common/activity/CheckerActivity.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/common/activity/CheckerActivity.kt @@ -62,11 +62,12 @@ import com.navi.amc.utils.Constant.TRANSACTION_ID import com.navi.base.model.ActionData import com.navi.base.model.CtaData import com.navi.base.model.LineItem +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNull import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.orFalse import com.navi.base.utils.toDoubleWithSafe -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper import com.navi.common.model.ModuleNameV2 import com.navi.common.model.RequestConfig @@ -353,7 +354,7 @@ class CheckerActivity : BasePaymentActivity() { response: RepoResult>? ) { if (response?.data?.status.isNullOrEmpty()) { - sendAnalyticsEvent(FirebaseStatusType.FAILURE) + sendAnalyticsEvent(FAILURE) if (response?.errors?.firstOrNull() != null) { onFailureResponse(response.errors?.firstOrNull()) } else { @@ -361,8 +362,8 @@ class CheckerActivity : BasePaymentActivity() { } } when (response?.data?.status) { - FirebaseStatusType.SUCCESS, - FirebaseStatusType.FAILURE -> { + SUCCESS, + FAILURE -> { sendAnalyticsEvent(response.data?.status) sendKYCStatusEvent(response.data?.status, response.data?.data?.nextCTA?.url) apiPollScheduler?.stopApiPoll() @@ -406,7 +407,7 @@ class CheckerActivity : BasePaymentActivity() { } } else if ( intent.getStringExtra(FLOW_TYPE).equals(OTP_FLOW_TYPE_SIP_AUTOPAY) && - response.data?.status == FirebaseStatusType.SUCCESS + response.data?.status == SUCCESS ) { val sipDetailsData = SipDetailsData( @@ -423,7 +424,7 @@ class CheckerActivity : BasePaymentActivity() { viewModel.postSipDetails(sipDetailsData) } else if ( intent.getStringExtra(FLOW_TYPE).equals(OTP_FLOW_TYPE_SIP_MANUAL) && - response.data?.status == FirebaseStatusType.SUCCESS && + response.data?.status == SUCCESS && intent.getStringExtra(SIP_REFERENCE_ID).isNotNullAndNotEmpty() ) { val sipRefId = intent?.getStringExtra(SIP_REFERENCE_ID) @@ -558,7 +559,7 @@ class CheckerActivity : BasePaymentActivity() { } private fun sendKYCStatusEvent(status: String?, url: String?) { - if (status == FirebaseStatusType.SUCCESS && type == CVL_KYC_CHECK) { + if (status == SUCCESS && type == CVL_KYC_CHECK) { if (url == amcDeeplink(NaviAmcDeeplinkNavigator.CHECKER.plus("/").plus(INITIATE_KYC))) { sendEvent(AmcAnalytics.AMC_INIT_USER_NEW_KYC, null) } else { @@ -677,7 +678,7 @@ class CheckerActivity : BasePaymentActivity() { private fun sendAnalyticsEvent(status: String? = null) { var latencyEventName: String? = null - if (status == FirebaseStatusType.SUCCESS) { + if (status == SUCCESS) { when (type) { CVL_KYC_CHECK -> { latencyEventName = AMC_LATENCY_PAN_CHECK_TIME @@ -744,10 +745,10 @@ class CheckerActivity : BasePaymentActivity() { latencyEventName, pollingStartTime, System.currentTimeMillis(), - FirebaseStatusType.SUCCESS + SUCCESS ) } - } else if (status == FirebaseStatusType.FAILURE) { + } else if (status == FAILURE) { when (type) { CVL_KYC_CHECK -> { latencyEventName = AMC_LATENCY_PAN_CHECK_TIME @@ -810,7 +811,7 @@ class CheckerActivity : BasePaymentActivity() { latencyEventName, pollingStartTime, System.currentTimeMillis(), - FirebaseStatusType.FAILURE + FAILURE ) } } else { diff --git a/android/navi-amc/src/main/java/com/navi/amc/common/fragment/OrderStatusFragment.kt b/android/navi-amc/src/main/java/com/navi/amc/common/fragment/OrderStatusFragment.kt index 4bac72a9b6..ffea4e2675 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/common/fragment/OrderStatusFragment.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/common/fragment/OrderStatusFragment.kt @@ -68,6 +68,8 @@ import com.navi.base.deeplink.DeepLinkManager import com.navi.base.model.ActionData import com.navi.base.model.AnalyticsEvent import com.navi.base.model.NaviClickAction +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNull import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.isNull @@ -78,7 +80,6 @@ import com.navi.common.constants.UPI_BBPS_REWARDS_GRATIFICATION_LOTTIE import com.navi.common.csat.CsatBottomSheet import com.navi.common.csat.CsatCompletionListener import com.navi.common.csat.models.NetPromoterScoreRequest -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper import com.navi.common.listeners.FragmentInterchangeListener import com.navi.common.listeners.HeaderInteractionListener @@ -683,8 +684,8 @@ class OrderStatusFragment : return } when (response?.status) { - FirebaseStatusType.SUCCESS, - FirebaseStatusType.FAILURE -> { + SUCCESS, + FAILURE -> { apiPollScheduler?.stopApiPoll() if (viewModel.isOrderStatusPolling.orFalse().not()) { fetchData() diff --git a/android/navi-amc/src/main/java/com/navi/amc/common/fragment/PennyDropOptionsFragment.kt b/android/navi-amc/src/main/java/com/navi/amc/common/fragment/PennyDropOptionsFragment.kt index 30634189f5..ad7b5ec7d2 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/common/fragment/PennyDropOptionsFragment.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/common/fragment/PennyDropOptionsFragment.kt @@ -47,7 +47,8 @@ import com.navi.amc.utils.Constant.UPI_INTENT import com.navi.amc.utils.isUpiAppAvailable import com.navi.amc.utils.orValue import com.navi.base.model.ActionData -import com.navi.common.firebasedb.FirebaseStatusType +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.common.listeners.FragmentInterchangeListener import com.navi.common.listeners.HeaderInteractionListener import com.navi.common.model.RequestConfig @@ -272,12 +273,12 @@ class PennyDropOptionsFragment() : AmcBaseFragment(), WidgetCallback { private fun onPollingResponse(additonalData: AdditionalDataAsyncResponse) { when { - TextUtils.equals(additonalData.status, FirebaseStatusType.SUCCESS) -> { + TextUtils.equals(additonalData.status, SUCCESS) -> { hideLoader() apiPollScheduler?.stopApiPoll() fragmentInterchangeListener?.navigateToNextScreen(additonalData.data?.nextCTA) } - TextUtils.equals(additonalData.status, FirebaseStatusType.FAILURE) -> { + TextUtils.equals(additonalData.status, FAILURE) -> { hideLoader() apiPollScheduler?.stopApiPoll() } diff --git a/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/FundCategoryListingPrefetchingTask.kt b/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/FundCategoryListingPrefetchingTask.kt index 426b44cf8a..a8c5c8ccfb 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/FundCategoryListingPrefetchingTask.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/FundCategoryListingPrefetchingTask.kt @@ -13,8 +13,9 @@ import com.navi.amc.utils.Constant import com.navi.base.AppServiceManager import com.navi.base.model.GenericAnalyticsData import com.navi.base.model.LineItem +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNull -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.model.PreloadTask import com.navi.common.model.common.CacheConfig import dagger.hilt.android.EntryPointAccessors @@ -79,15 +80,9 @@ constructor(private val taskConfig: PreloadTask, private val listener: AmcTaskLi ?: AmcTaskManager.DEFAULT_MAX_CONSUMPTIONS, params = mapOf(Constant.FUND_CATEGORY to fundCategory.orEmpty()) ) - listener?.onTaskCompletion( - FUND_CATEGORY_LISTING_PREFETCH, - FirebaseStatusType.SUCCESS - ) + listener?.onTaskCompletion(FUND_CATEGORY_LISTING_PREFETCH, SUCCESS) } else { - listener?.onTaskCompletion( - FUND_CATEGORY_LISTING_PREFETCH, - FirebaseStatusType.FAILURE - ) + listener?.onTaskCompletion(FUND_CATEGORY_LISTING_PREFETCH, FAILURE) } } } diff --git a/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/FundLandingPrefetchTask.kt b/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/FundLandingPrefetchTask.kt index 65597e76e8..c316f607c2 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/FundLandingPrefetchTask.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/FundLandingPrefetchTask.kt @@ -14,8 +14,9 @@ import com.navi.amc.utils.Constant import com.navi.base.AppServiceManager import com.navi.base.model.GenericAnalyticsData import com.navi.base.model.LineItem +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNull -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.model.PreloadTask import com.navi.common.model.common.CacheConfig import dagger.hilt.EntryPoint @@ -88,9 +89,9 @@ constructor(private val taskConfig: PreloadTask, private val listener: AmcTaskLi ?: taskConfig.cacheConfig.maxConsumptions ?: AmcTaskManager.DEFAULT_MAX_CONSUMPTIONS ) - listener?.onTaskCompletion(FUND_LANDING_PREFETCH, FirebaseStatusType.SUCCESS) + listener?.onTaskCompletion(FUND_LANDING_PREFETCH, SUCCESS) } else { - listener?.onTaskCompletion(FUND_LANDING_PREFETCH, FirebaseStatusType.FAILURE) + listener?.onTaskCompletion(FUND_LANDING_PREFETCH, FAILURE) } } } diff --git a/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/FundListingPrefetchTask.kt b/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/FundListingPrefetchTask.kt index 6c28e35964..6a78e44750 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/FundListingPrefetchTask.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/FundListingPrefetchTask.kt @@ -11,8 +11,9 @@ import androidx.annotation.WorkerThread import com.navi.amc.fundbuy.repository.FundListRepository import com.navi.base.AppServiceManager import com.navi.base.model.GenericAnalyticsData +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNull -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.model.PreloadTask import com.navi.common.model.common.CacheConfig import dagger.hilt.android.EntryPointAccessors @@ -72,9 +73,9 @@ constructor(private val taskConfig: PreloadTask, private val listener: AmcTaskLi ?: taskConfig.cacheConfig.maxConsumptions ?: AmcTaskManager.DEFAULT_MAX_CONSUMPTIONS, ) - listener?.onTaskCompletion(FUND_LISTING_PREFETCH, FirebaseStatusType.SUCCESS) + listener?.onTaskCompletion(FUND_LISTING_PREFETCH, SUCCESS) } else { - listener?.onTaskCompletion(FUND_LISTING_PREFETCH, FirebaseStatusType.FAILURE) + listener?.onTaskCompletion(FUND_LISTING_PREFETCH, FAILURE) } } } diff --git a/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/OrdersPrefetchTask.kt b/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/OrdersPrefetchTask.kt index 6cc7cd8de7..46f71b3076 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/OrdersPrefetchTask.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/OrdersPrefetchTask.kt @@ -11,8 +11,9 @@ import androidx.annotation.WorkerThread import com.navi.amc.portfolio.repositories.OrdersRepository import com.navi.base.AppServiceManager import com.navi.base.model.GenericAnalyticsData +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNull -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.model.PreloadTask import com.navi.common.model.common.CacheConfig import dagger.hilt.EntryPoint @@ -81,9 +82,9 @@ constructor(private val taskConfig: PreloadTask, private val listener: AmcTaskLi ?: taskConfig.cacheConfig.maxConsumptions ?: AmcTaskManager.DEFAULT_MAX_CONSUMPTIONS ) - listener?.onTaskCompletion(ORDERS_PREFETCH, FirebaseStatusType.SUCCESS) + listener?.onTaskCompletion(ORDERS_PREFETCH, SUCCESS) } else { - listener?.onTaskCompletion(ORDERS_PREFETCH, FirebaseStatusType.FAILURE) + listener?.onTaskCompletion(ORDERS_PREFETCH, FAILURE) } } } diff --git a/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/PortfolioPrefetchTask.kt b/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/PortfolioPrefetchTask.kt index f64bbbe4c8..a1079d2df5 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/PortfolioPrefetchTask.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/PortfolioPrefetchTask.kt @@ -11,8 +11,9 @@ import androidx.annotation.WorkerThread import com.navi.amc.portfolio.repositories.PortfolioScreenRepository import com.navi.base.AppServiceManager import com.navi.base.model.GenericAnalyticsData +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNull -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.model.PreloadTask import com.navi.common.model.common.CacheConfig import dagger.hilt.EntryPoint @@ -81,9 +82,9 @@ constructor(private val taskConfig: PreloadTask, private val listener: AmcTaskLi ?: taskConfig.cacheConfig.maxConsumptions ?: AmcTaskManager.DEFAULT_MAX_CONSUMPTIONS ) - listener?.onTaskCompletion(PORTFOLIO_PREFETCH, FirebaseStatusType.SUCCESS) + listener?.onTaskCompletion(PORTFOLIO_PREFETCH, SUCCESS) } else { - listener?.onTaskCompletion(PORTFOLIO_PREFETCH, FirebaseStatusType.FAILURE) + listener?.onTaskCompletion(PORTFOLIO_PREFETCH, FAILURE) } } } diff --git a/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/SipListPrefetchTask.kt b/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/SipListPrefetchTask.kt index ccc506dbbc..07cce756f9 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/SipListPrefetchTask.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/common/taskProcessor/SipListPrefetchTask.kt @@ -11,8 +11,9 @@ import androidx.annotation.WorkerThread import com.navi.amc.portfolio.repositories.SipDetailsRepository import com.navi.base.AppServiceManager import com.navi.base.model.GenericAnalyticsData +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNull -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.model.PreloadTask import com.navi.common.model.common.CacheConfig import dagger.hilt.EntryPoint @@ -84,9 +85,9 @@ constructor( ?: taskConfig.cacheConfig.maxConsumptions ?: AmcTaskManager.DEFAULT_MAX_CONSUMPTIONS ) - listener?.onTaskCompletion(SIP_LIST_PREFETCH, FirebaseStatusType.SUCCESS) + listener?.onTaskCompletion(SIP_LIST_PREFETCH, SUCCESS) } else { - listener?.onTaskCompletion(SIP_LIST_PREFETCH, FirebaseStatusType.FAILURE) + listener?.onTaskCompletion(SIP_LIST_PREFETCH, FAILURE) } } } diff --git a/android/navi-amc/src/main/java/com/navi/amc/common/viewmodel/CheckerVM.kt b/android/navi-amc/src/main/java/com/navi/amc/common/viewmodel/CheckerVM.kt index a89f9d7ca7..a84bd8ddd2 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/common/viewmodel/CheckerVM.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/common/viewmodel/CheckerVM.kt @@ -26,9 +26,9 @@ import com.navi.amc.utils.TempStorageHelper import com.navi.amc.utils.getCtaIdentifier import com.navi.base.model.ActionData import com.navi.base.utils.EMPTY +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNull import com.navi.common.csat.models.NetPromoterScoreRequest -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.network.models.GenericErrorResponse import com.navi.common.network.models.RepoResult import com.navi.common.network.models.SuccessResponse @@ -296,7 +296,7 @@ class CheckerVM @Inject constructor(private val repository: CheckerRepository) : _asyncResponse.value = response } } - if (_asyncResponse.value?.data?.status == FirebaseStatusType.SUCCESS) { + if (_asyncResponse.value?.data?.status == SUCCESS) { var prefetchTaskList = AmcTaskManager.KYC_PREFETCH_TASK if ( type in diff --git a/android/navi-amc/src/main/java/com/navi/amc/common/viewmodel/OrderStatusViewModel.kt b/android/navi-amc/src/main/java/com/navi/amc/common/viewmodel/OrderStatusViewModel.kt index f7ce9912ff..e7dc7a5b1f 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/common/viewmodel/OrderStatusViewModel.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/common/viewmodel/OrderStatusViewModel.kt @@ -26,10 +26,10 @@ import com.navi.amc.utils.getJsonObject import com.navi.amc.utils.updateCheckerResponse import com.navi.base.model.ActionData import com.navi.base.model.LineItem +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNull import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.orFalse -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper import com.navi.common.model.UploadDataAsyncResponse import com.navi.common.network.models.SuccessResponse @@ -160,7 +160,7 @@ constructor( TURBO_CHECKOUT_FLOW -> { val response = repository.fetchAsyncRequestDataPayment(requestId) _asyncResponse.value = response.data - if (response.data?.status == FirebaseStatusType.SUCCESS) { + if (response.data?.status == SUCCESS) { val prefetchTaskList = AmcTaskManager.PAYMENT_SUCCESS_PREFETCH_TASK triggerPreloadIfRequired(prefetchTaskList) } else if (response.error != null || response.errors.isNullOrEmpty().not()) { diff --git a/android/navi-amc/src/main/java/com/navi/amc/common/viewmodel/PennyDropOptionsViewModel.kt b/android/navi-amc/src/main/java/com/navi/amc/common/viewmodel/PennyDropOptionsViewModel.kt index 4791b9780b..fa42b0ad69 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/common/viewmodel/PennyDropOptionsViewModel.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/common/viewmodel/PennyDropOptionsViewModel.kt @@ -17,8 +17,8 @@ import com.navi.amc.common.model.PennyDropOptionsScreenData import com.navi.amc.common.model.RpdPaymentDetails import com.navi.amc.common.repo.PennyDropOptionsRepository import com.navi.amc.utils.Constant.INVALID_TOKEN +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNullAndNotEmpty -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.model.UploadDataAsyncResponse import com.navi.common.utils.isValidResponse import dagger.hilt.android.lifecycle.HiltViewModel @@ -111,7 +111,7 @@ constructor(private val repository: PennyDropOptionsRepository) : BaseAmcVM() { if (response.error != null || response.errors.isNullOrEmpty().not()) { setErrorData(response.errors, response.error) } - if (response.data?.status == FirebaseStatusType.SUCCESS) { + if (response.data?.status == SUCCESS) { triggerPreloadIfRequired() } } diff --git a/android/navi-amc/src/main/java/com/navi/amc/fundbuy/activities/FundBuyActivity.kt b/android/navi-amc/src/main/java/com/navi/amc/fundbuy/activities/FundBuyActivity.kt index 6378272c95..97304c7981 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/fundbuy/activities/FundBuyActivity.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/fundbuy/activities/FundBuyActivity.kt @@ -67,11 +67,12 @@ import com.navi.base.deeplink.DeepLinkManager import com.navi.base.deeplink.util.DeeplinkConstants import com.navi.base.model.ActionData import com.navi.base.model.CtaData +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNull import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.orFalse import com.navi.base.utils.orTrue -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.listeners.FragmentInterchangeListener import com.navi.common.listeners.HeaderInteractionListener import com.navi.common.model.HelpBottomSheetData @@ -442,7 +443,7 @@ class FundBuyActivity : paymentMethodResponse?.methodDetails?.provider.orEmpty() ) ) - sendPaymentLatencyEvent(FirebaseStatusType.SUCCESS) + sendPaymentLatencyEvent(SUCCESS) } override fun onPaymentMethodFailure(errors: List?) { @@ -451,7 +452,7 @@ class FundBuyActivity : AmcAnalytics.AMC_INIT_PAYMENT_ERROR, hashMapOf(PaymentAnalytics.SYNC to PaymentAnalytics.TRUE) ) - sendPaymentLatencyEvent(FirebaseStatusType.FAILURE) + sendPaymentLatencyEvent(FAILURE) showError(errors?.firstOrNull()) } @@ -520,7 +521,7 @@ class FundBuyActivity : val paymentStatus = data?.getString(STATUS) if ( paymentCardId.isNotNullAndNotEmpty() && - paymentStatus == FirebaseStatusType.SUCCESS && + paymentStatus == SUCCESS && paymentCardId == sharedVM.getOngoingPaymentCardId() ) { sharedVM.onSuccessOngoingPaymentCard() diff --git a/android/navi-amc/src/main/java/com/navi/amc/kyc/activity/KycActivity.kt b/android/navi-amc/src/main/java/com/navi/amc/kyc/activity/KycActivity.kt index 5eb956e152..238601c14a 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/kyc/activity/KycActivity.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/kyc/activity/KycActivity.kt @@ -37,10 +37,11 @@ import com.navi.amc.utils.AmcAnalytics.AMC_DIGIO_KYC import com.navi.amc.utils.Constant.DISMISS_CAPITAL import com.navi.amc.utils.Constant.NUDGE_BOTTOMSHEET import com.navi.base.model.ActionData +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.orFalse import com.navi.common.constants.AMC_GLOBAL_3RD_PARTY_ERRORS import com.navi.common.enach.ProviderType -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.listeners.FragmentInterchangeListener import com.navi.common.listeners.HeaderInteractionListener import com.navi.common.listeners.NewBottomSheetListener @@ -224,14 +225,14 @@ class KycActivity : AmcAnalytics.AMC_LATENCY_KYC_PROCESSING_TIME, digioStartTime, System.currentTimeMillis(), - FirebaseStatusType.SUCCESS + SUCCESS ) sharedVM.setKycVerificationData( AadhaarVerificationData( requestId = workflowResponse.documentId, - message = FirebaseStatusType.SUCCESS, + message = SUCCESS, code = workflowResponse.code, - status = FirebaseStatusType.SUCCESS + status = SUCCESS ) ) } @@ -241,14 +242,14 @@ class KycActivity : AmcAnalytics.AMC_LATENCY_KYC_PROCESSING_TIME, digioStartTime, System.currentTimeMillis(), - FirebaseStatusType.FAILURE + FAILURE ) sharedVM.setKycVerificationData( AadhaarVerificationData( requestId = workflowResponse.documentId, - message = workflowResponse.message ?: FirebaseStatusType.FAILURE, + message = workflowResponse.message ?: FAILURE, code = workflowResponse.errorCode, - status = FirebaseStatusType.FAILURE + status = FAILURE ) ) analyticsTracker.onAppDowntime( @@ -270,14 +271,14 @@ class KycActivity : AmcAnalytics.AMC_LATENCY_ESIGN_PROCESSING_TIME, digioStartTime, System.currentTimeMillis(), - FirebaseStatusType.SUCCESS + SUCCESS ) sharedVM.setKycVerificationData( AadhaarVerificationData( requestId = digioResponse.documentId, message = digioResponse.message, code = digioResponse.code, - status = FirebaseStatusType.SUCCESS + status = SUCCESS ) ) } @@ -287,12 +288,12 @@ class KycActivity : AmcAnalytics.AMC_LATENCY_ESIGN_PROCESSING_TIME, digioStartTime, System.currentTimeMillis(), - FirebaseStatusType.FAILURE + FAILURE ) sharedVM.setKycVerificationData( AadhaarVerificationData( requestId = digioResponse.documentId, - status = FirebaseStatusType.FAILURE, + status = FAILURE, message = digioResponse.message, code = digioResponse.errorCode, ) diff --git a/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/EmploymentDetailsFragment.kt b/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/EmploymentDetailsFragment.kt index e606612faf..76e370ead6 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/EmploymentDetailsFragment.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/EmploymentDetailsFragment.kt @@ -26,9 +26,10 @@ import com.navi.amc.utils.orValue import com.navi.base.model.ActionData import com.navi.base.model.NaviClickAction import com.navi.base.model.NaviWidgetClickWithActionData +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.orTrue import com.navi.base.utils.orZero -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.listeners.FragmentInterchangeListener import com.navi.common.listeners.HeaderInteractionListener import com.navi.common.model.UploadDataAsyncResponse @@ -101,11 +102,11 @@ class EmploymentDetailsFragment : AmcBaseFragment(), WidgetCallback, FooterInter apiPollScheduler?.stopApiPoll() } when (response?.status) { - FirebaseStatusType.SUCCESS, - FirebaseStatusType.FAILURE -> { + SUCCESS, + FAILURE -> { hideLoader() apiPollScheduler?.stopApiPoll() - if (FirebaseStatusType.SUCCESS == response.status) { + if (SUCCESS == response.status) { fragmentInterchangeListener?.navigateToNextScreen( viewModel.dataItems.value?.footer?.nextCta ) diff --git a/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/KycEsignFragment.kt b/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/KycEsignFragment.kt index c88969d67a..93054e42e8 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/KycEsignFragment.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/KycEsignFragment.kt @@ -26,7 +26,8 @@ import com.navi.amc.utils.AmcAnalytics import com.navi.amc.utils.orValue import com.navi.amc.utils.toNavigateAmcModule import com.navi.base.model.ActionData -import com.navi.common.firebasedb.FirebaseStatusType +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.common.listeners.FragmentInterchangeListener import com.navi.common.listeners.HeaderInteractionListener import com.navi.common.model.UploadDataAsyncResponse @@ -132,17 +133,17 @@ class KycEsignFragment : AmcBaseFragment() { type: String ) { when (response?.status) { - FirebaseStatusType.SUCCESS, - FirebaseStatusType.FAILURE -> { + SUCCESS, + FAILURE -> { hideLoader() apiPollScheduler?.stopApiPoll() sendLatencyEvent( AmcAnalytics.AMC_LATENCY_ESIGN_INITIATION_TIME, esignStartTime, System.currentTimeMillis(), - FirebaseStatusType.SUCCESS + SUCCESS ) - if (FirebaseStatusType.SUCCESS == response.status) { + if (SUCCESS == response.status) { if (DIGIO_INIT == type) { response.data?.digioEsignResponse?.let { digioVerificationListener?.onEsignStartVerification(it) diff --git a/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/KycStartFragment.kt b/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/KycStartFragment.kt index 887c34e384..a49f7adb61 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/KycStartFragment.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/KycStartFragment.kt @@ -51,11 +51,12 @@ import com.navi.amc.utils.SubPageStatusType import com.navi.amc.utils.TempStorageHelper import com.navi.amc.utils.orValue import com.navi.base.model.ActionData +import com.navi.base.utils.FAILURE import com.navi.base.utils.PROD import com.navi.base.utils.QA +import com.navi.base.utils.SUCCESS import com.navi.base.utils.orFalse import com.navi.common.CommonLibManager -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.listeners.FragmentInterchangeListener import com.navi.common.listeners.HeaderInteractionListener import com.navi.common.model.UploadDataAsyncResponse @@ -185,11 +186,11 @@ class KycStartFragment : AmcBaseFragment(), OKYCListener { apiPollScheduler?.stopApiPoll() } when (response?.status) { - FirebaseStatusType.SUCCESS, - FirebaseStatusType.FAILURE -> { + SUCCESS, + FAILURE -> { hideLoader() apiPollScheduler?.stopApiPoll() - if (FirebaseStatusType.SUCCESS == response.status) { + if (SUCCESS == response.status) { if (response.data?.digilockerStub.orFalse()) { DigioStub( activity = requireActivity(), @@ -206,7 +207,7 @@ class KycStartFragment : AmcBaseFragment(), OKYCListener { AMC_LATENCY_KYC_INITIATION_TIME, kycStartTime, System.currentTimeMillis(), - FirebaseStatusType.SUCCESS + SUCCESS ) response.data?.let { aadhaarVerificationListener?.onKycStartVerification(it) } } @@ -375,7 +376,7 @@ class KycStartFragment : AmcBaseFragment(), OKYCListener { AadhaarVerificationData( statusCode = error.errorCode, message = it.errorMessage, - status = FirebaseStatusType.FAILURE, + status = FAILURE, details = AadhaarDetails(txnId = data?.optString(Constant.TXN_ID)) ) ) @@ -393,8 +394,8 @@ class KycStartFragment : AmcBaseFragment(), OKYCListener { viewModel.verifyOkycStatus( AadhaarVerificationData( statusCode = ApiConstants.API_SUCCESS_CODE, - status = FirebaseStatusType.SUCCESS, - message = FirebaseStatusType.SUCCESS, + status = SUCCESS, + message = SUCCESS, details = AadhaarDetails(txnId = data?.optString("txnId")) ) ) @@ -403,7 +404,7 @@ class KycStartFragment : AmcBaseFragment(), OKYCListener { extraAttributes = hashMapOf( "statusCode" to ApiConstants.API_SUCCESS_CODE.toString(), - "message" to FirebaseStatusType.SUCCESS + "message" to SUCCESS ) ) } diff --git a/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/KycVerificationOptionsFragment.kt b/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/KycVerificationOptionsFragment.kt index ab50107106..6a1ac9bd79 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/KycVerificationOptionsFragment.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/KycVerificationOptionsFragment.kt @@ -47,11 +47,12 @@ import com.navi.amc.utils.SubPageStatusType.KYC_VERIFICATION_OPTIONS import com.navi.amc.utils.TempStorageHelper import com.navi.amc.utils.orValue import com.navi.base.model.ActionData +import com.navi.base.utils.FAILURE import com.navi.base.utils.PROD import com.navi.base.utils.QA +import com.navi.base.utils.SUCCESS import com.navi.base.utils.orFalse import com.navi.common.CommonLibManager -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.listeners.FragmentInterchangeListener import com.navi.common.listeners.HeaderInteractionListener import com.navi.common.model.UploadDataAsyncResponse @@ -134,11 +135,11 @@ class KycVerificationOptionsFragment() : AmcBaseFragment(), OKYCListener { apiPollScheduler?.stopApiPoll() } when (response?.status) { - FirebaseStatusType.SUCCESS, - FirebaseStatusType.FAILURE -> { + SUCCESS, + FAILURE -> { hideLoader() apiPollScheduler?.stopApiPoll() - if (FirebaseStatusType.SUCCESS == response.status) { + if (SUCCESS == response.status) { response.data?.let { aadhaarVerificationListener?.onKycStartVerification(it) } } @@ -226,7 +227,7 @@ class KycVerificationOptionsFragment() : AmcBaseFragment(), OKYCListener { AadhaarVerificationData( statusCode = error.errorCode, message = it.errorMessage, - status = FirebaseStatusType.FAILURE, + status = FAILURE, details = AadhaarDetails(txnId = data?.optString(TXN_ID)) ) ) @@ -236,8 +237,8 @@ class KycVerificationOptionsFragment() : AmcBaseFragment(), OKYCListener { viewModel.verifyOkycStatus( AadhaarVerificationData( statusCode = ApiConstants.API_SUCCESS_CODE, - status = FirebaseStatusType.SUCCESS, - message = FirebaseStatusType.SUCCESS, + status = SUCCESS, + message = SUCCESS, details = AadhaarDetails(txnId = data?.optString(TXN_ID)) ) ) diff --git a/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/PersonalDetailsFragment.kt b/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/PersonalDetailsFragment.kt index 35b8223274..3a027db9b5 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/PersonalDetailsFragment.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/kyc/fragment/PersonalDetailsFragment.kt @@ -39,10 +39,11 @@ import com.navi.base.model.CtaData import com.navi.base.model.NaviClickAction import com.navi.base.model.NaviWidgetClickWithActionData import com.navi.base.utils.BaseUtils +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNull import com.navi.base.utils.orFalse import com.navi.base.utils.orTrue -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.listeners.FragmentInterchangeListener import com.navi.common.listeners.HeaderInteractionListener import com.navi.common.model.UploadDataAsyncResponse @@ -126,11 +127,11 @@ class PersonalDetailsFragment : apiPollScheduler?.stopApiPoll() } when (response?.status) { - FirebaseStatusType.SUCCESS, - FirebaseStatusType.FAILURE -> { + SUCCESS, + FAILURE -> { hideLoader() apiPollScheduler?.stopApiPoll() - if (FirebaseStatusType.SUCCESS == response.status) { + if (SUCCESS == response.status) { BaseUtils.saveEmail(viewModel.email) fragmentInterchangeListener?.navigateToNextScreen( viewModel.dataItems.value?.footer?.nextCta diff --git a/android/navi-amc/src/main/java/com/navi/amc/kyc/viewmodel/SignatureVM.kt b/android/navi-amc/src/main/java/com/navi/amc/kyc/viewmodel/SignatureVM.kt index d20838efc9..bf474956fb 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/kyc/viewmodel/SignatureVM.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/kyc/viewmodel/SignatureVM.kt @@ -15,9 +15,10 @@ import com.navi.amc.kyc.model.SignatureResponse import com.navi.amc.kyc.repository.SignatureRepository import com.navi.amc.utils.AmcAnalytics import com.navi.amc.utils.combineWith +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.orFalse import com.navi.base.utils.orTrue -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.network.models.SuccessResponse import com.navi.common.utils.CommonUtils.getMultipartBody import com.navi.common.utils.Constants.AMC_KYC_SIGNATURE_URL @@ -88,11 +89,11 @@ class SignatureVM @Inject constructor(private val repository: SignatureRepositor var status = "" val response = repository.postData(multipartBody) if (response.error == null && response.errors.isNullOrEmpty()) { - status = FirebaseStatusType.SUCCESS + status = SUCCESS _postResponse.value = response.data triggerPreloadIfRequired() } else { - status = FirebaseStatusType.FAILURE + status = FAILURE setErrorData(response.errors, response.error) } sendLatencyEvent( diff --git a/android/navi-amc/src/main/java/com/navi/amc/utils/Constant.kt b/android/navi-amc/src/main/java/com/navi/amc/utils/Constant.kt index ca843d703f..eee176f8ff 100644 --- a/android/navi-amc/src/main/java/com/navi/amc/utils/Constant.kt +++ b/android/navi-amc/src/main/java/com/navi/amc/utils/Constant.kt @@ -12,31 +12,16 @@ import androidx.annotation.Keep @Keep object Constant { - const val MILLISECONDS_PER_SECOND = 1000 const val OTP_COUNTDOWN_IN_SECOND = 30 const val SECONDS_PER_MINUTE = 60 const val API_CALL_MULTI_CLICK_THRESOLD_DUR = 1000 - const val SIGNUP = "Signup" const val AMC = "AMC" const val MAX = "max" - const val EMAIL_VERIFIED = "EMAIL_VERIFIED" const val PAN = "PAN" const val STATUS = "STATUS" - const val SECOND_IDENTIFIER = "SECOND_IDENTIFIER" - const val MESSAGE = "MESSAGE" - const val SELFIE = "SELFIE" - const val BANK_DETAILS = "BANK_DETAILS" - const val ADDRESS = "ADDRESS" - const val STATE = "STATE" - const val PENDING = "PENDING" const val SOURCE = "source" - const val ACTIVE = "ACTIVE" - const val INACTIVE = "INACTIVE" - const val IMAGE_CAPTURE = 1002 - const val REQUEST_CODE = 1009 const val AMC_REQUEST_CODE = 111 const val GI_REQUEST_CODE = 113 - const val SINGLE = "single" const val DATE_FORMAT_YYYY_MM_DD = "yyyy-MM-dd" const val START_DATE = "startDate" const val END_DATE = "endDate" @@ -48,7 +33,6 @@ object Constant { const val FORTNIGHTLY = "FORTNIGHTLY" const val WEEKLY = "WEEKLY" const val DAILY = "DAILY" - const val RED = "#FF5732" const val WHITE = "#FFFFFF" const val GREY = "#444444" const val PURPLE = "#1F002A" @@ -63,7 +47,6 @@ object Constant { const val AUTOPAY_CHECKED = "autopayChecked" const val SIP_DATE = "sipDate" const val SIP_START_DATE = "sipStartDate" - const val AUTO_PAY_PRESENT = "AUTO_PAY_PRESENT" const val AMOUNT_SOURCE = "amount_source" const val CONFINED_INVESTMENT_TYPE = "CONFINED_INVESTMENT_TYPE" @@ -86,7 +69,6 @@ object Constant { const val DATA = "data" const val REDEMPTION_ORDER_ID = "redemptionOrderId" const val BANK_DETAILS_REF_ID = "bankDetailsRefId" - const val TAB = "tab" const val SUB_REDIRECT = "SUB_REDIRECT" const val CALENDAR_DATA = "calendar_data" const val ORDERS = "ORDERS" @@ -114,17 +96,11 @@ object Constant { const val DISMISS = "dismiss" const val DISMISS_CAPITAL = "DISMISS" const val CONTINUE = "continue" - const val AUTO_PAY = "AUTO_PAY" const val PD = "PD" const val IS_INVESTMENT_ON_BOTTOM_NAV = "isInvestmentOnBottomNav" const val THOUSAND = 1000L const val URL_AMC_CHECKER_INITIATE_PAYMENT = "amc/checker/payment_initiate" - // const val URL_OTP = "amc/fund/otp" const val ADD_AMOUNT = "ADD_AMOUNT" - const val AMC_SECTION_FUND_DETAILS = "fundDetails" - const val AMC_SECTION_FUND_MANAGER_DETAILS = "fundManagerDetails" - const val AMC_SECTION_FUND_HOLDING_DETAILS = "fundHoldingDetails" - const val AMC_SECTION_RETURN_CALCULATOR_DETAILS = "returnCalculatorDetails" const val TRANSACTION_ID = "transactionID" const val NAVI_SDK_TOKEN = "naviSdkToken" const val REQUEST_CONFIG = "requestConfig" @@ -158,7 +134,6 @@ object Constant { const val THREE = 3 const val INVESTMENT_TYPE = "investment_type" const val NUDGE_BOTTOMSHEET = "NUDGE_BOTTOMSHEET" - const val AMC_PERSONAL = "amc_personal" const val CHECKER_TYPE = "CHECKER_TYPE" const val CHECKER_DATA = "CHECKER_DATA" const val HELP_BOTTOMSHEET = "helpBottomSheet" @@ -166,7 +141,6 @@ object Constant { const val PAYMENT_CALLBACK_RESULT_CODE = 1001 const val PAYMENT_CALLBACK_ERROR = "PAYMENT_CALLBACK_ERROR" const val AUTO_PAY_CALLBACK_ERROR = "AUTO_PAY_CALLBACK_ERROR" - const val TWO_SECONDS = 2000 const val VALID_STATE = 0 const val INVALID_STATE = -1 const val SPECIAL_STATE = -2 diff --git a/android/navi-analytics/build.gradle b/android/navi-analytics/build.gradle index f992679f9f..5e3e2a205b 100644 --- a/android/navi-analytics/build.gradle +++ b/android/navi-analytics/build.gradle @@ -51,7 +51,6 @@ dependencies { api libs.firebase.auth api libs.firebase.config api libs.firebase.crashlytics - api libs.firebase.database api libs.firebase.dynamic.links api libs.firebase.firestore api libs.firebase.messaging diff --git a/android/navi-base/src/main/java/com/navi/base/utils/Constants.kt b/android/navi-base/src/main/java/com/navi/base/utils/Constants.kt index 0a172eaa14..cc68990e19 100644 --- a/android/navi-base/src/main/java/com/navi/base/utils/Constants.kt +++ b/android/navi-base/src/main/java/com/navi/base/utils/Constants.kt @@ -36,6 +36,9 @@ const val CAMERA_FILE_DATE_FORMAT = "yyyyMMdd_HHmmss" const val AMPERSAND = "&" const val ANGULAR_BRACKET_REPLACEMENT_VALUE = "ab" const val SHA_256 = "SHA-256" +const val SUCCESS = "SUCCESS" +const val PENDING = "PENDING" +const val FAILURE = "FAILURE" // DataStore const val NAVI_PREFERENCES_DATASTORE = "naviPreferencesDataStore" diff --git a/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseConstants.kt b/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseConstants.kt deleted file mode 100644 index 1977703fa0..0000000000 --- a/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseConstants.kt +++ /dev/null @@ -1,17 +0,0 @@ -/* - * - * * Copyright © 2020-2024 by Navi Technologies Limited - * * All rights reserved. Strictly confidential - * - */ - -package com.navi.common.firebasedb - -const val CUSTOMER_DETAILS = "CUSTOMER_DETAILS" -const val INIT_REPAYMENT = "INIT_REPAYMENT" -const val FINANCIAL_DATA_STATUS = "FINANCIAL_DATA_STATUS" -const val REPAYMENT_CONFIRMATION = "REPAYMENT_CONFIRMATION" -const val PAYMENT_STATUS = "PAYMENT_STATUS" -const val COMMUNICATION_MEDIUM = "COMMUNICATION_MEDIUM" -const val UPDATE_LOCATION = "UPDATE_LOCATION" -const val DIGITAL_GOLD_PAYMENT = "DIGITAL_GOLD_PAYMENT" diff --git a/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseDataHelper.kt b/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseDataHelper.kt deleted file mode 100644 index aee928ad99..0000000000 --- a/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseDataHelper.kt +++ /dev/null @@ -1,62 +0,0 @@ -/* - * - * * Copyright © 2020-2024 by Navi Technologies Limited - * * All rights reserved. Strictly confidential - * - */ - -package com.navi.common.firebasedb - -import androidx.lifecycle.Lifecycle - -class FirebaseDataHelper { - - private var firebaseDataReceiveManager: FirebaseDataReceiveManager? = null - - fun initFirebaseDataReceiver( - lifecycle: Lifecycle, - listener: FirebaseDataReceiveListener?, - type: String, - requestId: String, - notificationPath: String - ) { - initFirebaseDataReceiverImp(lifecycle, listener, type, requestId, notificationPath) - } - - private fun initFirebaseDataReceiverImp( - lifecycle: Lifecycle, - listener: FirebaseDataReceiveListener?, - type: String, - requestId: String, - notificationPath: String - ) { - val actualType = getFirebaseDataType(type) - actualType?.let { - firebaseDataReceiveManager = null - firebaseDataReceiveManager = - FirebaseDataReceiveManager(lifecycle, listener, it, requestId, notificationPath) - } - } - - private fun getFirebaseDataType(type: String): String? { - return populateFirebaseDataType(type) - } - - private fun populateFirebaseDataType(type: String): String? { - return when (type) { - CUSTOMER_DETAILS -> "UPDATE_CUSTOMER_DETAILS" - INIT_REPAYMENT -> "INITIATE_REPAYMENT" - REPAYMENT_CONFIRMATION -> "REPAYMENT_CONFIRMATION" - PAYMENT_STATUS -> "PAYMENT_STATUS" - COMMUNICATION_MEDIUM -> "TOGGLE_COMMUNICATION_MEDIUM" - DIGITAL_GOLD_PAYMENT -> "DIGITAL_GOLD_PAYMENT" - else -> null - } - } - - fun clear() { - firebaseDataReceiveManager?.clean() - firebaseDataReceiveManager?.deInitializeFirebase() // to remove Listener - firebaseDataReceiveManager = null - } -} diff --git a/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseDataReceiveListener.kt b/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseDataReceiveListener.kt deleted file mode 100644 index 1d872ef8e2..0000000000 --- a/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseDataReceiveListener.kt +++ /dev/null @@ -1,13 +0,0 @@ -/* - * - * * Copyright © 2020-2022 by Navi Technologies Limited - * * All rights reserved. Strictly confidential - * - */ - -package com.navi.common.firebasedb - -interface FirebaseDataReceiveListener { - - fun onDataReceive(firebaseResponse: FirebaseResponse?) -} diff --git a/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseDataReceiveManager.kt b/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseDataReceiveManager.kt deleted file mode 100644 index d9dbc1e276..0000000000 --- a/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseDataReceiveManager.kt +++ /dev/null @@ -1,66 +0,0 @@ -/* - * - * * Copyright © 2019-2022 by Navi Technologies Limited - * * All rights reserved. Strictly confidential - * - */ - -package com.navi.common.firebasedb - -import androidx.lifecycle.Lifecycle -import androidx.lifecycle.LifecycleObserver -import androidx.lifecycle.OnLifecycleEvent -import com.navi.base.sharedpref.CommonPrefConstants -import com.navi.base.sharedpref.PreferenceManager -import timber.log.Timber - -class FirebaseDataReceiveManager( - private var lifecycle: Lifecycle?, - listener: FirebaseDataReceiveListener?, - type: String, - requestId: String, - notificationPath: String -) : LifecycleObserver { - - private val dataReceiveDatabaseRef by lazy { - var firebasePath = "messages/requests" - val userId = PreferenceManager.getStringPreference(CommonPrefConstants.USER_ID) - - if (notificationPath.isNotEmpty()) firebasePath += "/$notificationPath" - if (!userId.isNullOrEmpty()) firebasePath += "/$userId" - - firebasePath += "/$requestId/$type" - FirebaseDatabaseUtil.instance.getReference(firebasePath) - } - private var listener: FirebaseDataReceiveListener? = null - private var firebaseReceiveDataHandler: FirebaseReceiveDataHandler? = null - - init { - firebaseReceiveDataHandler = FirebaseReceiveDataHandler(listener) - this.listener = listener - lifecycle?.addObserver(this) - } - - @OnLifecycleEvent(Lifecycle.Event.ON_RESUME) - fun addListeners() { - firebaseReceiveDataHandler?.let { - Timber.tag("FIREBASE_PATH").d(dataReceiveDatabaseRef.path.toString()) - dataReceiveDatabaseRef.addValueEventListener(it) - } - } - - @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE) - fun deInitializeFirebase() { - firebaseReceiveDataHandler?.let { dataReceiveDatabaseRef.removeEventListener(it) } - } - - @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY) - fun clean() { - dataReceiveDatabaseRef.onDisconnect() - lifecycle?.removeObserver(this) - lifecycle = null - firebaseReceiveDataHandler?.clear() - firebaseReceiveDataHandler = null - listener = null - } -} diff --git a/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseDatabaseUtil.kt b/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseDatabaseUtil.kt deleted file mode 100644 index 2fec7e8326..0000000000 --- a/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseDatabaseUtil.kt +++ /dev/null @@ -1,27 +0,0 @@ -/* - * - * * Copyright © 2019-2022 by Navi Technologies Limited - * * All rights reserved. Strictly confidential - * - */ - -package com.navi.common.firebasedb - -import com.google.firebase.database.FirebaseDatabase - -object FirebaseDatabaseUtil { - - private var firebaseDatabase: FirebaseDatabase? = null - - val instance: FirebaseDatabase - get() { - try { - if (firebaseDatabase == null) { - firebaseDatabase = FirebaseDatabase.getInstance() - firebaseDatabase?.setPersistenceEnabled(true) - } - } catch (e: Exception) {} - - return firebaseDatabase!! - } -} diff --git a/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseReceiveDataHandler.kt b/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseReceiveDataHandler.kt deleted file mode 100644 index 43dc98ea61..0000000000 --- a/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseReceiveDataHandler.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * - * * Copyright © 2019-2022 by Navi Technologies Limited - * * All rights reserved. Strictly confidential - * - */ - -package com.navi.common.firebasedb - -import com.google.firebase.database.DataSnapshot -import com.google.firebase.database.DatabaseError -import com.google.firebase.database.ValueEventListener -import timber.log.Timber - -class FirebaseReceiveDataHandler(private var listener: FirebaseDataReceiveListener?) : - ValueEventListener { - - override fun onDataChange(dataSnapshot: DataSnapshot) { - try { - dataSnapshot.getValue(FirebaseResponse::class.java)?.let { listener?.onDataReceive(it) } - } catch (e: Exception) { - Timber.e(e) - } - } - - override fun onCancelled(databaseError: DatabaseError) {} - - fun clear() { - listener = null - } -} diff --git a/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseResponse.kt b/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseResponse.kt deleted file mode 100644 index 452b9b0e49..0000000000 --- a/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseResponse.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * - * * Copyright © 2019-2022 by Navi Technologies Limited - * * All rights reserved. Strictly confidential - * - */ - -package com.navi.common.firebasedb - -import androidx.annotation.Keep -import com.google.gson.annotations.SerializedName - -@Keep -data class FirebaseResponse( - @SerializedName("status") val status: String? = null, - @SerializedName("message") val message: String? = null, - @SerializedName("time") val time: String? = null, - @SerializedName("details") val details: String? = null, - @SerializedName("metadata") val metadata: HashMap? = null -) diff --git a/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseStatusType.kt b/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseStatusType.kt deleted file mode 100644 index 443661e3b2..0000000000 --- a/android/navi-common/src/main/java/com/navi/common/firebasedb/FirebaseStatusType.kt +++ /dev/null @@ -1,23 +0,0 @@ -/* - * - * * Copyright © 2019-2024 by Navi Technologies Limited - * * All rights reserved. Strictly confidential - * - */ - -package com.navi.common.firebasedb - -import androidx.annotation.Keep -import androidx.annotation.StringDef - -@Keep -object FirebaseStatusType { - - const val SUCCESS = "SUCCESS" - const val FAILURE = "FAILURE" - const val PENDING = "PENDING" - - @StringDef(SUCCESS, FAILURE, PENDING) - @Retention(AnnotationRetention.SOURCE) - annotation class FirebaseStatusTypeDef -} diff --git a/android/navi-common/src/main/java/com/navi/common/model/UploadDataAsyncResponse.kt b/android/navi-common/src/main/java/com/navi/common/model/UploadDataAsyncResponse.kt index 361154717f..3735287e2a 100644 --- a/android/navi-common/src/main/java/com/navi/common/model/UploadDataAsyncResponse.kt +++ b/android/navi-common/src/main/java/com/navi/common/model/UploadDataAsyncResponse.kt @@ -14,10 +14,8 @@ import kotlinx.parcelize.Parcelize open class UploadDataAsyncResponse( @SerializedName("requestId") val requestId: String? = null, @SerializedName("status") val status: String? = null, - @SerializedName("notificationPath") val notificationPath: String? = null, @SerializedName("requestConfig", alternate = ["pollingConfig"]) val requestConfig: RequestConfig? = null, - @SerializedName("requestType") val requestType: String? = null, @SerializedName("repaymentType") val repaymentType: String? = null ) diff --git a/android/navi-common/src/main/java/com/navi/common/ui/activity/BaseActivity.kt b/android/navi-common/src/main/java/com/navi/common/ui/activity/BaseActivity.kt index e7b8dc363e..c0442fc21d 100644 --- a/android/navi-common/src/main/java/com/navi/common/ui/activity/BaseActivity.kt +++ b/android/navi-common/src/main/java/com/navi/common/ui/activity/BaseActivity.kt @@ -49,8 +49,6 @@ import com.navi.base.utils.orFalse import com.navi.base.utils.orZero import com.navi.base.utils.toLongWithSafe import com.navi.common.R -import com.navi.common.firebasedb.FirebaseDataHelper -import com.navi.common.firebasedb.FirebaseDataReceiveListener import com.navi.common.listeners.ActivityFinishListener import com.navi.common.listeners.ApiCallListener import com.navi.common.listeners.FeedbackListener @@ -141,8 +139,6 @@ abstract class BaseActivity : private lateinit var latencyMapper: LatencyMapper protected var baseApiPollScheduler: ApiPollScheduler? = null - protected var baseFirebaseDataHelper: FirebaseDataHelper? = null - protected var baseFirebaseDataReceiveListener: FirebaseDataReceiveListener? = null var eventTrackingScreenName: String? = null protected val queryMap = HashMap() @@ -778,24 +774,19 @@ abstract class BaseActivity : } } - fun deInitializeAsyncListeners( - firebaseDataHelper: FirebaseDataHelper?, - apiPollScheduler: ApiPollScheduler? - ) { + fun deInitializeAsyncListeners(apiPollScheduler: ApiPollScheduler?) { hideLoader() apiPollScheduler?.stopApiPoll() - firebaseDataHelper?.clear() } fun showTimeoutErrorScreen( - firebaseDataHelper: FirebaseDataHelper?, apiPollScheduler: ApiPollScheduler?, clickListener: View.OnClickListener, errorTag: String ) { try { runOnUiThread { - deInitializeAsyncListeners(firebaseDataHelper, apiPollScheduler) + deInitializeAsyncListeners(apiPollScheduler) showErrorScreen( getTimeOutErrorData(this.applicationContext), listOf(Pair(clickListener, errorTag)) @@ -807,7 +798,6 @@ abstract class BaseActivity : } fun showTimeoutFullErrorScreen( - firebaseDataHelper: FirebaseDataHelper?, apiPollScheduler: ApiPollScheduler?, errorTag: String, clickListener: View.OnClickListener, @@ -818,7 +808,7 @@ abstract class BaseActivity : ) { try { runOnUiThread { - deInitializeAsyncListeners(firebaseDataHelper, apiPollScheduler) + deInitializeAsyncListeners(apiPollScheduler) showFullScreenError( errorData = getTimeOutErrorData(this.applicationContext), screenName = screenName, @@ -1081,9 +1071,6 @@ abstract class BaseActivity : fun releaseListeners() { baseApiPollScheduler?.stopApiPoll() baseApiPollScheduler = null - baseFirebaseDataHelper?.clear() - baseFirebaseDataHelper = null - baseFirebaseDataReceiveListener = null } fun hideErrorScreen() { diff --git a/android/navi-common/src/main/java/com/navi/common/ui/fragment/BaseFragment.kt b/android/navi-common/src/main/java/com/navi/common/ui/fragment/BaseFragment.kt index afea0c753d..00d6c9eb23 100644 --- a/android/navi-common/src/main/java/com/navi/common/ui/fragment/BaseFragment.kt +++ b/android/navi-common/src/main/java/com/navi/common/ui/fragment/BaseFragment.kt @@ -21,8 +21,6 @@ import com.navi.analytics.utils.NaviTrackEvent import com.navi.base.model.CtaData import com.navi.base.utils.orFalse import com.navi.base.utils.orTrue -import com.navi.common.firebasedb.FirebaseDataHelper -import com.navi.common.firebasedb.FirebaseDataReceiveListener import com.navi.common.listeners.* import com.navi.common.monitor.LatencyMapper import com.navi.common.network.models.GenericErrorResponse @@ -35,20 +33,18 @@ import timber.log.Timber abstract class BaseFragment : NaviCoreFragment() { - protected var apiCallListener: ApiCallListener? = null - protected var activityFinishListener: ActivityFinishListener? = null - protected var fetchFeedbackListener: FetchFeedbackListener? = null + var apiCallListener: ApiCallListener? = null + private var activityFinishListener: ActivityFinishListener? = null + private var fetchFeedbackListener: FetchFeedbackListener? = null protected var headerInteractionListener: HeaderInteractionListener? = null protected var fragmentInterchangeListener: FragmentInterchangeListener? = null protected val queryMap = HashMap() - protected var baseApiPollScheduler: ApiPollScheduler? = null - protected var baseFirebaseDataHelper: FirebaseDataHelper? = null - protected var baseFirebaseDataReceiveListener: FirebaseDataReceiveListener? = null + private var baseApiPollScheduler: ApiPollScheduler? = null private lateinit var latencyMapper: LatencyMapper var eventTrackingScreenName: String? = null - val errorNavigator by lazy { ErrorNavigator() } + private val errorNavigator by lazy { ErrorNavigator() } var toolbarDetailListener: ToolbarDetailListener? = null @@ -123,7 +119,7 @@ abstract class BaseFragment : NaviCoreFragment() { apiCallListener?.onWarning(viewModel, actions) } - protected fun showErrorScreen( + private fun showErrorScreen( errorData: GenericErrorResponse, actions: List>? = null, cancelable: Boolean = true, @@ -142,18 +138,15 @@ abstract class BaseFragment : NaviCoreFragment() { } } - fun deInitializeAsyncListeners( - firebaseDataHelper: FirebaseDataHelper?, + private fun deInitializeAsyncListeners( apiPollScheduler: ApiPollScheduler?, isLoaderHide: Boolean = true ) { if (isLoaderHide) hideLoader() apiPollScheduler?.stopApiPoll() - firebaseDataHelper?.clear() } fun showTimeoutErrorScreen( - firebaseDataHelper: FirebaseDataHelper?, apiPollScheduler: ApiPollScheduler?, clickListener: View.OnClickListener, errorTag: String, @@ -161,7 +154,7 @@ abstract class BaseFragment : NaviCoreFragment() { ) { try { lifecycleScope.launch { - deInitializeAsyncListeners(firebaseDataHelper, apiPollScheduler) + deInitializeAsyncListeners(apiPollScheduler) context?.let { showErrorScreen( getTimeOutErrorData(it), @@ -288,11 +281,9 @@ abstract class BaseFragment : NaviCoreFragment() { releasePollingApiListener() } - protected fun releasePollingApiListener() { + private fun releasePollingApiListener() { baseApiPollScheduler?.stopApiPoll() baseApiPollScheduler = null - baseFirebaseDataHelper = null - baseFirebaseDataReceiveListener = null } fun manageUserInteraction(isScreenBlocked: Boolean) { diff --git a/android/navi-common/src/main/java/com/navi/common/useruploaddata/utils/UploadDataPollingUtil.kt b/android/navi-common/src/main/java/com/navi/common/useruploaddata/utils/UploadDataPollingUtil.kt index 1ea87e7487..606eb77cfe 100644 --- a/android/navi-common/src/main/java/com/navi/common/useruploaddata/utils/UploadDataPollingUtil.kt +++ b/android/navi-common/src/main/java/com/navi/common/useruploaddata/utils/UploadDataPollingUtil.kt @@ -8,8 +8,9 @@ package com.navi.common.useruploaddata.utils import android.text.TextUtils +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.orElse -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.model.AdditionalAsyncDataResponse import com.navi.common.model.UploadDataAsyncResponse import com.navi.common.useruploaddata.model.DataIngestionUploadResponse @@ -42,9 +43,7 @@ class UploadDataPollingUtil { ) userDataUploadCallbackResponse.uploadDataAsyncResponse?.let { val requestId = it.requestId.orEmpty() - val notificationPath = it.notificationPath.orEmpty() - val type = it.requestType.orEmpty() - if (requestId.isNotEmpty() && notificationPath.isNotEmpty() && type.isNotEmpty()) { + if (requestId.isNotEmpty()) { CoroutineScope(Dispatchers.IO).launch { apiPollInit(it, failureCallback) } } } @@ -121,10 +120,7 @@ class UploadDataPollingUtil { ) -> Unit)? = null ) { - if ( - TextUtils.equals(status, FirebaseStatusType.SUCCESS) || - TextUtils.equals(status, FirebaseStatusType.FAILURE) - ) { + if (TextUtils.equals(status, SUCCESS) || TextUtils.equals(status, FAILURE)) { analyticsTracker.dataIngestionPollingStatus(status) cancelApiPolling() isResponseForDataIngestionSuccess(response?.details, failureCallback) diff --git a/android/navi-cycs/src/main/kotlin/com/navi/cycs/entry/CycsMainViewModel.kt b/android/navi-cycs/src/main/kotlin/com/navi/cycs/entry/CycsMainViewModel.kt index d262b75b53..f9313246c5 100644 --- a/android/navi-cycs/src/main/kotlin/com/navi/cycs/entry/CycsMainViewModel.kt +++ b/android/navi-cycs/src/main/kotlin/com/navi/cycs/entry/CycsMainViewModel.kt @@ -15,6 +15,7 @@ import com.navi.base.cache.model.NaviCacheEntity import com.navi.base.cache.repository.NaviCacheRepository import com.navi.base.model.CtaData import com.navi.base.model.LineItem +import com.navi.base.utils.SUCCESS import com.navi.common.CommonLibManager import com.navi.common.constants.FAILED import com.navi.common.network.models.ErrorMessage @@ -46,7 +47,6 @@ import com.navi.cycs.common.utils.getCacheKey import com.navi.cycs.common.utils.getGsonDeserializer import com.navi.cycs.common.utils.getGsonSerializer import com.navi.cycs.common.utils.getScreenName -import com.navi.naviwidgets.utils.SUCCESS import com.navi.naviwidgets.utils.URL import com.navi.uitron.model.UiTronResponse import com.navi.uitron.model.data.UiTronActionData diff --git a/android/navi-gold/src/main/java/com/navi/gold/model/GoldSellOrderResponse.kt b/android/navi-gold/src/main/java/com/navi/gold/model/GoldSellOrderResponse.kt index 9167026abd..c60867ee17 100644 --- a/android/navi-gold/src/main/java/com/navi/gold/model/GoldSellOrderResponse.kt +++ b/android/navi-gold/src/main/java/com/navi/gold/model/GoldSellOrderResponse.kt @@ -15,7 +15,6 @@ import com.navi.payment.paymenthandler.model.PaymentRequest data class GoldSellOrderResponse( @SerializedName("requestId") val requestId: String? = null, - @SerializedName("notificationPath") val notificationPath: String? = null, @SerializedName("requestConfig") val requestConfig: RequestConfig? = null, @SerializedName("bottomSheetData") val bottomSheetData: BottomSheetData? = null, @SerializedName("widgetisedBottomSheetData") diff --git a/android/navi-gold/src/main/java/com/navi/gold/ui/BasePaymentActivity.kt b/android/navi-gold/src/main/java/com/navi/gold/ui/BasePaymentActivity.kt index 7fd192c4b5..006379fb04 100644 --- a/android/navi-gold/src/main/java/com/navi/gold/ui/BasePaymentActivity.kt +++ b/android/navi-gold/src/main/java/com/navi/gold/ui/BasePaymentActivity.kt @@ -11,10 +11,11 @@ import android.os.Bundle import androidx.activity.viewModels import com.cashfree.pg.core.api.callback.CFCheckoutResponseCallback import com.cashfree.pg.core.api.utils.CFErrorResponse +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.common.constants.DIGITAL_GOLD_GLOBAL_3RD_PARTY_ERRORS import com.navi.common.enach.EnachCommonHelper import com.navi.common.enach.ProviderType -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.ui.activity.BaseActivity import com.navi.common.ui.fragment.PaymentCheckFragment import com.navi.common.utils.ApiPollScheduler @@ -133,7 +134,7 @@ abstract class BasePaymentActivity : paymentOrderReferenceId = paymentId, description = description, provider = provider, - status = FirebaseStatusType.SUCCESS + status = SUCCESS ) paymentSharedVM.triggerOnPaymentSdkExitEvent() @@ -165,7 +166,7 @@ abstract class BasePaymentActivity : paymentOrderReferenceId = paymentId, description = description, provider = provider, - status = FirebaseStatusType.FAILURE + status = FAILURE ) paymentSharedVM.triggerOnPaymentSdkExitEvent() diff --git a/android/navi-gold/src/main/java/com/navi/gold/ui/CheckerActivity.kt b/android/navi-gold/src/main/java/com/navi/gold/ui/CheckerActivity.kt index d844225a3c..b9d760770a 100644 --- a/android/navi-gold/src/main/java/com/navi/gold/ui/CheckerActivity.kt +++ b/android/navi-gold/src/main/java/com/navi/gold/ui/CheckerActivity.kt @@ -14,13 +14,15 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope import com.navi.base.deeplink.DeepLinkManager import com.navi.base.model.ActionData +import com.navi.base.utils.FAILURE +import com.navi.base.utils.PENDING +import com.navi.base.utils.SUCCESS import com.navi.common.model.ModuleNameV2 import com.navi.common.model.RequestConfig import com.navi.common.ui.activity.BaseActivity import com.navi.common.ui.fragment.PaymentCheckFragment import com.navi.common.utils.ApiPollScheduler import com.navi.common.utils.Constants -import com.navi.common.utils.Constants.GOLD import com.navi.common.utils.TemporaryStorageHelper import com.navi.common.utils.observeNonNull import com.navi.common.utils.toCtaData @@ -43,9 +45,6 @@ import com.navi.gold.util.TempStorageHelper import com.navi.gold.util.orValue import com.navi.gold.util.toActionCheckResponse import com.navi.gold.viewmodels.CheckerVM -import com.navi.naviwidgets.utils.FAILURE -import com.navi.naviwidgets.utils.PENDING -import com.navi.naviwidgets.utils.SUCCESS import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.delay import kotlinx.coroutines.launch diff --git a/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldBuyFragment.kt b/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldBuyFragment.kt index 4dbe45085e..17e413d0d0 100644 --- a/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldBuyFragment.kt +++ b/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldBuyFragment.kt @@ -32,17 +32,15 @@ import com.navi.base.model.ActionData import com.navi.base.model.BottomSheetData import com.navi.base.model.NaviClickAction import com.navi.base.model.NaviWidgetClickWithActionData +import com.navi.base.utils.FAILURE +import com.navi.base.utils.PENDING +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNull import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.isNull import com.navi.base.utils.orFalse import com.navi.chat.utils.GenericScreens import com.navi.common.enach.ProviderType -import com.navi.common.firebasedb.DIGITAL_GOLD_PAYMENT -import com.navi.common.firebasedb.FirebaseDataHelper -import com.navi.common.firebasedb.FirebaseDataReceiveListener -import com.navi.common.firebasedb.FirebaseResponse -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.listeners.BackPressedListener import com.navi.common.listeners.FragmentInterchangeListener import com.navi.common.listeners.NewBottomSheetListener @@ -79,6 +77,7 @@ import com.navi.gold.util.Constants.AMOUNT_DATA import com.navi.gold.util.Constants.APP_ACTION_OBJECTIVE_REWARDS_CAMPAIGN_ONBOARD import com.navi.gold.util.Constants.BUY_GOLD import com.navi.gold.util.Constants.COMMON_BOTTOM_SHEET_ID +import com.navi.gold.util.Constants.DIGITAL_GOLD_PAYMENT import com.navi.gold.util.Constants.GOlD_KYC_BUY import com.navi.gold.util.Constants.IS_TURBO_CHECKOUT_FLOW import com.navi.gold.util.Constants.SHOW_WIDGET_BOTTOM_SHEET @@ -157,9 +156,7 @@ class DigitalGoldBuyFragment : private val naviFooterAdapter = NaviAdapter(widgetCallback = this, factory = ViewHolderFactoryImpl()) private var provider: Any? = null - private var firebaseDataReceiveListener: FirebaseDataReceiveListener? = null private var apiPollScheduler: ApiPollScheduler? = null - private var firebaseDataHelper: FirebaseDataHelper? = null private var errorTag: String? = null private var isFetchedFromCache = false private var paymentSdkInitParams: PaymentSdkInitParams? = null @@ -261,8 +258,6 @@ class DigitalGoldBuyFragment : } viewModel.postPaymentResponse.observeNonNull(this@DigitalGoldBuyFragment) { startPolling( - needFirebasePolling = true, - notificationPath = viewModel.goldBuyOrderResponse.value?.notificationPath, goldSellOrderResponse = viewModel.goldBuyOrderResponse.value, paymentStatusPolling = true ) @@ -547,7 +542,6 @@ class DigitalGoldBuyFragment : handleTurboCheckoutFlow(goldSellOrderResponse) } else { startPolling( - needFirebasePolling = false, goldSellOrderResponse = goldSellOrderResponse, paymentStatusPolling = false ) @@ -661,19 +655,10 @@ class DigitalGoldBuyFragment : } private fun startPolling( - needFirebasePolling: Boolean? = true, - notificationPath: String? = null, goldSellOrderResponse: GoldSellOrderResponse? = null, paymentStatusPolling: Boolean ) { goldSellOrderResponse?.let { - if (needFirebasePolling == true && notificationPath.isNotNullAndNotEmpty()) { - firebaseInit( - requestId = goldSellOrderResponse.requestId.orEmpty(), - type = DIGITAL_GOLD_PAYMENT, - notificationPath = notificationPath.orEmpty() - ) - } apiPollInit( requestId = goldSellOrderResponse.requestId.orEmpty(), type = DIGITAL_GOLD_PAYMENT, @@ -696,10 +681,7 @@ class DigitalGoldBuyFragment : digitalGoldPollingResponse: DigitalGoldPollingResponse? = null, sdkCredPollingData: Boolean ) { - if ( - TextUtils.equals(status, FirebaseStatusType.SUCCESS) || - TextUtils.equals(status, FirebaseStatusType.FAILURE) - ) { + if (TextUtils.equals(status, SUCCESS) || TextUtils.equals(status, FAILURE)) { deInitializeFirebaseListener() apiPollScheduler?.stopApiPoll() sharedVM.setButtonLoaderState(false) @@ -713,30 +695,6 @@ class DigitalGoldBuyFragment : } } - private fun firebaseInit(requestId: String, type: String, notificationPath: String) { - firebaseDataReceiveListener = - object : FirebaseDataReceiveListener { - override fun onDataReceive(firebaseResponse: FirebaseResponse?) { - firebaseResponse?.let { - apiPollScheduler?.stopApiPoll() - handlePollingData( - firebaseResponse.status.orEmpty(), - sdkCredPollingData = false - ) - } - } - } - firebaseDataHelper = null - firebaseDataHelper = FirebaseDataHelper() - firebaseDataHelper?.initFirebaseDataReceiver( - lifecycle, - firebaseDataReceiveListener, - type, - requestId, - notificationPath - ) - } - private fun apiPollInit( requestId: String, type: String, @@ -767,20 +725,10 @@ class DigitalGoldBuyFragment : if (::commonBottomSheet.isInitialized && commonBottomSheet.isNotNull()) { commonBottomSheet.safelyDismissDialog() } - showTimeoutErrorScreen( - firebaseDataHelper, - apiPollScheduler, - pollingTimeoutClickListener, - errorTag - ) - firebaseDataHelper = null - firebaseDataReceiveListener = null + showTimeoutErrorScreen(apiPollScheduler, pollingTimeoutClickListener, errorTag) } private fun deInitializeFirebaseListener() { - firebaseDataHelper?.clear() - firebaseDataHelper = null - firebaseDataReceiveListener = null hideErrorScreen() } @@ -817,9 +765,7 @@ class DigitalGoldBuyFragment : description = description, paymentReferenceId = data?.paymentId, orderId = data?.orderId, - status = - if (code == null) FirebaseStatusType.SUCCESS - else FirebaseStatusType.FAILURE, + status = if (code == null) SUCCESS else FAILURE, requestId = viewModel.goldBuyOrderResponse.value?.requestId ) ) @@ -901,9 +847,7 @@ class DigitalGoldBuyFragment : showProcessingBottomSheet() viewModel.setPostPaymentResponseStatus( PaymentStatusData( - status = - if (payload["type"] == TRANSACTION_SUCCESS) FirebaseStatusType.SUCCESS - else FirebaseStatusType.FAILURE, + status = if (payload["type"] == TRANSACTION_SUCCESS) SUCCESS else FAILURE, requestId = viewModel.goldBuyOrderResponse.value?.requestId ) ) @@ -952,9 +896,9 @@ class DigitalGoldBuyFragment : PaymentStatusData( status = when (status) { - TRANSACTION_SUCCESS -> FirebaseStatusType.SUCCESS - TRANSACTION_PENDING -> FirebaseStatusType.PENDING - else -> FirebaseStatusType.FAILURE + TRANSACTION_SUCCESS -> SUCCESS + TRANSACTION_PENDING -> PENDING + else -> FAILURE }, requestId = viewModel.goldBuyOrderResponse.value?.requestId ) diff --git a/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldHomeActivity.kt b/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldHomeActivity.kt index 42a6e08712..fe3af6051a 100644 --- a/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldHomeActivity.kt +++ b/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldHomeActivity.kt @@ -48,6 +48,9 @@ import com.navi.base.sharedpref.CommonPrefConstants import com.navi.base.sharedpref.PreferenceManager import com.navi.base.utils.BaseUtils import com.navi.base.utils.EMPTY +import com.navi.base.utils.FAILURE +import com.navi.base.utils.PENDING +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNull import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.isNull @@ -64,11 +67,6 @@ import com.navi.chat.utils.navigateToCrm import com.navi.common.constants.COLOR_TRANSPARENT import com.navi.common.downloader.DownloadUtil import com.navi.common.enach.ProviderType -import com.navi.common.firebasedb.DIGITAL_GOLD_PAYMENT -import com.navi.common.firebasedb.FirebaseDataHelper -import com.navi.common.firebasedb.FirebaseDataReceiveListener -import com.navi.common.firebasedb.FirebaseResponse -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper import com.navi.common.listeners.NewBottomSheetListener import com.navi.common.managers.PermissionsManager @@ -123,6 +121,7 @@ import com.navi.gold.util.Constants.BUY_GOLD import com.navi.gold.util.Constants.BUY_GOLD_BOTTOM_SHEET import com.navi.gold.util.Constants.BUY_SUMMARY_BOTTOM_SHEET import com.navi.gold.util.Constants.COMMON_BOTTOM_SHEET_ID +import com.navi.gold.util.Constants.DIGITAL_GOLD_PAYMENT import com.navi.gold.util.Constants.DISMISS import com.navi.gold.util.Constants.GOLD_BUY_SUMMARY_URL import com.navi.gold.util.Constants.GOLD_INVESTMENT_PLAN_WIDGET @@ -278,9 +277,7 @@ class DigitalGoldHomeActivity : private var cameFromBottomSheet = false private var isScreenBlocked = false private var provider: Any? = null - private var firebaseDataReceiveListener: FirebaseDataReceiveListener? = null private var apiPollScheduler: ApiPollScheduler? = null - private var firebaseDataHelper: FirebaseDataHelper? = null private var errorTag: String? = null private var isPaymentExpired = false private var paymentCheckFragment: WeakReference? = null @@ -317,9 +314,8 @@ class DigitalGoldHomeActivity : buyVM.setPostPaymentResponseStatus( PaymentStatusData( status = - if (status == TRANSACTION_SUCCESS) FirebaseStatusType.SUCCESS - else if (status == TRANSACTION_PENDING) FirebaseStatusType.PENDING - else FirebaseStatusType.FAILURE, + if (status == TRANSACTION_SUCCESS) SUCCESS + else if (status == TRANSACTION_PENDING) PENDING else FAILURE, requestId = buyVM.goldBuyOrderResponse.value?.requestId ) ) @@ -612,8 +608,6 @@ class DigitalGoldHomeActivity : } buyVM.postPaymentResponse.observeNonNull(this@DigitalGoldHomeActivity) { startPolling( - needFirebasePolling = true, - notificationPath = buyVM.goldBuyOrderResponse.value?.notificationPath, goldSellOrderResponse = buyVM.goldBuyOrderResponse.value, paymentStatusPolling = true ) @@ -918,9 +912,7 @@ class DigitalGoldHomeActivity : description = description, paymentReferenceId = data?.paymentId, orderId = data?.orderId, - status = - if (code == null) FirebaseStatusType.SUCCESS - else FirebaseStatusType.FAILURE, + status = if (code == null) SUCCESS else FAILURE, requestId = buyVM.goldBuyOrderResponse.value?.requestId ) ) @@ -933,7 +925,6 @@ class DigitalGoldHomeActivity : handleTurboCheckoutFlow(goldSellOrderResponse) } else { startPolling( - needFirebasePolling = false, goldSellOrderResponse = goldSellOrderResponse, paymentStatusPolling = false ) @@ -965,19 +956,10 @@ class DigitalGoldHomeActivity : } private fun startPolling( - needFirebasePolling: Boolean? = true, - notificationPath: String? = null, goldSellOrderResponse: GoldSellOrderResponse? = null, paymentStatusPolling: Boolean ) { goldSellOrderResponse?.let { - if (needFirebasePolling == true && notificationPath.isNotNullAndNotEmpty()) { - firebaseInit( - requestId = goldSellOrderResponse.requestId.orEmpty(), - type = DIGITAL_GOLD_PAYMENT, - notificationPath = notificationPath.orEmpty() - ) - } apiPollInit( requestId = goldSellOrderResponse.requestId.orEmpty(), type = DIGITAL_GOLD_PAYMENT, @@ -1020,39 +1002,12 @@ class DigitalGoldHomeActivity : apiPollScheduler?.scheduleApiPoll() } - private fun firebaseInit(requestId: String, type: String, notificationPath: String) { - firebaseDataReceiveListener = - object : FirebaseDataReceiveListener { - override fun onDataReceive(firebaseResponse: FirebaseResponse?) { - firebaseResponse?.let { - apiPollScheduler?.stopApiPoll() - handlePollingData( - firebaseResponse.status.orEmpty(), - sdkCredPollingData = false - ) - } - } - } - firebaseDataHelper = null - firebaseDataHelper = FirebaseDataHelper() - firebaseDataHelper?.initFirebaseDataReceiver( - lifecycle, - firebaseDataReceiveListener, - type, - requestId, - notificationPath - ) - } - private fun handlePollingData( status: String, digitalGoldPollingResponse: DigitalGoldPollingResponse? = null, sdkCredPollingData: Boolean ) { - if ( - TextUtils.equals(status, FirebaseStatusType.SUCCESS) || - TextUtils.equals(status, FirebaseStatusType.FAILURE) - ) { + if (TextUtils.equals(status, SUCCESS) || TextUtils.equals(status, FAILURE)) { deInitializeFirebaseListener() apiPollScheduler?.stopApiPoll() if (sdkCredPollingData) { @@ -1099,20 +1054,10 @@ class DigitalGoldHomeActivity : if (paymentCheckFragment?.get().isNotNull()) { paymentCheckFragment?.get()?.safelyDismissDialog() } - showTimeoutErrorScreen( - firebaseDataHelper, - apiPollScheduler, - pollingTimeoutClickListener, - errorTag - ) - firebaseDataHelper = null - firebaseDataReceiveListener = null + showTimeoutErrorScreen(apiPollScheduler, pollingTimeoutClickListener, errorTag) } private fun deInitializeFirebaseListener() { - firebaseDataHelper?.clear() - firebaseDataHelper = null - firebaseDataReceiveListener = null hideErrorScreen() } @@ -2040,9 +1985,9 @@ class DigitalGoldHomeActivity : PaymentStatusData( status = when (status) { - TRANSACTION_SUCCESS -> FirebaseStatusType.SUCCESS - TRANSACTION_PENDING -> FirebaseStatusType.PENDING - else -> FirebaseStatusType.FAILURE + TRANSACTION_SUCCESS -> SUCCESS + TRANSACTION_PENDING -> PENDING + else -> FAILURE }, requestId = buyVM.goldBuyOrderResponse.value?.requestId ) @@ -2248,9 +2193,7 @@ class DigitalGoldHomeActivity : showProcessingBottomSheet() buyVM.setPostPaymentResponseStatus( PaymentStatusData( - status = - if (payload["type"] == TRANSACTION_SUCCESS) FirebaseStatusType.SUCCESS - else FirebaseStatusType.FAILURE, + status = if (payload["type"] == TRANSACTION_SUCCESS) SUCCESS else FAILURE, requestId = buyVM.goldBuyOrderResponse.value?.requestId ) ) diff --git a/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldSellActivity.kt b/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldSellActivity.kt index 9790ad1544..27178de22e 100644 --- a/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldSellActivity.kt +++ b/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldSellActivity.kt @@ -27,14 +27,11 @@ import com.navi.base.model.GenericAnalyticsData import com.navi.base.model.LineItem import com.navi.base.model.NaviClickAction import com.navi.base.model.NaviWidgetClickWithActionData +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNull import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.chat.utils.GenericScreens -import com.navi.common.firebasedb.DIGITAL_GOLD_PAYMENT -import com.navi.common.firebasedb.FirebaseDataHelper -import com.navi.common.firebasedb.FirebaseDataReceiveListener -import com.navi.common.firebasedb.FirebaseResponse -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.listeners.NewBottomSheetListener import com.navi.common.model.ModuleNameV2 import com.navi.common.model.common.Header @@ -62,6 +59,7 @@ import com.navi.gold.model.GoldSellOrderResponse import com.navi.gold.toOpenBottomSheet import com.navi.gold.util.CommonUtils import com.navi.gold.util.Constants.COMMON_BOTTOM_SHEET_ID +import com.navi.gold.util.Constants.DIGITAL_GOLD_PAYMENT import com.navi.gold.util.Constants.SELL_GOLD import com.navi.gold.util.Constants.SELL_GOLD_FRAGMENT import com.navi.gold.util.Constants.SELL_GOLD_UPI_FRAGMENT @@ -100,10 +98,8 @@ class DigitalGoldSellActivity : BaseActivity(), WidgetCallback, NewBottomSheetLi private val bottomSheetSharedVM by viewModels() private lateinit var commonBottomSheet: NewCommonBottomSheet private var bottomSheetData: BottomSheetData? = null - private var firebaseDataReceiveListener: FirebaseDataReceiveListener? = null private var activityFooterDisabled: Boolean? = null private var apiPollScheduler: ApiPollScheduler? = null - private var firebaseDataHelper: FirebaseDataHelper? = null private var errorTag: String? = null private val onPollingEnd = { handleTimeOutError(errorTag.orEmpty()) } private val naviFooterAdapter = @@ -328,11 +324,6 @@ class DigitalGoldSellActivity : BaseActivity(), WidgetCallback, NewBottomSheetLi if ( goldSellOrderResponse?.expired == false && goldSellOrderResponse.inValidUpiId == false ) { - firebaseInit( - requestId = goldSellOrderResponse.requestId.orEmpty(), - type = DIGITAL_GOLD_PAYMENT, - notificationPath = goldSellOrderResponse.notificationPath.orEmpty() - ) apiPollInit( requestId = goldSellOrderResponse.requestId.orEmpty(), type = DIGITAL_GOLD_PAYMENT, @@ -388,10 +379,7 @@ class DigitalGoldSellActivity : BaseActivity(), WidgetCallback, NewBottomSheetLi } private fun handlePollingData(status: String) { - if ( - TextUtils.equals(status, FirebaseStatusType.SUCCESS) || - TextUtils.equals(status, FirebaseStatusType.FAILURE) - ) { + if (TextUtils.equals(status, SUCCESS) || TextUtils.equals(status, FAILURE)) { deInitializeFirebaseListener() apiPollScheduler?.stopApiPoll() viewModel.fetchPaymentPollingUIData( @@ -418,27 +406,6 @@ class DigitalGoldSellActivity : BaseActivity(), WidgetCallback, NewBottomSheetLi } } - private fun firebaseInit(requestId: String, type: String, notificationPath: String) { - firebaseDataReceiveListener = - object : FirebaseDataReceiveListener { - override fun onDataReceive(firebaseResponse: FirebaseResponse?) { - firebaseResponse?.let { - apiPollScheduler?.stopApiPoll() - handlePollingData(firebaseResponse.status.orEmpty()) - } - } - } - firebaseDataHelper = null - firebaseDataHelper = FirebaseDataHelper() - firebaseDataHelper?.initFirebaseDataReceiver( - lifecycle, - firebaseDataReceiveListener, - type, - requestId, - notificationPath - ) - } - private fun apiPollInit( requestId: String, type: String, @@ -463,20 +430,10 @@ class DigitalGoldSellActivity : BaseActivity(), WidgetCallback, NewBottomSheetLi if (::commonBottomSheet.isInitialized && commonBottomSheet.isNotNull()) { commonBottomSheet.safelyDismissDialog() } - showTimeoutErrorScreen( - firebaseDataHelper, - apiPollScheduler, - pollingTimeoutClickListener, - errorTag - ) - firebaseDataHelper = null - firebaseDataReceiveListener = null + showTimeoutErrorScreen(apiPollScheduler, pollingTimeoutClickListener, errorTag) } private fun deInitializeFirebaseListener() { - firebaseDataHelper?.clear() - firebaseDataHelper = null - firebaseDataReceiveListener = null hideErrorScreen() } diff --git a/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldSipActivity.kt b/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldSipActivity.kt index d5ee113546..456e83711b 100644 --- a/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldSipActivity.kt +++ b/android/navi-gold/src/main/java/com/navi/gold/ui/DigitalGoldSipActivity.kt @@ -26,6 +26,7 @@ import com.navi.base.model.GenericAnalyticsData import com.navi.base.model.NaviClickAction import com.navi.base.model.NaviWidgetClickWithActionData import com.navi.base.utils.BaseUtils +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNull import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.orFalse @@ -60,7 +61,6 @@ import com.navi.naviwidgets.actions.NaviWidgetClick import com.navi.naviwidgets.callbacks.WidgetCallback import com.navi.naviwidgets.models.NaviWidget import com.navi.naviwidgets.utils.STORE_SIP_INSTALLMENT_DATE -import com.navi.naviwidgets.utils.SUCCESS import dagger.hilt.android.AndroidEntryPoint import java.net.URI import kotlinx.coroutines.Dispatchers diff --git a/android/navi-gold/src/main/java/com/navi/gold/util/Constants.kt b/android/navi-gold/src/main/java/com/navi/gold/util/Constants.kt index 2c88e3f080..8f73e95ac5 100644 --- a/android/navi-gold/src/main/java/com/navi/gold/util/Constants.kt +++ b/android/navi-gold/src/main/java/com/navi/gold/util/Constants.kt @@ -79,4 +79,5 @@ object Constants { const val SETTINGS = "settings" const val GO_TO_SETTINGS = "Go to settings" const val CSAT_POPUP_DELAY_TIME: Long = 500 + const val DIGITAL_GOLD_PAYMENT = "DIGITAL_GOLD_PAYMENT" } diff --git a/android/navi-insurance/src/main/java/com/navi/insurance/health/fragment/HomeFragment.kt b/android/navi-insurance/src/main/java/com/navi/insurance/health/fragment/HomeFragment.kt index e0f7a8920e..b4fdb51b5c 100644 --- a/android/navi-insurance/src/main/java/com/navi/insurance/health/fragment/HomeFragment.kt +++ b/android/navi-insurance/src/main/java/com/navi/insurance/health/fragment/HomeFragment.kt @@ -38,7 +38,11 @@ import com.navi.base.deeplink.DeepLinkManager import com.navi.base.model.AnalyticsEvent import com.navi.base.model.CtaData import com.navi.base.model.LineItem -import com.navi.base.utils.* +import com.navi.base.utils.isNotNull +import com.navi.base.utils.isNull +import com.navi.base.utils.orFalse +import com.navi.base.utils.orTrue +import com.navi.base.utils.orZero import com.navi.common.constants.CONGRATULATORY_OFFER_DIALOG import com.navi.common.constants.GI import com.navi.common.constants.MESSAGE_TEXT @@ -83,7 +87,10 @@ import com.navi.insurance.external_porting.fragment.InsuranceOptionsBottomSheet import com.navi.insurance.external_porting.utils.getCtaBasedOnPolicyStatus import com.navi.insurance.formbase.renewal.RenewalFormActivity import com.navi.insurance.formbase.renewal.RenewalFormBasedFragment -import com.navi.insurance.health.activity.* +import com.navi.insurance.health.activity.DashboardActivity +import com.navi.insurance.health.activity.FaqActivity +import com.navi.insurance.health.activity.HospitalsActivity +import com.navi.insurance.health.activity.PaymentActivity import com.navi.insurance.health.adapter.EmiHorizontalListAdapter import com.navi.insurance.health.adapter.PolicyDocumentsRecyclerViewFragment import com.navi.insurance.health.interfaces.EmiCardClickListener @@ -95,14 +102,28 @@ import com.navi.insurance.health.viewmodel.RegistrationVM import com.navi.insurance.models.PolicyBenefitData import com.navi.insurance.models.request.PolicyActivationData import com.navi.insurance.models.request.WhatsAppOptRequest -import com.navi.insurance.models.response.* +import com.navi.insurance.models.response.CustomerPolicy +import com.navi.insurance.models.response.CustomerPolicyApplication +import com.navi.insurance.models.response.CustomerPolicyDetails +import com.navi.insurance.models.response.PaymentModesData +import com.navi.insurance.models.response.RenewalDetails +import com.navi.insurance.models.response.Subscription import com.navi.insurance.navigator.NaviInsuranceDeeplinkNavigator import com.navi.insurance.payment.model.AutoPayStatus import com.navi.insurance.payment.model.getAutoPayStatusBottomSheetObject import com.navi.insurance.quoteredesign.QuoteActivity import com.navi.insurance.renewal.PolicyRenewedBottomSheet import com.navi.insurance.sharedpref.NaviPreferenceManager -import com.navi.insurance.util.* +import com.navi.insurance.util.APPLICATION_REFERENCE_ID +import com.navi.insurance.util.APPLICATION_TYPE_EXTRA +import com.navi.insurance.util.AUTO_PAY +import com.navi.insurance.util.AWAITING_CUSTOMER_ACCEPTANCE +import com.navi.insurance.util.AWAITING_CUSTOMER_CANCELLATION +import com.navi.insurance.util.ApiConstants +import com.navi.insurance.util.BOOK_INSURANCE_DECISIONS +import com.navi.insurance.util.BOOK_INSURANCE_MESSAGES +import com.navi.insurance.util.BOOK_INSURANCE_RESULT +import com.navi.insurance.util.Constants import com.navi.insurance.util.Constants.ACTIVATION_SUCCESS_PROMPT import com.navi.insurance.util.Constants.ACTIVE import com.navi.insurance.util.Constants.EMI_PREPAYMENT @@ -120,11 +141,50 @@ import com.navi.insurance.util.Constants.OUT_DOOR_PATIENT_DEPARTMENT_CARD_CLICKE import com.navi.insurance.util.Constants.OUT_DOOR_PATIENT_DEPARTMENT_V2 import com.navi.insurance.util.Constants.POLICY_DETAILS_EXTRA import com.navi.insurance.util.Constants.POLICY_RENEWAL_SUCCESS_PROMPT +import com.navi.insurance.util.DETAIL_COMPLETE import com.navi.insurance.util.EMPTY +import com.navi.insurance.util.ERROR_MESSAGE +import com.navi.insurance.util.EXTERNAL_POLICY_UNDER_REVIEW +import com.navi.insurance.util.FAILED +import com.navi.insurance.util.FTUE_POLICY_PURCHASED +import com.navi.insurance.util.GI_DASHBOARD +import com.navi.insurance.util.GiFirebaseRemoteConfigConstants +import com.navi.insurance.util.INITIATED +import com.navi.insurance.util.IS_DASHBOARD_SHOWING +import com.navi.insurance.util.LAPSED +import com.navi.insurance.util.NSTP_DYNAMIC +import com.navi.insurance.util.NSTP_PROPOSAL +import com.navi.insurance.util.NSTP_QUESTION_ID +import com.navi.insurance.util.PAYMENT_REFERENCE_ID +import com.navi.insurance.util.PENDING_DETAIL +import com.navi.insurance.util.PENDING_EXTERNAL_POLICY_DOCUMENTS +import com.navi.insurance.util.PENDING_REFUND +import com.navi.insurance.util.PROPOSAL_UNDER_REVIEW +import com.navi.insurance.util.PolicyUtils import com.navi.insurance.util.PolicyUtils.POLICIES_REFRESHED_REQUIRED +import com.navi.insurance.util.QUOTE_GENERATED_FOR_CURRENT_CHAT +import com.navi.insurance.util.QUOTE_ID_EXTRA +import com.navi.insurance.util.SHOW_INCOMPLETE_POLICY_POPUP +import com.navi.insurance.util.SOURCE +import com.navi.insurance.util.SUBSCRIPTION +import com.navi.insurance.util.SUCCESS +import com.navi.insurance.util.TRUE +import com.navi.insurance.util.append +import com.navi.insurance.util.checkProposalStatus +import com.navi.insurance.util.dateFormatYYYYMMddToddMMMYY +import com.navi.insurance.util.ddMMMYYToTimeStamp +import com.navi.insurance.util.fromJson +import com.navi.insurance.util.isDebug +import com.navi.insurance.util.isFalse +import com.navi.insurance.util.isTrue +import com.navi.insurance.util.isViewVisible +import com.navi.insurance.util.observeNonNull +import com.navi.insurance.util.observeNullable +import com.navi.insurance.util.slideOutRight +import com.navi.insurance.util.toast import dagger.hilt.android.AndroidEntryPoint import java.text.SimpleDateFormat -import java.util.* +import java.util.Locale import javax.inject.Inject import kotlinx.coroutines.Deferred import kotlinx.coroutines.Dispatchers diff --git a/android/navi-insurance/src/main/java/com/navi/insurance/kyc/ui/GiAadhaarVerificationFragment.kt b/android/navi-insurance/src/main/java/com/navi/insurance/kyc/ui/GiAadhaarVerificationFragment.kt index 4b2035cf3a..f48fef541c 100644 --- a/android/navi-insurance/src/main/java/com/navi/insurance/kyc/ui/GiAadhaarVerificationFragment.kt +++ b/android/navi-insurance/src/main/java/com/navi/insurance/kyc/ui/GiAadhaarVerificationFragment.kt @@ -20,10 +20,11 @@ import com.digitap.dtokyc.handler.OKYCListener import com.google.gson.reflect.TypeToken import com.navi.base.model.CtaData import com.navi.base.model.LineItem +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNull import com.navi.common.ResponseState import com.navi.common.constants.GI -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.network.models.ErrorMessage import com.navi.insurance.R import com.navi.insurance.analytics.InsuranceAnalyticsConstants @@ -432,7 +433,7 @@ class GiAadhaarVerificationFragment : GiBaseFragment(), OKYCListener { AadhaarVerificationData( error.errorCode, error.message, - FirebaseStatusType.FAILURE, + FAILURE, AadhaarDetails("", ""), applicationId = applicationId, ) @@ -442,8 +443,8 @@ class GiAadhaarVerificationFragment : GiBaseFragment(), OKYCListener { aadhaarVerificationData = AadhaarVerificationData( ApiConstants.API_SUCCESS_CODE, - FirebaseStatusType.SUCCESS, - FirebaseStatusType.SUCCESS, + SUCCESS, + SUCCESS, AadhaarDetails(txnId = data?.optString("txnId")), applicationId = applicationId ) diff --git a/android/navi-insurance/src/main/java/com/navi/insurance/models/response/PennyDropStatusResponse.kt b/android/navi-insurance/src/main/java/com/navi/insurance/models/response/PennyDropStatusResponse.kt index a666585df9..234bdb2f6b 100644 --- a/android/navi-insurance/src/main/java/com/navi/insurance/models/response/PennyDropStatusResponse.kt +++ b/android/navi-insurance/src/main/java/com/navi/insurance/models/response/PennyDropStatusResponse.kt @@ -20,7 +20,6 @@ data class PennyDropStatusResponse( @SerializedName("fallbackResponse") val fallbackResponse: VerificationSuccessResponseData? = null, @SerializedName("requestId") val requestId: String? = null, - @SerializedName("notificationPath") val notificationPath: String? = null, @SerializedName("requestConfig") val requestConfig: RequestConfig? = null ) diff --git a/android/navi-payment/src/main/java/com/navi/payment/common/PaymentExternalSdkManager.kt b/android/navi-payment/src/main/java/com/navi/payment/common/PaymentExternalSdkManager.kt index 391bfe81d7..64e738a541 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/common/PaymentExternalSdkManager.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/common/PaymentExternalSdkManager.kt @@ -11,8 +11,9 @@ import android.app.Activity import androidx.lifecycle.LifecycleCoroutineScope import androidx.lifecycle.lifecycleScope import com.cashfree.pg.core.api.utils.CFErrorResponse +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.common.enach.ProviderType -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.utils.log import com.navi.common.utils.toJsonObject import com.navi.payment.cashfree.CashFreeHelper @@ -77,7 +78,7 @@ class PaymentExternalSdkManager @Inject constructor() : IPaymentExternalSdk { override fun onPaymentSuccess(description: String?, data: PaymentData?) { handleSdkResponse( - status = FirebaseStatusType.SUCCESS, + status = SUCCESS, provider = ProviderType.RAZORPAY, sdkExitCode = "200", description = description, @@ -87,7 +88,7 @@ class PaymentExternalSdkManager @Inject constructor() : IPaymentExternalSdk { override fun onPaymentError(code: Int, description: String?, data: PaymentData?) { handleSdkResponse( - status = FirebaseStatusType.FAILURE, + status = FAILURE, provider = ProviderType.RAZORPAY, sdkExitCode = code.toString(), description = description, @@ -97,7 +98,7 @@ class PaymentExternalSdkManager @Inject constructor() : IPaymentExternalSdk { override fun onPaymentVerify(orderID: String?) { handleSdkResponse( - status = FirebaseStatusType.SUCCESS, + status = SUCCESS, provider = ProviderType.CASH_FREE, sdkExitCode = "200", sdkOrderId = orderID @@ -106,7 +107,7 @@ class PaymentExternalSdkManager @Inject constructor() : IPaymentExternalSdk { override fun onPaymentFailure(cfErrorResponse: CFErrorResponse?, orderID: String?) { handleSdkResponse( - status = FirebaseStatusType.FAILURE, + status = FAILURE, provider = ProviderType.CASH_FREE, sdkOrderId = orderID, sdkExitCode = cfErrorResponse?.code, diff --git a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/TransactionPollingScreen.kt b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/TransactionPollingScreen.kt index 02c9600164..053aba805f 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/TransactionPollingScreen.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/TransactionPollingScreen.kt @@ -29,7 +29,8 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.google.accompanist.systemuicontroller.rememberSystemUiController import com.google.gson.Gson -import com.navi.common.firebasedb.FirebaseStatusType +import com.navi.base.utils.PENDING +import com.navi.base.utils.SUCCESS import com.navi.common.model.RequestConfig import com.navi.common.upi.STATUS_CODE_200 import com.navi.common.utils.Constants @@ -182,10 +183,10 @@ fun TransactionPollingScreen( ) val data = pollingState.data when (data?.status) { - FirebaseStatusType.PENDING -> { + PENDING -> { finishWithData.invoke(data) } - FirebaseStatusType.SUCCESS -> { + SUCCESS -> { if (source == PaymentSource.DG.name) { finishWithData.invoke(data) } diff --git a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/WebPaymentMainScreen.kt b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/WebPaymentMainScreen.kt index 0e0532bd81..03b116e6e9 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/WebPaymentMainScreen.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/screens/WebPaymentMainScreen.kt @@ -31,10 +31,11 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.google.gson.Gson +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNull import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.orFalse -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.network.models.GenericErrorResponse import com.navi.common.uitron.model.action.UpiIntent import com.navi.common.upi.CANCEL @@ -134,7 +135,7 @@ fun WebPaymentMainScreen( activity = activity, webPaymentAction = webPaymentAction, webPaymentData = webPaymentData, - status = FirebaseStatusType.SUCCESS, + status = SUCCESS, additionalParams = mapOf( UPI_REQUEST_ID to upiRequestId, @@ -151,7 +152,7 @@ fun WebPaymentMainScreen( if (errorConfig.code == CANCEL) { TransactionStatus.USER_CANCELLED_TRANSACTION.name } else { - FirebaseStatusType.FAILURE + FAILURE } handleResultAndFinish( activity = activity, @@ -222,7 +223,7 @@ fun WebPaymentMainScreen( activity = activity, webPaymentAction = webPaymentAction, webPaymentData = webPaymentData, - status = FirebaseStatusType.SUCCESS, + status = SUCCESS, additionalParams = mapOf(NAVI_PAY_RESPONSE to resultResponse.toString()) ) } @@ -492,7 +493,7 @@ fun WebPaymentMainScreen( activity = activity, webPaymentAction = webPaymentAction, webPaymentData = webPaymentData, - status = FirebaseStatusType.FAILURE, + status = FAILURE, error = (bottomSheetStateHolder.bottomSheetUIState as? WebPaymentScreenState.Error) diff --git a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/utils/PaymentUtils.kt b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/utils/PaymentUtils.kt index c5a365a96f..ed91df7d71 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/utils/PaymentUtils.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/utils/PaymentUtils.kt @@ -10,12 +10,12 @@ package com.navi.payment.nativepayment.utils import android.content.Intent import com.google.gson.Gson import com.navi.base.utils.EMPTY +import com.navi.base.utils.PENDING import com.navi.base.utils.ResourceProvider import com.navi.base.utils.UNDERSCORE import com.navi.base.utils.orFalse import com.navi.base.utils.orTrue import com.navi.common.R as CommonR -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.model.RequestConfig import com.navi.common.network.models.GenericErrorResponse import com.navi.common.uitron.model.action.UpiIntent @@ -247,7 +247,7 @@ fun nextPollRequired( pollingCount: Int, pollingConfiguration: RequestConfig? ) = - data?.status == FirebaseStatusType.PENDING && + data?.status == PENDING && data.nextStatusCheckRequired.orTrue() && pollingCount <= pollingConfiguration?.numOfRetries.orVal(10) diff --git a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/viewmodel/TransactionPollingViewModel.kt b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/viewmodel/TransactionPollingViewModel.kt index 2d2d762017..5da0a894f0 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/nativepayment/viewmodel/TransactionPollingViewModel.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/nativepayment/viewmodel/TransactionPollingViewModel.kt @@ -10,10 +10,11 @@ package com.navi.payment.nativepayment.viewmodel import androidx.compose.ui.graphics.Color import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.viewModelScope +import com.navi.base.utils.FAILURE import com.navi.base.utils.MILLISECONDS_PER_SECOND +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNull import com.navi.base.utils.isNotNullAndNotEmpty -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.model.RequestConfig import com.navi.common.network.models.isSuccessWithData import com.navi.pay.R @@ -129,7 +130,7 @@ constructor( pollTransactionStatus(pollingCount + 1) } else { when (data?.status) { - FirebaseStatusType.SUCCESS -> { + SUCCESS -> { _paymentTransactionStatusPolling.emit( TransactionPollingApiState.Success(data) ) @@ -137,7 +138,7 @@ constructor( _screenState.emit(PollingScreenState.Success(data)) } } - FirebaseStatusType.FAILURE -> { + FAILURE -> { val errorData = transactionStatusData.data?.data if ( sourceDestination == NaviPaymentScreenType.MINI_PAYMENT_SCREEN.name diff --git a/android/navi-payment/src/main/java/com/navi/payment/paymentscreen/ui/NaviPaymentScreenActivity.kt b/android/navi-payment/src/main/java/com/navi/payment/paymentscreen/ui/NaviPaymentScreenActivity.kt index 0db9127d2d..b058212977 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/paymentscreen/ui/NaviPaymentScreenActivity.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/paymentscreen/ui/NaviPaymentScreenActivity.kt @@ -19,8 +19,9 @@ import com.cashfree.pg.core.api.callback.CFCheckoutResponseCallback import com.cashfree.pg.core.api.utils.CFErrorResponse import com.navi.base.deeplink.DeepLinkManager import com.navi.base.model.CtaData +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.common.enach.ProviderType -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.listeners.FragmentInterchangeListener import com.navi.common.model.ModuleNameV2 import com.navi.common.ui.activity.BaseActivity @@ -233,9 +234,9 @@ class NaviPaymentScreenActivity : paymentStatus = status val clientStatus = if (status == PaymentSdkTypes.TRANSACTION_SUCCESS.name) { - FirebaseStatusType.SUCCESS + SUCCESS } else { - FirebaseStatusType.FAILURE + FAILURE } paymentManager.postPaymentStatusV2( PostPaymentData( diff --git a/android/navi-payment/src/main/java/com/navi/payment/paymentscreen/ui/PaymentLoaderFragment.kt b/android/navi-payment/src/main/java/com/navi/payment/paymentscreen/ui/PaymentLoaderFragment.kt index 4928bf5931..011c0d4716 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/paymentscreen/ui/PaymentLoaderFragment.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/paymentscreen/ui/PaymentLoaderFragment.kt @@ -28,13 +28,13 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope import com.google.gson.Gson import com.navi.base.model.CtaData +import com.navi.base.utils.FAILURE +import com.navi.base.utils.PENDING +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNull import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.orFalse import com.navi.base.utils.orTrue -import com.navi.common.firebasedb.FirebaseStatusType.FAILURE -import com.navi.common.firebasedb.FirebaseStatusType.PENDING -import com.navi.common.firebasedb.FirebaseStatusType.SUCCESS import com.navi.common.listeners.FragmentInterchangeListener import com.navi.common.model.RequestConfig import com.navi.common.upi.DATA diff --git a/android/navi-payment/src/main/java/com/navi/payment/turbocheckout/ui/TurboCheckoutFragment.kt b/android/navi-payment/src/main/java/com/navi/payment/turbocheckout/ui/TurboCheckoutFragment.kt index e1e1a3496d..40af23c70c 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/turbocheckout/ui/TurboCheckoutFragment.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/turbocheckout/ui/TurboCheckoutFragment.kt @@ -33,11 +33,13 @@ import androidx.lifecycle.lifecycleScope import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetDialog import com.navi.base.deeplink.DeepLinkManager +import com.navi.base.utils.FAILURE +import com.navi.base.utils.PENDING +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNull import com.navi.base.utils.orFalse import com.navi.base.utils.orTrue import com.navi.common.R -import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.model.RequestConfig import com.navi.common.network.models.GenericErrorResponse import com.navi.common.ui.fragment.NaviAnalyticsBaseBottomSheet @@ -207,7 +209,7 @@ class TurboCheckoutFragment : NaviAnalyticsBaseBottomSheet() { ) { is TransactionPollingApiState.Success -> { when (pollingApiState.data?.status) { - FirebaseStatusType.SUCCESS -> { + SUCCESS -> { (pollingApiState.data.data?.metadata as? TurboCheckoutScreenStructure) ?.let { @@ -526,14 +528,14 @@ class TurboCheckoutFragment : NaviAnalyticsBaseBottomSheet() { when (transactionPollingApiState) { is TransactionPollingApiState.Success -> { when (transactionPollingApiState.data?.status) { - FirebaseStatusType.PENDING -> { + PENDING -> { if (!transactionPollingApiState.data.nextStatusCheckRequired.orTrue()) { isPollingInProgress = false sendTurboCheckoutEvent(PAYMENT_TRANSACTION_POLLING_LOAD_END, mapOf()) stopApiPoll() } } - FirebaseStatusType.FAILURE -> { + FAILURE -> { sendTurboCheckoutEvent(PAYMENT_TRANSACTION_POLLING_LOAD_END, mapOf()) isPollingInProgress = false stopApiPoll() @@ -543,7 +545,7 @@ class TurboCheckoutFragment : NaviAnalyticsBaseBottomSheet() { } } } - FirebaseStatusType.SUCCESS -> { + SUCCESS -> { stopApiPoll() sendTurboCheckoutEvent(PAYMENT_TRANSACTION_POLLING_LOAD_END, mapOf()) postSdkExitIfApplicable(transactionPollingApiState.data, savedInstanceState) diff --git a/android/navi-payment/src/main/java/com/navi/payment/utils/Constants.kt b/android/navi-payment/src/main/java/com/navi/payment/utils/Constants.kt index 198b9c8a87..cbc7b82792 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/utils/Constants.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/utils/Constants.kt @@ -151,4 +151,6 @@ object Constants { const val DELAY_FOR_HIDING_KEYBOARD = 150L const val TRANSACTION_STATUS_RETRY_COUNT = 5 + const val INIT_REPAYMENT = "INIT_REPAYMENT" + const val PAYMENT_STATUS = "PAYMENT_STATUS" } diff --git a/android/navi-payment/src/main/java/com/navi/payment/utils/Ext.kt b/android/navi-payment/src/main/java/com/navi/payment/utils/Ext.kt index 77a2e69c1a..76865ba8bd 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/utils/Ext.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/utils/Ext.kt @@ -11,7 +11,8 @@ import android.content.Intent import com.cashfree.pg.ui.api.CFPaymentComponent.CFPaymentModes import com.google.gson.Gson import com.google.gson.reflect.TypeToken -import com.navi.common.firebasedb.FirebaseStatusType +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.common.network.models.GenericErrorResponse import com.navi.common.utils.log import com.navi.payment.cashfree.CashFreeConfig @@ -185,13 +186,13 @@ fun getUpiTransationStatus(payload: JSONObject) = if (errorResponse?.firstOrNull()?.code == "CANCEL") { TransactionStatus.USER_CANCELLED_TRANSACTION.name } else { - FirebaseStatusType.FAILURE + FAILURE } } else { if (payload.has("statusCode") && payload["statusCode"] == 200) { - FirebaseStatusType.SUCCESS + SUCCESS } else { - FirebaseStatusType.FAILURE + FAILURE } } diff --git a/android/navi-payment/src/main/java/com/navi/paymentclients/ui/lending/LEPaymentHandlerActivity.kt b/android/navi-payment/src/main/java/com/navi/paymentclients/ui/lending/LEPaymentHandlerActivity.kt index 19026f1023..f971778672 100644 --- a/android/navi-payment/src/main/java/com/navi/paymentclients/ui/lending/LEPaymentHandlerActivity.kt +++ b/android/navi-payment/src/main/java/com/navi/paymentclients/ui/lending/LEPaymentHandlerActivity.kt @@ -17,6 +17,9 @@ import com.cashfree.pg.core.api.callback.CFCheckoutResponseCallback import com.cashfree.pg.core.api.utils.CFErrorResponse import com.navi.analytics.utils.NaviTrackEvent import com.navi.base.deeplink.DeepLinkManager +import com.navi.base.utils.FAILURE +import com.navi.base.utils.PENDING +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.orElse import com.navi.base.utils.orFalse @@ -25,12 +28,6 @@ import com.navi.common.R import com.navi.common.ResponseState import com.navi.common.constants.GLOBAL_3RD_PARTY_ERRORS import com.navi.common.enach.ProviderType -import com.navi.common.firebasedb.FirebaseDataHelper -import com.navi.common.firebasedb.FirebaseDataReceiveListener -import com.navi.common.firebasedb.FirebaseResponse -import com.navi.common.firebasedb.FirebaseStatusType -import com.navi.common.firebasedb.INIT_REPAYMENT -import com.navi.common.firebasedb.PAYMENT_STATUS import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper import com.navi.common.model.ModuleNameV2 import com.navi.common.model.UploadDataAsyncResponse @@ -55,6 +52,8 @@ import com.navi.payment.paymenthandler.model.PaymentHandlerErrorType import com.navi.payment.paymenthandler.model.PaymentRequest import com.navi.payment.paymenthandler.model.PaymentStatusData import com.navi.payment.razorpay.RazorpayHelper +import com.navi.payment.utils.Constants.INIT_REPAYMENT +import com.navi.payment.utils.Constants.PAYMENT_STATUS import com.navi.payment.utils.PaymentAnalytics import com.navi.paymentclients.viewmodel.base.PaymentManager import com.navi.paymentclients.viewmodel.lending.LEPaymentHandlerVM @@ -74,8 +73,6 @@ class LEPaymentHandlerActivity : private val viewModel by viewModels() private val paymentManager: PaymentManager by viewModels() private var apiPollScheduler: ApiPollScheduler? = null - private var firebaseDataHelper: FirebaseDataHelper? = null - private var firebaseDataReceiveListener: FirebaseDataReceiveListener? = null private val analyticsEventTracker = CommonNaviAnalytics.naviAnalytics.CommonPaymentHandler() private var provider: Any? = null @@ -148,15 +145,7 @@ class LEPaymentHandlerActivity : ) ) } else { - data.value.requestId?.let { - firebaseInit( - it, - INIT_REPAYMENT, - data.value.notificationPath.orEmpty(), - data.value.repaymentType - ) - apiPollInit(INIT_REPAYMENT, data.value) - } + data.value.requestId?.let { apiPollInit(INIT_REPAYMENT, data.value) } ?: run { finishActivity( errorCode = @@ -180,7 +169,7 @@ class LEPaymentHandlerActivity : .onEach { data -> when (data) { is ResponseState.Success -> { - if (data.value?.status != FirebaseStatusType.PENDING) { + if (data.value?.status != PENDING) { resetListeners() viewModel.updatePaymentRequestData( data.value?.details, @@ -252,19 +241,12 @@ class LEPaymentHandlerActivity : when (data) { is ResponseState.Success -> { if ( - TextUtils.equals(data.value.status, FirebaseStatusType.SUCCESS) || - TextUtils.equals(data.value.status, FirebaseStatusType.FAILURE) + TextUtils.equals(data.value.status, SUCCESS) || + TextUtils.equals(data.value.status, FAILURE) ) { handleFirebaseResult(data.value.status.orEmpty(), PAYMENT_STATUS) } else { - data.value.requestId?.let { - firebaseInit( - it, - PAYMENT_STATUS, - data.value.notificationPath.orEmpty() - ) - apiPollInit(PAYMENT_STATUS, data.value) - } + data.value.requestId?.let { apiPollInit(PAYMENT_STATUS, data.value) } } } is ResponseState.Failure -> { @@ -276,32 +258,6 @@ class LEPaymentHandlerActivity : .launchIn(lifecycleScope) } - private fun firebaseInit( - requestId: String, - type: String, - notificationPath: String, - repaymentType: String? = null - ) { - firebaseDataReceiveListener = - object : FirebaseDataReceiveListener { - override fun onDataReceive(firebaseResponse: FirebaseResponse?) { - firebaseResponse?.let { - apiPollScheduler?.stopApiPoll() - handleFirebaseResult(it.status.orEmpty(), type, requestId, repaymentType) - } - } - } - firebaseDataHelper = null - firebaseDataHelper = FirebaseDataHelper() - firebaseDataHelper?.initFirebaseDataReceiver( - lifecycle, - firebaseDataReceiveListener, - type, - requestId, - notificationPath - ) - } - private fun apiPollInit(type: String, data: UploadDataAsyncResponse? = null) { val requestId = data?.requestId.orEmpty() apiPollScheduler = @@ -352,20 +308,20 @@ class LEPaymentHandlerActivity : ) { when (type) { INIT_REPAYMENT -> { - if (TextUtils.equals(status, FirebaseStatusType.SUCCESS)) { + if (TextUtils.equals(status, SUCCESS)) { viewModel.fetchPaymentOrderDetails(requestId.orEmpty(), repaymentType) - } else if (TextUtils.equals(status, FirebaseStatusType.FAILURE)) { + } else if (TextUtils.equals(status, FAILURE)) { handlePaymentStatus(status) } } PAYMENT_STATUS -> { - if (TextUtils.equals(status, FirebaseStatusType.SUCCESS)) { + if (TextUtils.equals(status, SUCCESS)) { analyticsEventTracker.onPaymentSuccess( screenNameForEvents(), queryMap[PAYMENT_TYPE] ) handlePaymentStatus(status) - } else if (TextUtils.equals(status, FirebaseStatusType.FAILURE)) { + } else if (TextUtils.equals(status, FAILURE)) { analyticsEventTracker.onPaymentFailure( screenNameForEvents(), queryMap[PAYMENT_TYPE] @@ -399,11 +355,11 @@ class LEPaymentHandlerActivity : hideLoader() resetListeners() - if (status == FirebaseStatusType.SUCCESS && screenContent?.successCta != null) { + if (status == SUCCESS && screenContent?.successCta != null) { screenContent?.successCta?.let { cta -> DeepLinkManager.getDeepLinkListener()?.navigateTo(this, cta, true, clearTask = true) } - } else if (status == FirebaseStatusType.FAILURE && screenContent?.failureCta != null) { + } else if (status == FAILURE && screenContent?.failureCta != null) { screenContent?.failureCta?.let { cta -> DeepLinkManager.getDeepLinkListener()?.navigateTo(this, cta, true, clearTask = true) } @@ -424,9 +380,6 @@ class LEPaymentHandlerActivity : } private fun resetListeners() { - firebaseDataHelper?.clear() - firebaseDataHelper = null - firebaseDataReceiveListener = null apiPollScheduler?.stopApiPoll() apiPollScheduler = null } @@ -531,7 +484,7 @@ class LEPaymentHandlerActivity : code = "200", orderID = orderID, description = description, - status = FirebaseStatusType.SUCCESS, + status = SUCCESS, provider = provider ) } @@ -567,7 +520,7 @@ class LEPaymentHandlerActivity : code = code, orderID = orderID, description = description, - status = FirebaseStatusType.FAILURE, + status = FAILURE, provider = provider ) } @@ -606,11 +559,6 @@ class LEPaymentHandlerActivity : private fun initApiPollingAndFirebase() { val config = viewModel.initPaymentResponse.value.invoke()?.requestConfig val requestId = viewModel.initPaymentResponse.value.invoke()?.requestId.orEmpty() - firebaseInit( - requestId, - PAYMENT_STATUS, - viewModel.initPaymentResponse.value.invoke()?.notificationPath.orEmpty() - ) apiPollScheduler?.stopApiPoll() apiPollScheduler = ApiPollScheduler( diff --git a/android/navi-widgets/src/main/java/com/navi/naviwidgets/utils/Constants.kt b/android/navi-widgets/src/main/java/com/navi/naviwidgets/utils/Constants.kt index bfd2896405..52b5c46b4c 100644 --- a/android/navi-widgets/src/main/java/com/navi/naviwidgets/utils/Constants.kt +++ b/android/navi-widgets/src/main/java/com/navi/naviwidgets/utils/Constants.kt @@ -149,9 +149,6 @@ const val EMAIL_SUBJECT_PARAM = "emailSubject" const val EMAIL_BODY_PARAM = "emailBody" const val CHOOSER_TITLE_PARAM = "chooserTitle" const val LOADING = "LOADING" -const val SUCCESS = "SUCCESS" -const val FAILURE = "FAILURE" -const val PENDING = "PENDING" const val DOWNLOAD = "DOWNLOAD" const val DOWNLOAD_URL = "DOWNLOAD_URL" const val BUTTON_LOADER = "button_loader" diff --git a/android/navi-widgets/src/main/java/com/navi/naviwidgets/widgets/AppPermissionItemWidgetLayout.kt b/android/navi-widgets/src/main/java/com/navi/naviwidgets/widgets/AppPermissionItemWidgetLayout.kt index 406a6bd1a3..bf676219d4 100644 --- a/android/navi-widgets/src/main/java/com/navi/naviwidgets/widgets/AppPermissionItemWidgetLayout.kt +++ b/android/navi-widgets/src/main/java/com/navi/naviwidgets/widgets/AppPermissionItemWidgetLayout.kt @@ -1,6 +1,6 @@ /* * - * * Copyright © 2022 by Navi Technologies Limited + * * Copyright © 2022-2024 by Navi Technologies Limited * * All rights reserved. Strictly confidential * */ @@ -11,14 +11,14 @@ import android.content.Context import android.util.AttributeSet import androidx.constraintlayout.widget.ConstraintLayout import androidx.lifecycle.LifecycleObserver +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.naviwidgets.callbacks.WidgetCallback import com.navi.naviwidgets.databinding.LayoutAppPermissionItemBinding import com.navi.naviwidgets.extensions.setTextFieldData import com.navi.naviwidgets.models.response.AppPermissionItemWidget import com.navi.naviwidgets.models.response.TitleAndStartIconData -import com.navi.naviwidgets.utils.FAILURE import com.navi.naviwidgets.utils.NaviWidgetIconUtils -import com.navi.naviwidgets.utils.SUCCESS import com.navi.naviwidgets.utils.setWidgetLayoutParams class AppPermissionItemWidgetLayout diff --git a/android/navi-widgets/src/main/java/com/navi/naviwidgets/widgets/labledtextinput/ui/LabeledTextInputWidgetV2.kt b/android/navi-widgets/src/main/java/com/navi/naviwidgets/widgets/labledtextinput/ui/LabeledTextInputWidgetV2.kt index d5b5fe2532..ad628b0f08 100644 --- a/android/navi-widgets/src/main/java/com/navi/naviwidgets/widgets/labledtextinput/ui/LabeledTextInputWidgetV2.kt +++ b/android/navi-widgets/src/main/java/com/navi/naviwidgets/widgets/labledtextinput/ui/LabeledTextInputWidgetV2.kt @@ -1,6 +1,6 @@ /* * - * * Copyright © 2022-2023 by Navi Technologies Limited + * * Copyright © 2022-2024 by Navi Technologies Limited * * All rights reserved. Strictly confidential * */ @@ -23,6 +23,8 @@ import androidx.core.content.res.ResourcesCompat import androidx.databinding.DataBindingUtil import androidx.lifecycle.coroutineScope import com.navi.alfred.utils.AlfredConstants.SENSITIVE_VIEW_TAG +import com.navi.base.utils.FAILURE +import com.navi.base.utils.SUCCESS import com.navi.base.utils.isNotNullAndNotEmpty import com.navi.base.utils.orFalse import com.navi.design.R as DesignR @@ -43,10 +45,8 @@ import com.navi.naviwidgets.extensions.setMaxCharLength import com.navi.naviwidgets.extensions.showWhenDataIsAvailable import com.navi.naviwidgets.extensions.textChanges import com.navi.naviwidgets.utils.ENABLE_CONTINUE_BUTTON -import com.navi.naviwidgets.utils.FAILURE import com.navi.naviwidgets.utils.IME_OPTION_DONE import com.navi.naviwidgets.utils.STORE_UPI_ID -import com.navi.naviwidgets.utils.SUCCESS import com.navi.naviwidgets.validations.BaseInputValidation import com.navi.naviwidgets.widgets.TextInputUtil import com.navi.naviwidgets.widgets.labledtextinput.LabeledTextInputWidgetModelV2