diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientAddV3ContractInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientAddV3ContractInterface.java index b3fca6a7..f1b81233 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientAddV3ContractInterface.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientAddV3ContractInterface.java @@ -123,6 +123,7 @@ public interface RecipientAddV3ContractInterface extends BaseContractInterface + void setErrorOnWidgetBank(String message); void setErrorOnWidgetAccountNo(String error); @@ -152,6 +153,8 @@ public interface RecipientAddV3ContractInterface extends BaseContractInterface void setErrorOnWidgetLocalFullName(String error); + + void showMobilePrefixAndFlag(String prefix,int flag); void onEditSuccess(String recipientIdToBeUpdated); @@ -212,4 +215,5 @@ public interface RecipientAddV3ContractInterface extends BaseContractInterface void addOptionalAsHintToWidgetEmail(Boolean isOptional); void addOptionalAsHintToWidgetNativeCountry(Boolean isOptional); + } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java index ed300bd7..7ab2fd5e 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java @@ -446,6 +446,7 @@ public class RecipientDetailValidatorV3 { recipientInfo.updateSelectedBank(selectedBank); validationRuleModel.updateValidity(true); view.updateValueToWidgetBankName(selectedBank.toString()); + view.setErrorOnWidgetBank(null); //After successfull update of selected bank, determine weather it has corresponding dependency or not. // If dependency are there, override thee validation rule and manage the data @@ -1109,4 +1110,14 @@ public class RecipientDetailValidatorV3 { } } + //Prompt user to select different bank incase of partner is changed by server + //Don't clear the data, just show error message and disable update button for the moment + public void updateBankValidationWhenPartnerHasChanged() { + ValidationRuleModel validationRuleModel = validationRuleModelMap.get(FIELD_BANK_NAME); + if(validationRuleModel!=null) + { + view.setErrorOnWidgetBank("Please select a different bank"); + view.setSubmitButtonEnabled(false); + } + } } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java index 7ff8d560..e4f0aa95 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java @@ -41,11 +41,14 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter { private final RecipientAddEditV3GatewayInterface gateway; private final CompositeDisposable compositeDisposable; + private final boolean hasPartnerChanged; public RecipientEditV3Presenter(RecipientAddEditV3GatewayInterface gateway, RecipientAddV3ContractInterface view, ReceiverInfoV3Model receiverInfoV3Model) { super(view, new RecipientDetailValidatorV3(view, receiverInfoV3Model, gateway, GmeApplication.getStringExtractor())); this.gateway = gateway; this.compositeDisposable = new CompositeDisposable(); + this.hasPartnerChanged=receiverInfoV3Model.hasPartnerChanged(); + getNativeCountryList(); // mockCountryServiceDetail(); @@ -307,6 +310,9 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter { applyValidationRulesToView(data.getData().getValidationRuleList()); validator.validateFieldsExplicitly(); + if(hasPartnerChanged) { + validator.updateBankValidationWhenPartnerHasChanged(); + } } else { validator.getRecipientDetail().setPaymentMethod(null); diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientaddeditV3/RecipientAddEditV3Activity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientaddeditV3/RecipientAddEditV3Activity.java index 8294b41a..8a7b814c 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientaddeditV3/RecipientAddEditV3Activity.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientaddeditV3/RecipientAddEditV3Activity.java @@ -890,6 +890,11 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien recieverNativeCountryViewContainer.setVisibility(GONE); } + @Override + public void setErrorOnWidgetBank(String error) { + recieverBankSelectionFormInputField.updateErrorSafely(error); + } + @Override public void setErrorOnWidgetAccountNo(String error) {