|
@ -1,8 +1,11 @@ |
|
|
package com.gmeremit.online.gmeremittance_native.sendmoneyV2.presenter; |
|
|
package com.gmeremit.online.gmeremittance_native.sendmoneyV2.presenter; |
|
|
|
|
|
|
|
|
|
|
|
import android.util.Log; |
|
|
|
|
|
|
|
|
import androidx.lifecycle.LiveData; |
|
|
import androidx.lifecycle.LiveData; |
|
|
import androidx.lifecycle.MutableLiveData; |
|
|
import androidx.lifecycle.MutableLiveData; |
|
|
|
|
|
|
|
|
|
|
|
import com.crashlytics.android.Crashlytics; |
|
|
import com.gmeremit.online.gmeremittance_native.R; |
|
|
import com.gmeremit.online.gmeremittance_native.R; |
|
|
import com.gmeremit.online.gmeremittance_native.accountmanage.model.accountlisting.AutoDebitAccount; |
|
|
import com.gmeremit.online.gmeremittance_native.accountmanage.model.accountlisting.AutoDebitAccount; |
|
|
import com.gmeremit.online.gmeremittance_native.accountmanage.model.accountlisting.WebRequestModel; |
|
|
import com.gmeremit.online.gmeremittance_native.accountmanage.model.accountlisting.WebRequestModel; |
|
@ -39,6 +42,7 @@ import com.google.gson.reflect.TypeToken; |
|
|
|
|
|
|
|
|
import java.lang.reflect.Type; |
|
|
import java.lang.reflect.Type; |
|
|
import java.util.ArrayList; |
|
|
import java.util.ArrayList; |
|
|
|
|
|
import java.util.Collections; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
import io.reactivex.Observable; |
|
|
import io.reactivex.Observable; |
|
@ -70,6 +74,7 @@ public class SendMoneyV2Presenter extends BaseViewModel implements SendMoneyV2Pr |
|
|
private MutableLiveData<ExchangeCalculationModel> exchangeCalculationModelMutableLiveData; |
|
|
private MutableLiveData<ExchangeCalculationModel> exchangeCalculationModelMutableLiveData; |
|
|
private MutableLiveData<Integer> exchangeRateCouponResetActionLiveData; |
|
|
private MutableLiveData<Integer> exchangeRateCouponResetActionLiveData; |
|
|
private MutableLiveData<Boolean> exchangeRateCouponViewRequiredLiveData; |
|
|
private MutableLiveData<Boolean> exchangeRateCouponViewRequiredLiveData; |
|
|
|
|
|
private MutableLiveData<AmountDetailSendMoneyFragment.CouponDetailViewDTO> couponSelectionLiveData; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private long countDownRemainingValue; |
|
|
private long countDownRemainingValue; |
|
@ -90,6 +95,7 @@ public class SendMoneyV2Presenter extends BaseViewModel implements SendMoneyV2Pr |
|
|
exchangeCalculationModelMutableLiveData = null; |
|
|
exchangeCalculationModelMutableLiveData = null; |
|
|
exchangeRateCouponResetActionLiveData = new MutableLiveData<>(); |
|
|
exchangeRateCouponResetActionLiveData = new MutableLiveData<>(); |
|
|
exchangeRateCouponViewRequiredLiveData = new MutableLiveData<>(); |
|
|
exchangeRateCouponViewRequiredLiveData = new MutableLiveData<>(); |
|
|
|
|
|
couponSelectionLiveData = new MutableLiveData<>(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -265,9 +271,25 @@ public class SendMoneyV2Presenter extends BaseViewModel implements SendMoneyV2Pr |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public AmountDetailSendMoneyFragment.CouponDetailViewDTO onCouponSelected(CouponDTO selectedCoupon) { |
|
|
|
|
|
|
|
|
public void onCouponSelected(CouponDTO selectedCoupon) { |
|
|
this.selectedCoupon = selectedCoupon; |
|
|
this.selectedCoupon = selectedCoupon; |
|
|
return calculateNetAppliedAmount(); |
|
|
|
|
|
|
|
|
couponSelectionLiveData.setValue(calculateNetAppliedAmount()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void preSelectDefaultCouponIfAvailable() { |
|
|
|
|
|
if (couponList == null || couponList.size() == 1) |
|
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
List<CouponDTO> sortedCouponList = couponList.subList(1, couponList.size()); |
|
|
|
|
|
Collections.sort(sortedCouponList); |
|
|
|
|
|
onCouponSelected(sortedCouponList.get(0)); |
|
|
|
|
|
} |
|
|
|
|
|
catch (Exception e) |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private AmountDetailSendMoneyFragment.CouponDetailViewDTO calculateNetAppliedAmount() { |
|
|
private AmountDetailSendMoneyFragment.CouponDetailViewDTO calculateNetAppliedAmount() { |
|
@ -517,6 +539,11 @@ public class SendMoneyV2Presenter extends BaseViewModel implements SendMoneyV2Pr |
|
|
return exchangeRateCouponViewRequiredLiveData; |
|
|
return exchangeRateCouponViewRequiredLiveData; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public LiveData<AmountDetailSendMoneyFragment.CouponDetailViewDTO> subscribeToCouponSelectedEvent() { |
|
|
|
|
|
return couponSelectionLiveData; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
private void resetCouponData() { |
|
|
private void resetCouponData() { |
|
|
selectedCoupon = null; |
|
|
selectedCoupon = null; |
|
|
exchangeRateCouponResetActionLiveData.setValue(couponList != null ? couponList.size() - 1 : 0); |
|
|
exchangeRateCouponResetActionLiveData.setValue(couponList != null ? couponList.size() - 1 : 0); |
|
@ -538,6 +565,7 @@ public class SendMoneyV2Presenter extends BaseViewModel implements SendMoneyV2Pr |
|
|
currentExchangeCalcResult = exchangeCalculationApiResponse.getData(); |
|
|
currentExchangeCalcResult = exchangeCalculationApiResponse.getData(); |
|
|
exchangeCalculationModelMutableLiveData.setValue(exchangeCalculationApiResponse.getData()); |
|
|
exchangeCalculationModelMutableLiveData.setValue(exchangeCalculationApiResponse.getData()); |
|
|
showCouponRelatedData(true); |
|
|
showCouponRelatedData(true); |
|
|
|
|
|
preSelectDefaultCouponIfAvailable(); |
|
|
} else { |
|
|
} else { |
|
|
view.showPopUpMessage(exchangeCalculationApiResponse.getMsg(), CustomAlertDialog.AlertType.FAILED, null); |
|
|
view.showPopUpMessage(exchangeCalculationApiResponse.getMsg(), CustomAlertDialog.AlertType.FAILED, null); |
|
|
showCouponRelatedData(false); |
|
|
showCouponRelatedData(false); |
|
|