diff --git a/navi-amc/src/main/java/com/navi/amc/investorapp/base/BaseActivity.kt b/navi-amc/src/main/java/com/navi/amc/investorapp/base/BaseActivity.kt index a62873df77..4c6f180103 100644 --- a/navi-amc/src/main/java/com/navi/amc/investorapp/base/BaseActivity.kt +++ b/navi-amc/src/main/java/com/navi/amc/investorapp/base/BaseActivity.kt @@ -28,15 +28,11 @@ abstract class BaseActivity : AppCompatA private val progressDialog by lazy { CustomProgressDialog(this) } fun showProgress() { - currentFocus?.clearFocus() - hideProgress() progressDialog.show() } fun hideProgress() { - currentFocus?.clearFocus() progressDialog.hide() - progressDialog.cancel() } override fun onCreate(savedInstanceState: Bundle?) { diff --git a/navi-amc/src/main/java/com/navi/amc/investorapp/base/BaseViewModel.kt b/navi-amc/src/main/java/com/navi/amc/investorapp/base/BaseViewModel.kt index 1510aa4d92..6c3b7d5ef5 100644 --- a/navi-amc/src/main/java/com/navi/amc/investorapp/base/BaseViewModel.kt +++ b/navi-amc/src/main/java/com/navi/amc/investorapp/base/BaseViewModel.kt @@ -6,6 +6,8 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.liveData import com.navi.amc.investorapp.retrofit.ApiErrorHandler +import com.navi.amc.investorapp.util.orFalse +import com.navi.amc.investorapp.util.orTrue import kotlinx.coroutines.Dispatchers @@ -17,16 +19,17 @@ abstract class BaseViewModel : ViewModel() { private val _error = MutableLiveData() val error: LiveData = _error - private val _updateHomeData = MutableLiveData() - val updateHomeData: LiveData = _updateHomeData - fun showProgress() { - _progress.value = true + if (!progress.value.orFalse()) { + _progress.value = true + } } fun hideProgress() { - _progress.value = false + if (progress.value.orTrue()) { + _progress.value = false + } } fun hideProgressAndShowError(it: Exception) { diff --git a/navi-amc/src/main/java/com/navi/amc/investorapp/ui/investment/SellMyFundActivity.kt b/navi-amc/src/main/java/com/navi/amc/investorapp/ui/investment/SellMyFundActivity.kt index 9aaf68f34e..b9f03bc212 100644 --- a/navi-amc/src/main/java/com/navi/amc/investorapp/ui/investment/SellMyFundActivity.kt +++ b/navi-amc/src/main/java/com/navi/amc/investorapp/ui/investment/SellMyFundActivity.kt @@ -212,8 +212,6 @@ class SellMyFundActivity : BaseActivity() - val loader: LiveData = _loader - var otp1: ObservableField = ObservableField("") var otp2: ObservableField = ObservableField("") var otp3: ObservableField = ObservableField("") @@ -58,33 +55,31 @@ class SellMyFundViewModel : BaseViewModel() { } fun fundRedeemApi() { - _loader.value = true + showProgress() viewModelScope.launch(Dispatchers.IO) { ApiUtils.fundRedeemApi(folioNumber, isin, accessToken, { _responseRedeem.setValue(it) - _loader.value = false + hideProgress() }, { - _loader.value = false hideProgressAndShowError(it) }) } } fun sendOTP(mobileVerificationResponse: MobileVerificationResponse) { - _loader.value = true + showProgress() viewModelScope.launch(Dispatchers.IO) { ApiUtils.initiateMobileVerification(mobileVerificationResponse, { _responseOTP.value = it - _loader.value = false + hideProgress() }) { - _loader.value = false hideProgressAndShowError(it) } } } fun otpVerify(transactionId: String?) { - _loader.value = true + showProgress() val userData = OTPBeam( transactionId = transactionId, otp = getEnteredOtp() @@ -93,20 +88,18 @@ class SellMyFundViewModel : BaseViewModel() { ApiUtils.redeemOtpVerification(userData, { _response.value = it }, { - _loader.value = false hideProgressAndShowError(it) }) } } fun reSendOTPApi(mobileVerificationResponse: MobileVerificationResponse) { - _loader.value = true + showProgress() viewModelScope.launch(Dispatchers.IO) { ApiUtils.initiateMobileVerification(mobileVerificationResponse, { _responseOTPResend.value = it - _loader.value = false + hideProgress() }) { - _loader.value = false hideProgressAndShowError(it) } } @@ -122,9 +115,8 @@ class SellMyFundViewModel : BaseViewModel() { viewModelScope.launch(Dispatchers.IO) { ApiUtils.createRedeemOrder(userData, accessToken, { _responseRedeemOrder.value = it - _loader.value = false + hideProgress() }, { - _loader.value = false hideProgressAndShowError(it) }) } diff --git a/navi-amc/src/main/java/com/navi/amc/investorapp/ui/mutual_fund/BuyingFlowSIPViewModel.kt b/navi-amc/src/main/java/com/navi/amc/investorapp/ui/mutual_fund/BuyingFlowSIPViewModel.kt index 4730cf660f..950c7bb183 100644 --- a/navi-amc/src/main/java/com/navi/amc/investorapp/ui/mutual_fund/BuyingFlowSIPViewModel.kt +++ b/navi-amc/src/main/java/com/navi/amc/investorapp/ui/mutual_fund/BuyingFlowSIPViewModel.kt @@ -52,6 +52,7 @@ class BuyingFlowSIPViewModel : BaseViewModel() { fun createLumpSumOrderApi() { + showProgress() val userData = SipLumpsumResponse( amount = investmentamount.getString().removeComma().toDouble(), scheme = scheme, @@ -60,15 +61,15 @@ class BuyingFlowSIPViewModel : BaseViewModel() { viewModelScope.launch(Dispatchers.IO) { ApiUtils.createLumpsumOrder(userData, { _orderResponse.value = it + hideProgress() }) { hideProgressAndShowError(it) } - } } - fun createSipOrderApi() { + showProgress() val userData = ResponseSipBeam( sip_day = dayofinvestment.getString().toInt(), amount = investmentamount.getString().removeComma().toDouble(), @@ -77,14 +78,13 @@ class BuyingFlowSIPViewModel : BaseViewModel() { viewModelScope.launch(Dispatchers.IO) { ApiUtils.createSipOrder(userData, accessToken, { _sipOrderResponse.value = it + hideProgress() }) { hideProgressAndShowError(it) } - } } - fun getBankDetailsApi() { showProgress() viewModelScope.launch(Dispatchers.IO) { @@ -94,7 +94,6 @@ class BuyingFlowSIPViewModel : BaseViewModel() { }) { hideProgressAndShowError(it) } - } } @@ -108,8 +107,6 @@ class BuyingFlowSIPViewModel : BaseViewModel() { }, { hideProgressAndShowError(it) }) - } } - } \ No newline at end of file diff --git a/navi-amc/src/main/java/com/navi/amc/investorapp/ui/mutual_fund/BuyingflowSIPActivity.kt b/navi-amc/src/main/java/com/navi/amc/investorapp/ui/mutual_fund/BuyingflowSIPActivity.kt index 4eb6d795a3..1da903180c 100644 --- a/navi-amc/src/main/java/com/navi/amc/investorapp/ui/mutual_fund/BuyingflowSIPActivity.kt +++ b/navi-amc/src/main/java/com/navi/amc/investorapp/ui/mutual_fund/BuyingflowSIPActivity.kt @@ -51,9 +51,6 @@ class BuyingflowSIPActivity : BaseActivity { if (checkInternetSnackBar(this, binding.root)) { - progressDialog.show() if (typeOfInvestment == "sip") { if (isValid()) { viewModel.createSipOrderApi() @@ -309,7 +305,6 @@ class BuyingflowSIPActivity : BaseActivity