From 8bf87fa1d7c40f272e707525e50dabde2b5fa8f2 Mon Sep 17 00:00:00 2001 From: Preyea Regmi Date: Wed, 4 Sep 2019 10:18:16 +0900 Subject: [PATCH] Email validation apply --- .../kycV2/model/kyc/NativeCountry.java | 6 ++ .../RecipientAddV3ContractInterface.java | 2 + .../RecipientDetailValidatorV3.java | 59 +++++++++++++++++-- .../add/RecipientAddV3Presenter.java | 3 +- .../edit/RecipientEditV3Presenter.java | 5 +- .../RecipientAddEditV3Activity.java | 7 +++ 6 files changed, 74 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/model/kyc/NativeCountry.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/model/kyc/NativeCountry.java index 90e217b3..7511fe65 100755 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/model/kyc/NativeCountry.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/model/kyc/NativeCountry.java @@ -18,6 +18,12 @@ public class NativeCountry implements GenericImageWithTextListingDialog.ImageWit @Expose private String countryCode; + public NativeCountry(String id, String text, String countryCode) { + this.id = id; + this.text = text; + this.countryCode = countryCode; + } + public String getId() { return id; } 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 060f03f2..c489cfb7 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 @@ -165,4 +165,6 @@ public interface RecipientAddV3ContractInterface extends BaseContractInterface void clearViewDependentOnCountryServiceSelected(); void showNativeCountryFlag(int flagFromCountryCode); + + void updateValueToWidgetEmail(String email); } 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 871071cb..6428f03a 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 @@ -2,9 +2,10 @@ package com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipient import android.util.Log; +import com.gmeremit.online.gmeremittance_native.GmeApplication; +import com.gmeremit.online.gmeremittance_native.R; import com.gmeremit.online.gmeremittance_native.customwidgets.exchangecountrylistingdialog.CountryFlagMapper; import com.gmeremit.online.gmeremittance_native.kycV2.model.kyc.NativeCountry; -import com.gmeremit.online.gmeremittance_native.recipientV2.presenter.recipientadd.RecipientAddV2InteractorInterface; import com.gmeremit.online.gmeremittance_native.recipientV3.gateway.recipientaddeditV3.RecipientAddEditV3GatewayInterface; import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientaddeditV3.countryservice.CountryServiceModel; import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientaddeditV3.countryservice.ServiceTypeModel; @@ -16,9 +17,9 @@ import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientadded import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientlistingV3.AgentV3Model; import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientlistingV3.PaymentMethodV3Model; import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientlistingV3.ReceiverInfoV3Model; -import com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipientlistingV3.RecipientListingV3InteractorInterface; import com.gmeremit.online.gmeremittance_native.recipientV3.utils.EditTextConfigurationFactory; import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.payoutmode.BranchList; +import com.gmeremit.online.gmeremittance_native.utils.Utils; import java.util.HashMap; import java.util.Iterator; @@ -59,6 +60,7 @@ public class RecipientDetailValidatorV3 { private final ReceiverInfoV3Model recipientInfo; private final Map validationRuleModelMap; + private final GmeApplication.StringExtractor stringExtractor; private DynamicValidationModel availableDynamicValidationModel; private List availableCountryServiceData; @@ -69,7 +71,10 @@ public class RecipientDetailValidatorV3 { private List availableNativeCountryList; - public RecipientDetailValidatorV3(RecipientAddV3ContractInterface view, ReceiverInfoV3Model receiverInfoV3Model, RecipientAddEditV3GatewayInterface gateway) { + public RecipientDetailValidatorV3(RecipientAddV3ContractInterface view, ReceiverInfoV3Model receiverInfoV3Model, RecipientAddEditV3GatewayInterface gateway, GmeApplication.StringExtractor stringExtractor) { + + this.stringExtractor=stringExtractor; + if (receiverInfoV3Model == null) this.recipientInfo = new ReceiverInfoV3Model(); else @@ -160,6 +165,13 @@ public class RecipientDetailValidatorV3 { view.setSubmitButtonEnabled(false); + //By default we update native country same as selected Country + + view.updateValueToWidgetNativeCountry(selectedCountryServiceData.getCountryName()); + view.showNativeCountryFlag(CountryFlagMapper.getFlagFromCountryCode(selectedCountryServiceData.getCountryCode())); + recipientInfo.setNativeCountry(selectedCountryServiceData.getCountryName()); + recipientInfo.setNativeCountryCode(selectedCountryServiceData.getCountryCode()); + recipientInfo.setNativeCountryId(selectedCountryServiceData.getCountryId()); } @@ -320,9 +332,19 @@ public class RecipientDetailValidatorV3 { if (validationRuleModel != null) { String error = validationRuleModel.validateValueAndReturnErrorMessageOnFail(text); if (error == null) { - recipientInfo.setEmail(text); - view.setErrorOnWidgetEmail(null); - validateAll(); + + if(Utils.isValidEmail(text)) + { + recipientInfo.setEmail(text); + view.setErrorOnWidgetEmail(null); + validateAll(); + } + else + { + recipientInfo.setEmail(null); + view.setSubmitButtonEnabled(false); + view.setErrorOnWidgetEmail(stringExtractor.getStringFromStringId(R.string.email_valid_error)); + } } else { recipientInfo.setEmail(null); view.setSubmitButtonEnabled(false); @@ -578,6 +600,7 @@ public class RecipientDetailValidatorV3 { validationRuleModelMap.put(FIELD_BANK_NAME, rule); } else { recipientInfo.setAgent(null); + view.updateValueToWidgetBankName(null); } break; @@ -593,6 +616,8 @@ public class RecipientDetailValidatorV3 { AgentV3Model agentV3Model = recipientInfo.getAgent(); if (agentV3Model != null) { agentV3Model.setBranch(null); + view.updateValueToWidgetBranchName(null); + } } break; @@ -610,6 +635,8 @@ public class RecipientDetailValidatorV3 { AgentV3Model agentV3Model = recipientInfo.getAgent(); if (agentV3Model != null) { agentV3Model.setAccountNo(null); + view.updateValueToWidgetAccountNo(null); + } } break; @@ -624,6 +651,7 @@ public class RecipientDetailValidatorV3 { validationRuleModelMap.put(FIELD_ID_TYPE, rule); } else { recipientInfo.setIdType(null); + view.updateValueToWidgetIDType(null); } break; @@ -637,6 +665,7 @@ public class RecipientDetailValidatorV3 { validationRuleModelMap.put(FIELD_ID_NUMBER, rule); } else { recipientInfo.setIdNumber(null); + view.updateValueToWidgetIDNumber(null); } break; @@ -650,6 +679,7 @@ public class RecipientDetailValidatorV3 { validationRuleModelMap.put(FIELD_FIRST_NAME, rule); } else { recipientInfo.setFirstName(null); + view.updateValueToWidgetFirstName(null); } break; @@ -664,6 +694,7 @@ public class RecipientDetailValidatorV3 { validationRuleModelMap.put(FIELD_MIDDLE_NAME, rule); } else { recipientInfo.setMiddleName(null); + view.updateValueToWidgetMiddleName(null); } break; @@ -678,6 +709,7 @@ public class RecipientDetailValidatorV3 { validationRuleModelMap.put(FIELD_LAST_NAME, rule); } else { recipientInfo.setLastName(null); + view.updateValueToWidgetLastName(null); } break; @@ -693,6 +725,7 @@ public class RecipientDetailValidatorV3 { } else { recipientInfo.setFullName(null); + view.updateValueToWidgetFullName(null); } break; @@ -706,6 +739,7 @@ public class RecipientDetailValidatorV3 { validationRuleModelMap.put(FIELD_FIRST_NAME_IN_LOCAL, rule); } else { recipientInfo.setLocalFirstName(null); + view.updateValueToWidgetLocalFirstName(null); } break; @@ -719,6 +753,7 @@ public class RecipientDetailValidatorV3 { validationRuleModelMap.put(FIELD_MIDDLE_NAME_IN_LOCAL, rule); } else { recipientInfo.setLocalMiddleName(null); + view.updateValueToWidgetLocalMiddleName(null); } break; @@ -732,6 +767,7 @@ public class RecipientDetailValidatorV3 { validationRuleModelMap.put(FIELD_LAST_NAME_IN_LOCAL, rule); } else { recipientInfo.setLocalLastName(null); + view.updateValueToWidgetLocalLastName(null); } break; @@ -745,6 +781,7 @@ public class RecipientDetailValidatorV3 { validationRuleModelMap.put(FIELD_LOCAL_NAME, rule); } else { recipientInfo.setLocalFullName(null); + view.updateValueToWidgetLocalFullName(null); } break; @@ -758,6 +795,7 @@ public class RecipientDetailValidatorV3 { validationRuleModelMap.put(FIELD_MOBILE_NUMBER, rule); } else { recipientInfo.setMobile(null); + view.updateValueToWidgetMobileNumber(null); } break; @@ -772,6 +810,7 @@ public class RecipientDetailValidatorV3 { } else { recipientInfo.setStateId(null); recipientInfo.setState(null); + view.updateValueToWidgetProvince(null); } break; @@ -786,6 +825,8 @@ public class RecipientDetailValidatorV3 { } else { recipientInfo.setDistrictId(null); recipientInfo.setDistrict(null); + view.updateValueToWidgetDistrict(null); + } break; @@ -799,6 +840,7 @@ public class RecipientDetailValidatorV3 { validationRuleModelMap.put(FIELD_CITY, rule); } else { recipientInfo.setCity(null); + view.updateValueToWidgetCity(null); } break; @@ -814,6 +856,7 @@ public class RecipientDetailValidatorV3 { validationRuleModelMap.put(FIELD_ADDRESS, rule); } else { recipientInfo.setAddress(null); + view.updateValueToWidgetAddress(null); } break; @@ -829,6 +872,7 @@ public class RecipientDetailValidatorV3 { } else { recipientInfo.setRelationshipId(null); recipientInfo.setRelationship(null); + view.updateValueToWidgetRelation(null); } break; @@ -844,6 +888,7 @@ public class RecipientDetailValidatorV3 { } else { recipientInfo.setPurposeOfRemitId(null); recipientInfo.setPurposeOfRemit(null); + view.updateValueToWidgetTransferReason(null); } break; @@ -857,6 +902,7 @@ public class RecipientDetailValidatorV3 { validationRuleModelMap.put(FIELD_EMAIL, rule); } else { recipientInfo.setEmail(null); + view.updateValueToWidgetEmail(null); } break; @@ -872,6 +918,7 @@ public class RecipientDetailValidatorV3 { } else { recipientInfo.setNativeCountry(null); + view.updateValueToWidgetNativeCountry(null); } break; diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/add/RecipientAddV3Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/add/RecipientAddV3Presenter.java index 1b25fc73..f9457109 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/add/RecipientAddV3Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/add/RecipientAddV3Presenter.java @@ -2,6 +2,7 @@ package com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipient import android.util.Log; +import com.gmeremit.online.gmeremittance_native.GmeApplication; import com.gmeremit.online.gmeremittance_native.R; import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog; import com.gmeremit.online.gmeremittance_native.customwidgets.exchangecountrylistingdialog.CountryFlagMapper; @@ -37,7 +38,7 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter { public RecipientAddV3Presenter(RecipientAddEditV3GatewayInterface gateway, RecipientAddV3ContractInterface view, ReceiverInfoV3Model receiverInfoV3Model) { - super(view, new RecipientDetailValidatorV3(view, receiverInfoV3Model, gateway)); + super(view, new RecipientDetailValidatorV3(view, receiverInfoV3Model, gateway, GmeApplication.getStringExtractor())); this.gateway = gateway; this.compositeDisposable = new CompositeDisposable(); getNativeCountryList(); 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 466b4a2a..47924c97 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 @@ -2,6 +2,7 @@ package com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipient import android.util.Log; +import com.gmeremit.online.gmeremittance_native.GmeApplication; import com.gmeremit.online.gmeremittance_native.R; import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog; import com.gmeremit.online.gmeremittance_native.customwidgets.exchangecountrylistingdialog.CountryFlagMapper; @@ -42,7 +43,7 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter { private final CompositeDisposable compositeDisposable; public RecipientEditV3Presenter(RecipientAddEditV3GatewayInterface gateway, RecipientAddV3ContractInterface view, ReceiverInfoV3Model receiverInfoV3Model) { - super(view, new RecipientDetailValidatorV3(view, receiverInfoV3Model, gateway)); + super(view, new RecipientDetailValidatorV3(view, receiverInfoV3Model, gateway, GmeApplication.getStringExtractor())); this.gateway = gateway; this.compositeDisposable = new CompositeDisposable(); getNativeCountryList(); @@ -246,6 +247,8 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter { view.updateValueToWidgetAddress(validator.getRecipientDetail().getAddress()); view.updateValueToWidgetCity(validator.getRecipientDetail().getCity()); + view.updateValueToWidgetEmail(validator.getRecipientDetail().getEmail()); + AgentV3Model selectedAgent = validator.getRecipientDetail().getAgent(); if (selectedAgent != 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 d7a755e6..efa3622c 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 @@ -586,6 +586,11 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien recieverNativeCountrySelectionFormInputField.getEditTextView().setText(nativeCountry); } + @Override + public void updateValueToWidgetEmail(String email) { + recieverEmailFormInputField.getEditTextView().setText(email); + } + @Override public void updateValidationRuleToWidgetLocalFullName(boolean showWidget, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) { editTextConfiguration.applyConfigurationSetting(recieverLocalFullNameFormInputField.getEditText()); @@ -812,6 +817,8 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien } + + @Override public void updateValidationRuleToWidgetProvince(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) { // editTextConfiguration.applyConfigurationSetting(recieverStateSelectionFormInputField.getEditTextView());