diff --git a/app/src/main/java/com/naviapp/homeloandigital/models/response/HomeLoanAutoDebitDetails.kt b/app/src/main/java/com/naviapp/homeloandigital/models/response/HomeLoanAutoDebitDetails.kt index 25f44a04c8..530600e716 100644 --- a/app/src/main/java/com/naviapp/homeloandigital/models/response/HomeLoanAutoDebitDetails.kt +++ b/app/src/main/java/com/naviapp/homeloandigital/models/response/HomeLoanAutoDebitDetails.kt @@ -46,6 +46,7 @@ data class BankAccountDetails ( @SerializedName("accountNumber") val accountNumber: String? = null, @SerializedName("bankName") val bankName: String? = null, @SerializedName("status") val status: String? = null, + @SerializedName("source") val source: String? = null, ) data class HomeLoanEmiDetail ( diff --git a/app/src/main/java/com/naviapp/homeloandigital/posteligibility/fragment/HomeLoanAutoDebitFragment.kt b/app/src/main/java/com/naviapp/homeloandigital/posteligibility/fragment/HomeLoanAutoDebitFragment.kt index 06398f6b3b..2528b846a9 100644 --- a/app/src/main/java/com/naviapp/homeloandigital/posteligibility/fragment/HomeLoanAutoDebitFragment.kt +++ b/app/src/main/java/com/naviapp/homeloandigital/posteligibility/fragment/HomeLoanAutoDebitFragment.kt @@ -15,11 +15,10 @@ import android.view.View import android.view.ViewGroup import androidx.lifecycle.ViewModelProvider import com.digio.`in`.esign2sdk.DigioResponseListener -import com.navi.common.extensions.isNotNullAndNotEmpty +import com.navi.base.model.CtaData import com.navi.common.firebasedb.FirebaseStatusType import com.navi.common.firebasedb.MANDATE import com.navi.common.firebasedb.MANDATE_COMPLETE -import com.navi.base.model.CtaData import com.navi.common.utils.* import com.navi.naviwidgets.callbacks.WidgetCallback import com.navi.naviwidgets.utils.setBackgroundColor @@ -42,9 +41,10 @@ import com.naviapp.payment.models.ProviderType import com.naviapp.personalloan.getloan.bankdetailsautodebit.viewmodels.EnachSharedVM import com.naviapp.personalloan.getloan.helpers.EnachHelper import com.naviapp.personalloan.getloan.helpers.EnachStub -import com.naviapp.utils.* import com.naviapp.utils.Constants -import com.naviapp.utils.Constants.VERIFICATION_PENDING +import com.naviapp.utils.ifLet +import com.naviapp.utils.orValue +import com.naviapp.utils.setCornerRadius import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint @@ -98,7 +98,7 @@ class HomeLoanAutoDebitFragment : BaseHomeLoanFragment(), WidgetCallback, response.content?.note?.iconCode ) binding.bankVerifiedIv.setImageResource( - if (response.content?.bankDetails?.status != VERIFICATION_PENDING && response.content?.bankDetails?.bankId.isNotNullAndNotEmpty()) + if (viewModel.shouldSetUpAutoPay()) R.drawable.ic_bank_verified else R.drawable.ic_bank_unverified @@ -285,7 +285,7 @@ class HomeLoanAutoDebitFragment : BaseHomeLoanFragment(), WidgetCallback, private fun setupAutoDebit() { if (!isAdded && activity?.isFinishing.orTrue()) return - if (viewModel.autoDebitDetails.value?.content?.bankDetails?.status != VERIFICATION_PENDING && viewModel.autoDebitDetails.value?.content?.bankDetails?.bankId.isNotNullAndNotEmpty()) { + if (viewModel.shouldSetUpAutoPay()) { naviAnalyticsEventTracker.onAutopayClicked() showLoader() diff --git a/app/src/main/java/com/naviapp/homeloandigital/posteligibility/viewmodel/HomeLoanAutoDebitFragmentVM.kt b/app/src/main/java/com/naviapp/homeloandigital/posteligibility/viewmodel/HomeLoanAutoDebitFragmentVM.kt index eaafe6e5a2..95094baeea 100644 --- a/app/src/main/java/com/naviapp/homeloandigital/posteligibility/viewmodel/HomeLoanAutoDebitFragmentVM.kt +++ b/app/src/main/java/com/naviapp/homeloandigital/posteligibility/viewmodel/HomeLoanAutoDebitFragmentVM.kt @@ -19,6 +19,8 @@ import com.naviapp.homeloandigital.posteligibility.repository.HomeLoanAutoDebitR import com.naviapp.models.response.AdditionalDataAsyncResponse import com.naviapp.models.response.AutoDebitMandateDetails import com.naviapp.models.response.EnachMandateDetailsResponse +import com.naviapp.utils.Constants.APP +import com.naviapp.utils.Constants.VERIFICATION_PENDING import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import javax.inject.Inject @@ -99,6 +101,15 @@ class HomeLoanAutoDebitFragmentVM @Inject constructor(private val repository: Ho } } + fun shouldSetUpAutoPay(): Boolean { + autoDebitDetails.value?.content?.bankDetails?.let { + if (it.bankId.isNullOrEmpty()) return false + return ((it.source == APP) || (it.status == VERIFICATION_PENDING && it.source != APP) || + (it.status.isNullOrEmpty() && (it.source.isNullOrEmpty()))) + } + return false + } + fun deInitStopApiPolling() { _stopApiPolling.value = null } diff --git a/app/src/main/java/com/naviapp/utils/Constants.kt b/app/src/main/java/com/naviapp/utils/Constants.kt index 170839ade9..9de366e012 100644 --- a/app/src/main/java/com/naviapp/utils/Constants.kt +++ b/app/src/main/java/com/naviapp/utils/Constants.kt @@ -270,6 +270,7 @@ object Constants { const val BANK_ID = "bankId" const val REQUEST_ID = "requestId" const val VERIFICATION_PENDING = "PENDING" + const val APP = "APP" const val MANDATE_CHANGE = "mandateChange" const val AUTO_DEBIT_BACK = "AUTO_DEBIT_BACK" const val CARD_GROUP_REFERENCE_ID = "cardGroupReferenceId"