NTP-385 | regression fix + removing unused arg (#11705)

This commit is contained in:
Apoorv Nigam
2024-07-04 18:46:25 +05:30
committed by GitHub
parent 535382a1c5
commit 80cc4141c1
15 changed files with 39 additions and 39 deletions

View File

@@ -587,10 +587,7 @@ class CheckerActivity : BasePaymentActivity() {
when (type) {
PAYMENT_CALLBACK,
PAYMENT_CALLBACK_SYNC -> {
viewModel.triggerPreloadIfRequired(
null,
AmcTaskManager.PAYMENT_SUCCESS_PREFETCH_TASK
)
viewModel.triggerPreloadIfRequired(AmcTaskManager.PAYMENT_SUCCESS_PREFETCH_TASK)
}
}
}

View File

@@ -154,7 +154,7 @@ class OrderStatusFragment :
override fun onResume() {
super.onResume()
if (launchCounter > 1) {
if (launchCounter > 1 && viewModel.isRefreshRequired.orFalse()) {
if (AmcTaskManager.needToUpdateData(OrdersPrefetchTask.ORDERS_PREFETCH)) {
fetchData()
triggerPreloadIfRequired()
@@ -693,6 +693,8 @@ class OrderStatusFragment :
orderId = it.value.orEmpty()
}
}
triggerPreloadIfRequired()
viewModel.onPaymentPollingSuccess()
viewModel.fetchScreenData(orderId, dataSource, extraParams)
viewModel.fetchCSATResponse(dataSource, orderId)
}

View File

@@ -13,7 +13,6 @@ import androidx.lifecycle.MutableLiveData
import com.navi.amc.common.taskProcessor.AmcTaskManager
import com.navi.amc.utils.AmcAnalytics
import com.navi.base.model.GenericAnalyticsData
import com.navi.common.model.PreloadTaskConfig
import com.navi.common.viewmodel.BaseVM
abstract class BaseAmcVM : BaseVM() {
@@ -66,10 +65,7 @@ abstract class BaseAmcVM : BaseVM() {
)
}
fun triggerPreloadIfRequired(
preloadTaskConfig: PreloadTaskConfig?,
prefetchTask: List<String>? = null
) {
fun triggerPreloadIfRequired(prefetchTask: List<String>? = null) {
AmcTaskManager.onPrefetchTaskRequired(prefetchTask ?: AmcTaskManager.KYC_PREFETCH_TASK)
}

View File

@@ -190,7 +190,7 @@ class CheckerVM @Inject constructor(private val repository: CheckerRepository) :
val response = repository.postPanData(bodyMap)
if (response.error == null && response.errors.isNullOrEmpty()) {
_postPanData.value = response.data
triggerPreloadIfRequired(response.data?.preloadTaskConfig)
triggerPreloadIfRequired()
} else {
sendEvent(AmcAnalytics.AMC_INIT_KYC_PAN_VERIFY_FAILED, null, AmcAnalytics.KYC_PAN)
_panErrorData.value = response.errors?.getOrNull(0)
@@ -203,7 +203,7 @@ class CheckerVM @Inject constructor(private val repository: CheckerRepository) :
val response = repository.postPanDataV2()
if (response.error == null && response.errors.isNullOrEmpty()) {
_postPanDataV2.postValue(response.data)
triggerPreloadIfRequired(response.data?.preloadTaskConfig)
triggerPreloadIfRequired()
} else {
sendEvent(AmcAnalytics.AMC_INIT_KYC_PAN_VERIFY_FAILED, null, AmcAnalytics.KYC_PAN)
_panErrorData.postValue(response.errors?.getOrNull(0))
@@ -218,7 +218,7 @@ class CheckerVM @Inject constructor(private val repository: CheckerRepository) :
if (response.error.isNotNull() && !response.errors.isNullOrEmpty()) {
sendEvent(AmcAnalytics.AMC_INIT_KYC_NAME_VERIFY_FAILED, null, AmcAnalytics.KYC_PAN)
}
triggerPreloadIfRequired(response.data?.preloadTaskConfig)
triggerPreloadIfRequired()
}
}
@@ -307,10 +307,7 @@ class CheckerVM @Inject constructor(private val repository: CheckerRepository) :
) {
prefetchTaskList = AmcTaskManager.AUTO_PAY_SUCCESS_PREFETCH_TASK
}
triggerPreloadIfRequired(
_asyncResponse.value?.data?.preloadTaskConfig,
prefetchTaskList
)
triggerPreloadIfRequired(prefetchTaskList)
}
}
}
@@ -334,10 +331,7 @@ class CheckerVM @Inject constructor(private val repository: CheckerRepository) :
if (response.isSuccessWithData() && successData.isSuccessWithData()) {
sipReferenceId = response.data?.sipReferenceId.orEmpty()
_asyncResponse.value = successData
triggerPreloadIfRequired(
successData.data?.preloadTaskConfig,
AmcTaskManager.SIP_PREFETCH_TASK
)
triggerPreloadIfRequired(AmcTaskManager.SIP_PREFETCH_TASK)
}
}
}

View File

@@ -29,6 +29,7 @@ import com.navi.base.model.ActionData
import com.navi.base.model.LineItem
import com.navi.base.utils.isNotNull
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
@@ -79,6 +80,7 @@ constructor(
var startCSATTriggered: Boolean = false
var isOrderStatusPolling: Boolean = false
var isRefreshRequired: Boolean = true
private var isInitEventTriggered = false
@@ -139,6 +141,10 @@ constructor(
TURBO_CHECKOUT_FLOW -> {
val response = repository.fetchAsyncRequestDataPayment(requestId)
_asyncResponse.value = response.data
if (response.data?.status == FirebaseStatusType.SUCCESS) {
val prefetchTaskList = AmcTaskManager.KYC_PREFETCH_TASK
triggerPreloadIfRequired(prefetchTaskList)
}
}
else -> {
val response = repository.checkApiPollStatus(requestId)
@@ -161,6 +167,15 @@ constructor(
}
}
private fun clearAsyncResponse() {
_asyncResponse.value = null
}
fun onPaymentPollingSuccess() {
clearAsyncResponse()
isRefreshRequired = false
}
override fun onCleared() {
errorResponse.value = null
_orderStatusScreenData.value = null

View File

@@ -112,7 +112,7 @@ constructor(private val repository: PennyDropOptionsRepository) : BaseAmcVM() {
setErrorData(response.errors, response.error)
}
if (response.data?.status == FirebaseStatusType.SUCCESS) {
triggerPreloadIfRequired(response.data?.preloadTaskConfig)
triggerPreloadIfRequired()
}
}
}

View File

@@ -109,9 +109,7 @@ class EmploymentDetailsFragment : AmcBaseFragment(), WidgetCallback, FooterInter
fragmentInterchangeListener?.navigateToNextScreen(
viewModel.dataItems.value?.footer?.nextCta
)
viewModel.triggerPreloadIfRequired(
viewModel.postDataResponse.value?.preloadTaskConfig
)
viewModel.triggerPreloadIfRequired()
}
}
}

View File

@@ -137,9 +137,7 @@ class PersonalDetailsFragment :
fragmentInterchangeListener?.navigateToNextScreen(
viewModel.dataItems.value?.footer?.nextCta
)
viewModel.triggerPreloadIfRequired(
viewModel.postDataResponse.value?.preloadTaskConfig
)
viewModel.triggerPreloadIfRequired()
}
}
}

View File

@@ -60,7 +60,7 @@ class BankDetailsVM @Inject constructor(private val repository: BankDetailsRepos
val response = repository.postData(bodyMap)
if (response.error == null && response.errors.isNullOrEmpty()) {
_postData.value = response.data
triggerPreloadIfRequired(response.data?.preloadTaskConfig)
triggerPreloadIfRequired()
} else {
setErrorData(response.errors, response.error)
}

View File

@@ -72,7 +72,7 @@ class KycEsignVM @Inject constructor(private val repository: KycEsignRepository)
val response = repository.esignDigioInitiateSync()
if (response.error == null && response.errors.isNullOrEmpty()) {
_initDigioConfigSync.value = response.data
triggerPreloadIfRequired(response.data?.preloadTaskConfig)
triggerPreloadIfRequired()
} else {
setErrorData(response.errors, response.error)
}

View File

@@ -73,7 +73,7 @@ class KycStartVM @Inject constructor(private val repository: KycStartRepository)
val response = repository.restartKyc()
if (response.error == null && response.errors.isNullOrEmpty()) {
_restartKyc.value = Pair(actionData, response.data)
triggerPreloadIfRequired(response.data?.preloadTaskConfig)
triggerPreloadIfRequired()
} else {
setErrorData(response.errors, response.error)
}
@@ -96,7 +96,7 @@ class KycStartVM @Inject constructor(private val repository: KycStartRepository)
val response = repository.postDigioKycData(aadhaarVerificationData)
if (response.error == null && response.errors.isNullOrEmpty()) {
_kycPostDigioConfig.value = response.data
triggerPreloadIfRequired(response.data?.preloadTaskConfig)
triggerPreloadIfRequired()
} else {
setErrorData(response.errors, response.error)
}
@@ -131,7 +131,7 @@ class KycStartVM @Inject constructor(private val repository: KycStartRepository)
val response = repository.verifyOkycStatus(aadhaarVerificationData)
if (response.error == null && response.errors.isNullOrEmpty()) {
_verifyOkycResponse.value = response.data
triggerPreloadIfRequired(response.data?.preloadTaskConfig)
triggerPreloadIfRequired()
} else {
setErrorData(response.errors, response.error, tag = CheckerActivity.ERROR_DATA)
}

View File

@@ -68,7 +68,7 @@ constructor(private val repository: KycVerificationOptionsRepository) : BaseAmcV
val response = repository.verifyOkycStatus(aadhaarVerificationData)
if (response.error == null && response.errors.isNullOrEmpty()) {
_verifyOkycResponse.value = response.data
triggerPreloadIfRequired(response.data?.preloadTaskConfig)
triggerPreloadIfRequired()
} else {
setErrorData(response.errors, response.error)
}
@@ -101,7 +101,7 @@ constructor(private val repository: KycVerificationOptionsRepository) : BaseAmcV
val response = repository.postDigioKycData(aadhaarVerificationData)
if (response.error == null && response.errors.isNullOrEmpty()) {
_kycPostDigioConfig.value = response.data
triggerPreloadIfRequired(response.data?.preloadTaskConfig)
triggerPreloadIfRequired()
} else {
setErrorData(response.errors, response.error)
}

View File

@@ -71,7 +71,7 @@ class PanVM @Inject constructor(private val repository: PanRepository) : BaseAmc
val response = repository.postData(bodyMap)
if (response.error == null && response.errors.isNullOrEmpty()) {
_postData.value = response.data
triggerPreloadIfRequired(response.data?.preloadTaskConfig)
triggerPreloadIfRequired()
} else {
sendEvent(AmcAnalytics.AMC_INIT_KYC_PAN_VERIFY_FAILED, null, AmcAnalytics.KYC_PAN)
setErrorData(response.errors, response.error)
@@ -86,7 +86,7 @@ class PanVM @Inject constructor(private val repository: PanRepository) : BaseAmc
if (response.error.isNotNull() && !response.errors.isNullOrEmpty()) {
sendEvent(AmcAnalytics.AMC_INIT_KYC_NAME_VERIFY_FAILED, null, AmcAnalytics.KYC_PAN)
}
triggerPreloadIfRequired(response.data?.preloadTaskConfig)
triggerPreloadIfRequired()
}
}
}

View File

@@ -46,7 +46,7 @@ class PermissionVM @Inject constructor(private val permissionRepository: Permiss
val response = permissionRepository.submitPermissionDetails()
if (response.error == null && response.errors?.isEmpty().orTrue()) {
_permissionSubmitResponse.value = response.data
triggerPreloadIfRequired(response.data?.preloadTaskConfig)
triggerPreloadIfRequired()
} else {
setErrorData(response.errors, response.error)
}

View File

@@ -83,7 +83,7 @@ class SignatureVM @Inject constructor(private val repository: SignatureRepositor
if (response.error == null && response.errors.isNullOrEmpty()) {
status = FirebaseStatusType.SUCCESS
_postResponse.value = response.data
triggerPreloadIfRequired(response.data?.preloadTaskConfig)
triggerPreloadIfRequired()
} else {
status = FirebaseStatusType.FAILURE
setErrorData(response.errors, response.error)