Bugfix penny drop (#3832)
* Condition change for setup auto pay * Add extra condition for auto pay Co-authored-by: rishvik-vardhan <rishvik.vardhan@navi.com>
This commit is contained in:
committed by
GitHub Enterprise
parent
ff3770dc05
commit
4e4bce6451
@@ -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 (
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user