Browse Source

Form order changed

master
Preyea Regmi 5 years ago
parent
commit
69edb9ad58
  1. 57
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/RecipientDetailValidatorFieldMappingV3.java
  2. 18
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java
  3. 6
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientPresenterInterface.java
  4. 12
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/add/RecipientAddV3Presenter.java
  5. 12
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java
  6. 127
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientaddeditV3/RecipientAddEditV3Activity.java
  7. 108
      app/src/main/res/layout/activity_recipient_add_edit_v3.xml
  8. 6
      app/src/test/java/com/gmeremit/online/gmeremittance_native/AddRecipientV3ValidationExecutorTester.java

57
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/RecipientDetailValidatorFieldMappingV3.java

@ -0,0 +1,57 @@
package com.gmeremit.online.gmeremittance_native.recipientV3.presenter;
public class RecipientDetailValidatorFieldMappingV3 {
/**
* "Bank Name": bankTextField,
* "Branch Name": branchTextField,
* "Account No.": accountTextField,
*
* "Id Type": idTextField,
* "ID Number": idNumberTextField,
*
* "First Name": firstNameTextField,
* "Middle Name": middleNameTextField,
* "Last Name": lastNameTextField,
* "Full Name": fullNameTextField,
*
* "First Name in Local": firstNameLocalTextField,
* "Middle Name in Local": middleNameLocalTextField,
* "Last Name in Local": lastNameLocalTextField,
* "Local Name": fullNameLocalTextField,
*
* "Mobile Number": mobileTextField,
*
* "Province": stateProvinceTextField,
* "District": districtTextField,
* "City": cityTextField,
* "Address": addressTextField,
*
* "Realation Group": relationTextField,
* "Transfer Reason": reasonTextField
*/
public static final String FIELD_BANK_NAME="Bank Name";
public static final String FIELD_BRANCH_NAME="Branch Name";
public static final String FIELD_ACCOUNT_NO="Account No.";
public static final String FIELD_ID_TYPE="Id Type";
public static final String FIELD_ID_NUMBER="ID Number";
public static final String FIELD_FIRST_NAME="First Name";
public static final String FIELD_MIDDLE_NAME="Middle Name";
public static final String FIELD_LAST_NAME="Last Name";
public static final String FIELD_FULL_NAME="Full Name";
public static final String FIELD_FIRST_NAME_IN_LOCAL="First Name in Local";
public static final String FIELD_MIDDLE_NAME_IN_LOCAL="Middle Name in Local";
public static final String FIELD_LAST_NAME_IN_LOCAL="Last Name in Local";
public static final String FIELD_LOCAL_NAME="Local Name";
public static final String FIELD_MOBILE_NUMBER="Mobile Number";
public static final String FIELD_PROVINCE_LOCAL="Province";
public static final String FIELD_DISTRICT_LOCAL="District";
public static final String FIELD_CITY="City";
public static final String FIELD_ADDRESS="Address";
public static final String FIELD_REALATION_GROUP="Realation Group";
public static final String FIELD_TRANSFER_REASON="Transfer Reason";
}

18
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidaitorV3.java → app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java

@ -7,14 +7,16 @@ import com.gmeremit.online.gmeremittance_native.recipientV3.utils.EditTextConfig
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
public class RecipientDetailValidaitorV3 {
import static com.gmeremit.online.gmeremittance_native.recipientV3.presenter.RecipientDetailValidatorFieldMappingV3.*;
public class RecipientDetailValidatorV3 {
private final RecipientAddV3ContractInterface view; private final RecipientAddV3ContractInterface view;
private final ReceiverInfoV3Model recipientInfo; private final ReceiverInfoV3Model recipientInfo;
private final Map<String, ValidationRuleModel> validationRuleModelMap; private final Map<String, ValidationRuleModel> validationRuleModelMap;
public RecipientDetailValidaitorV3(RecipientAddV3ContractInterface view, ReceiverInfoV3Model receiverInfoV3Model) {
public RecipientDetailValidatorV3(RecipientAddV3ContractInterface view, ReceiverInfoV3Model receiverInfoV3Model) {
if ( receiverInfoV3Model == null) { if ( receiverInfoV3Model == null) {
receiverInfoV3Model=new ReceiverInfoV3Model(); receiverInfoV3Model=new ReceiverInfoV3Model();
} }
@ -35,12 +37,13 @@ public class RecipientDetailValidaitorV3 {
throw new IllegalArgumentException("Validation rule cannot be null"); throw new IllegalArgumentException("Validation rule cannot be null");
switch (rule.getField()) { switch (rule.getField()) {
case FIELD_FULL_NAME_LOCAL:
view.updateValueToWidgetFullName(recipientInfo.getName());
case FIELD_ACCOUNT_NO:
//TODO Add Respective add when avialable in reciever info
view.updateValueToWidgetFullName("");
view.updateValidationRuleToWidgetFullName(rule.isFieldRequired(), view.updateValidationRuleToWidgetFullName(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(), EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt())); rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_FULL_NAME_LOCAL,rule);
validationRuleModelMap.put(FIELD_ACCOUNT_NO,rule);
break; break;
} }
} }
@ -48,7 +51,7 @@ public class RecipientDetailValidaitorV3 {
public void validateLocalName(String fullName) public void validateLocalName(String fullName)
{ {
ValidationRuleModel validationRuleModel=validationRuleModelMap.get(FIELD_FULL_NAME_LOCAL);
ValidationRuleModel validationRuleModel=validationRuleModelMap.get(FIELD_LOCAL_NAME);
if(validationRuleModel!=null) { if(validationRuleModel!=null) {
String error=validationRuleModel.validateValueAndReturnErrorMessageOnFail(fullName); String error=validationRuleModel.validateValueAndReturnErrorMessageOnFail(fullName);
if(error==null) { if(error==null) {
@ -73,8 +76,7 @@ public class RecipientDetailValidaitorV3 {
*/ */
} }
public static final String FIELD_FULL_NAME="Full Name";
public static final String FIELD_FULL_NAME_LOCAL="Local Name";
public void validateAccountNo(String text) { public void validateAccountNo(String text) {

6
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientPresenterInterface.java

@ -37,9 +37,9 @@ public interface RecipientPresenterInterface extends BasePresenterInterface {
void onRecipientIdNumberChanged(String text); void onRecipientIdNumberChanged(String text);
void onRecipientFirstNameLocalChanged(String text);
void onRecipientLocalFirstNameChanged(String text);
void onRecipientMiddleNameLocalChanged(String text);
void onRecipientLocalMiddleNameChanged(String text);
void onRecipientLastNameLocalChanged(String text);
void onRecipientLocalLastNameChanged(String text);
} }

12
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/add/RecipientAddV3Presenter.java

@ -9,7 +9,7 @@ import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientadded
import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientaddeditV3.countryservice.ServiceTypeModel; import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientaddeditV3.countryservice.ServiceTypeModel;
import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientaddeditV3.dynamicvalidation.ValidationRuleModel; import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientaddeditV3.dynamicvalidation.ValidationRuleModel;
import com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipientaddeditV3.RecipientAddV3ContractInterface; import com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipientaddeditV3.RecipientAddV3ContractInterface;
import com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipientaddeditV3.RecipientDetailValidaitorV3;
import com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipientaddeditV3.RecipientDetailValidatorV3;
import com.gmeremit.online.gmeremittance_native.utils.Constants; import com.gmeremit.online.gmeremittance_native.utils.Constants;
import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponseV2; import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponseV2;
import com.gmeremit.online.gmeremittance_native.utils.https.GenericResponseDataModel; import com.gmeremit.online.gmeremittance_native.utils.https.GenericResponseDataModel;
@ -37,7 +37,7 @@ public class RecipientAddV3Presenter extends BasePresenter implements RecipientA
private final RecipientAddV3ContractInterface view; private final RecipientAddV3ContractInterface view;
private final RecipientAddV3GatewayInterface gateway; private final RecipientAddV3GatewayInterface gateway;
private RecipientDetailValidaitorV3 validator;
private RecipientDetailValidatorV3 validator;
private CompositeDisposable compositeDisposable; private CompositeDisposable compositeDisposable;
private List<CountryServiceModel> availableCountryServiceData; private List<CountryServiceModel> availableCountryServiceData;
@ -47,7 +47,7 @@ public class RecipientAddV3Presenter extends BasePresenter implements RecipientA
public RecipientAddV3Presenter(RecipientAddV3GatewayInterface gateway,RecipientAddV3ContractInterface view ) { public RecipientAddV3Presenter(RecipientAddV3GatewayInterface gateway,RecipientAddV3ContractInterface view ) {
this.view = view; this.view = view;
this.gateway = gateway; this.gateway = gateway;
this.validator = new RecipientDetailValidaitorV3(view, null);
this.validator = new RecipientDetailValidatorV3(view, null);
init(); init();
} }
@ -240,17 +240,17 @@ public class RecipientAddV3Presenter extends BasePresenter implements RecipientA
} }
@Override @Override
public void onRecipientFirstNameLocalChanged(String text) {
public void onRecipientLocalFirstNameChanged(String text) {
validator.validateFirstNameLocal(text); validator.validateFirstNameLocal(text);
} }
@Override @Override
public void onRecipientMiddleNameLocalChanged(String text) {
public void onRecipientLocalMiddleNameChanged(String text) {
validator.validateMiddleNameLocal(text); validator.validateMiddleNameLocal(text);
} }
@Override @Override
public void onRecipientLastNameLocalChanged(String text) {
public void onRecipientLocalLastNameChanged(String text) {
validator.validateLastNameLocal(text); validator.validateLastNameLocal(text);
} }

12
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java

@ -6,7 +6,7 @@ import com.gmeremit.online.gmeremittance_native.recipientV3.gateway.recipientadd
import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientaddeditV3.countryservice.CountryServiceModel; import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientaddeditV3.countryservice.CountryServiceModel;
import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientaddeditV3.countryservice.ServiceTypeModel; import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientaddeditV3.countryservice.ServiceTypeModel;
import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientlistingV3.ReceiverInfoV3Model; import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientlistingV3.ReceiverInfoV3Model;
import com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipientaddeditV3.RecipientDetailValidaitorV3;
import com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipientaddeditV3.RecipientDetailValidatorV3;
import com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipientaddeditV3.RecipientAddV3ContractInterface; import com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipientaddeditV3.RecipientAddV3ContractInterface;
import com.gmeremit.online.gmeremittance_native.utils.Constants; import com.gmeremit.online.gmeremittance_native.utils.Constants;
import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponseV2; import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponseV2;
@ -36,7 +36,7 @@ public class RecipientEditV3Presenter extends BasePresenter implements Recipient
private final RecipientAddV3ContractInterface view; private final RecipientAddV3ContractInterface view;
private final RecipientAddV3GatewayInterface gateway; private final RecipientAddV3GatewayInterface gateway;
private final CompositeDisposable compositeDisposable; private final CompositeDisposable compositeDisposable;
private final RecipientDetailValidaitorV3 validator;
private final RecipientDetailValidatorV3 validator;
private List<CountryServiceModel> availableCountryServiceData; private List<CountryServiceModel> availableCountryServiceData;
private CountryServiceModel selectedCountry; private CountryServiceModel selectedCountry;
@ -47,7 +47,7 @@ public class RecipientEditV3Presenter extends BasePresenter implements Recipient
this.gateway = gateway; this.gateway = gateway;
this.view = view; this.view = view;
this.compositeDisposable = new CompositeDisposable(); this.compositeDisposable = new CompositeDisposable();
this.validator = new RecipientDetailValidaitorV3(view, receiverInfo);
this.validator = new RecipientDetailValidatorV3(view, receiverInfo);
init(); init();
} }
@ -169,17 +169,17 @@ public class RecipientEditV3Presenter extends BasePresenter implements Recipient
} }
@Override @Override
public void onRecipientFirstNameLocalChanged(String text) {
public void onRecipientLocalFirstNameChanged(String text) {
validator.validateFirstNameLocal(text); validator.validateFirstNameLocal(text);
} }
@Override @Override
public void onRecipientMiddleNameLocalChanged(String text) {
public void onRecipientLocalMiddleNameChanged(String text) {
validator.validateMiddleNameLocal(text); validator.validateMiddleNameLocal(text);
} }
@Override @Override
public void onRecipientLastNameLocalChanged(String text) {
public void onRecipientLocalLastNameChanged(String text) {
validator.validateLastNameLocal(text); validator.validateLastNameLocal(text);
} }

127
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientaddeditV3/RecipientAddEditV3Activity.java

@ -66,6 +66,8 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien
@BindView(R.id.recieverAccountNoFormInputField) @BindView(R.id.recieverAccountNoFormInputField)
GMEFormInputField recieverAccountNoFormInputField; GMEFormInputField recieverAccountNoFormInputField;
@BindView(R.id.recieverFirstNameFormInputField) @BindView(R.id.recieverFirstNameFormInputField)
GMEFormInputField recieverFirstNameFormInputField; GMEFormInputField recieverFirstNameFormInputField;
@ -75,18 +77,23 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien
@BindView(R.id.recieverLastNameFormInputField) @BindView(R.id.recieverLastNameFormInputField)
GMEFormInputField recieverLastNameFormInputField; GMEFormInputField recieverLastNameFormInputField;
@BindView(R.id.recieverFirstNameLocalFormInputField)
GMEFormInputField recieverFirstNameLocalFormInputField;
@BindView(R.id.recieverFullNameFormInputField)
GMEFormInputField recieverFullNameFormInputField;
@BindView(R.id.recieverLocalFirstNameFormInputField)
GMEFormInputField recieverLocalFirstNameFormInputField;
@BindView(R.id.recieverMiddleNameLocalFormInputField)
GMEFormInputField recieverMiddleNameLocalFormInputField;
@BindView(R.id.recieverLocalMiddleNameFormInputField)
GMEFormInputField recieverLocalMiddleNameFormInputField;
@BindView(R.id.recieverLastNameLocalFormInputField)
GMEFormInputField recieverLastNameLocalFormInputField;
@BindView(R.id.recieverLocalLastNameFormInputField)
GMEFormInputField recieverLocalLastNameFormInputField;
@BindView(R.id.recieverLocalNameFormInputField)
GMEFormInputField recieverLocalNameFormInputField;
@BindView(R.id.recieverLocalFullNameFormInputField)
GMEFormInputField recieverLocalFullNameFormInputField;
@BindView(R.id.receiverStateViewContainer) @BindView(R.id.receiverStateViewContainer)
@ -143,15 +150,18 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien
private RecipientPresenterInterface presenter; private RecipientPresenterInterface presenter;
private RecipientLocalNameTextWatcher recieverNameTextWatcher;
private RecipientAccountNoTextWatcher recieverAccountNoTextWatcher; private RecipientAccountNoTextWatcher recieverAccountNoTextWatcher;
private RecipientFirstNameTextWatcher recieverFirstNameTextWatcher; private RecipientFirstNameTextWatcher recieverFirstNameTextWatcher;
private RecipientMiddleNameTextWatcher recieverMiddleNameTextWatcher; private RecipientMiddleNameTextWatcher recieverMiddleNameTextWatcher;
private RecipientLastNameTextWatcher recieverLastNameTextWatcher; private RecipientLastNameTextWatcher recieverLastNameTextWatcher;
private RecipientFirstNameLocalTextWatcher recieverFirstNameLocalTextWatcher;
private RecipientMiddleNameLocalTextWatcher recieverMiddleNameLocalTextWatcher;
private RecipientLastNameLocalTextWatcher recieverLastNameLocalTextWatcher;
private RecipientLocalNameTextWatcher recieverLocalNameTextWatcher;
private RecipientFullNameTextWatcher recieverFullNameTextWatcher;
private RecipientLocalFirstNameTextWatcher recieverFirstNameLocalTextWatcher;
private RecipientLocalMiddleNameTextWatcher recieverMiddleNameLocalTextWatcher;
private RecipientLocalLastNameTextWatcher recieverLastNameLocalTextWatcher;
private RecipientLocalFullNameTextWatcher recieverLocalFullNameTextWatcher;
private RecipientCityTextWatcher recieverCityTextWatcher; private RecipientCityTextWatcher recieverCityTextWatcher;
private RecipientAddressTextWatcher recieverAddressTextWatcher; private RecipientAddressTextWatcher recieverAddressTextWatcher;
private RecipientMobileNumberTextWatcher recieverMobileNoTextWatcher; private RecipientMobileNumberTextWatcher recieverMobileNoTextWatcher;
@ -183,15 +193,18 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien
} }
private void initTextWatchers() { private void initTextWatchers() {
recieverNameTextWatcher = new RecipientLocalNameTextWatcher();
recieverAccountNoTextWatcher= new RecipientAccountNoTextWatcher(); recieverAccountNoTextWatcher= new RecipientAccountNoTextWatcher();
recieverFirstNameTextWatcher= new RecipientFirstNameTextWatcher(); recieverFirstNameTextWatcher= new RecipientFirstNameTextWatcher();
recieverMiddleNameTextWatcher= new RecipientMiddleNameTextWatcher(); recieverMiddleNameTextWatcher= new RecipientMiddleNameTextWatcher();
recieverLastNameTextWatcher= new RecipientLastNameTextWatcher(); recieverLastNameTextWatcher= new RecipientLastNameTextWatcher();
recieverFirstNameLocalTextWatcher= new RecipientFirstNameLocalTextWatcher();
recieverMiddleNameLocalTextWatcher= new RecipientMiddleNameLocalTextWatcher();
recieverLastNameLocalTextWatcher= new RecipientLastNameLocalTextWatcher();
recieverLocalNameTextWatcher= new RecipientLocalNameTextWatcher();
recieverFullNameTextWatcher = new RecipientFullNameTextWatcher();
recieverFirstNameLocalTextWatcher= new RecipientLocalFirstNameTextWatcher();
recieverMiddleNameLocalTextWatcher= new RecipientLocalMiddleNameTextWatcher();
recieverLastNameLocalTextWatcher= new RecipientLocalLastNameTextWatcher();
recieverLocalFullNameTextWatcher = new RecipientLocalFullNameTextWatcher();
recieverCityTextWatcher= new RecipientCityTextWatcher(); recieverCityTextWatcher= new RecipientCityTextWatcher();
recieverAddressTextWatcher= new RecipientAddressTextWatcher(); recieverAddressTextWatcher= new RecipientAddressTextWatcher();
recieverMobileNoTextWatcher= new RecipientMobileNumberTextWatcher(); recieverMobileNoTextWatcher= new RecipientMobileNumberTextWatcher();
@ -203,30 +216,39 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien
@Override @Override
public void registerTextWatchers(boolean action) { public void registerTextWatchers(boolean action) {
if (action) { if (action) {
recieverLocalNameFormInputField.addTextWatchers(recieverNameTextWatcher);
recieverAccountNoFormInputField.addTextWatchers(recieverAccountNoTextWatcher); recieverAccountNoFormInputField.addTextWatchers(recieverAccountNoTextWatcher);
recieverFirstNameFormInputField.addTextWatchers(recieverFirstNameTextWatcher); recieverFirstNameFormInputField.addTextWatchers(recieverFirstNameTextWatcher);
recieverMiddleNameFormInputField.addTextWatchers(recieverMiddleNameTextWatcher); recieverMiddleNameFormInputField.addTextWatchers(recieverMiddleNameTextWatcher);
recieverLastNameFormInputField.addTextWatchers(recieverLastNameTextWatcher); recieverLastNameFormInputField.addTextWatchers(recieverLastNameTextWatcher);
recieverFirstNameLocalFormInputField.addTextWatchers(recieverFirstNameLocalTextWatcher);
recieverMiddleNameLocalFormInputField.addTextWatchers(recieverMiddleNameLocalTextWatcher);
recieverLastNameLocalFormInputField.addTextWatchers(recieverLastNameLocalTextWatcher);
recieverLocalNameFormInputField.addTextWatchers(recieverLocalNameTextWatcher);
recieverFullNameFormInputField.removeTextWatchers(recieverFullNameTextWatcher);
recieverLocalFirstNameFormInputField.addTextWatchers(recieverFirstNameLocalTextWatcher);
recieverLocalMiddleNameFormInputField.addTextWatchers(recieverMiddleNameLocalTextWatcher);
recieverLocalLastNameFormInputField.addTextWatchers(recieverLastNameLocalTextWatcher);
recieverLocalFullNameFormInputField.addTextWatchers(recieverLocalFullNameTextWatcher);
recieverCityFormInputField.addTextWatchers(recieverCityTextWatcher); recieverCityFormInputField.addTextWatchers(recieverCityTextWatcher);
recieverAddressFormInputField.addTextWatchers(recieverAddressTextWatcher); recieverAddressFormInputField.addTextWatchers(recieverAddressTextWatcher);
recieverMobileNoFormInputField.addTextWatchers(recieverMobileNoTextWatcher); recieverMobileNoFormInputField.addTextWatchers(recieverMobileNoTextWatcher);
recieverEmailFormInputField.addTextWatchers(recieverEmailTextWatcher); recieverEmailFormInputField.addTextWatchers(recieverEmailTextWatcher);
recieverIdNumberFormInputField.addTextWatchers(recieverIdNumberTextWatcher); recieverIdNumberFormInputField.addTextWatchers(recieverIdNumberTextWatcher);
} else { } else {
recieverLocalNameFormInputField.removeTextWatchers(recieverNameTextWatcher);
recieverAccountNoFormInputField.removeTextWatchers(recieverAccountNoTextWatcher); recieverAccountNoFormInputField.removeTextWatchers(recieverAccountNoTextWatcher);
recieverFirstNameFormInputField.removeTextWatchers(recieverFirstNameTextWatcher); recieverFirstNameFormInputField.removeTextWatchers(recieverFirstNameTextWatcher);
recieverMiddleNameFormInputField.removeTextWatchers(recieverMiddleNameTextWatcher); recieverMiddleNameFormInputField.removeTextWatchers(recieverMiddleNameTextWatcher);
recieverLastNameFormInputField.removeTextWatchers(recieverLastNameTextWatcher); recieverLastNameFormInputField.removeTextWatchers(recieverLastNameTextWatcher);
recieverFirstNameLocalFormInputField.removeTextWatchers(recieverFirstNameLocalTextWatcher);
recieverMiddleNameLocalFormInputField.removeTextWatchers(recieverMiddleNameLocalTextWatcher);
recieverLastNameLocalFormInputField.removeTextWatchers(recieverLastNameLocalTextWatcher);
recieverLocalNameFormInputField.removeTextWatchers(recieverLocalNameTextWatcher);
recieverFullNameFormInputField.removeTextWatchers(recieverFullNameTextWatcher);
recieverLocalFirstNameFormInputField.removeTextWatchers(recieverFirstNameLocalTextWatcher);
recieverLocalMiddleNameFormInputField.removeTextWatchers(recieverMiddleNameLocalTextWatcher);
recieverLocalLastNameFormInputField.removeTextWatchers(recieverLastNameLocalTextWatcher);
recieverLocalFullNameFormInputField.removeTextWatchers(recieverLocalFullNameTextWatcher);
recieverCityFormInputField.removeTextWatchers(recieverCityTextWatcher); recieverCityFormInputField.removeTextWatchers(recieverCityTextWatcher);
recieverAddressFormInputField.removeTextWatchers(recieverAddressTextWatcher); recieverAddressFormInputField.removeTextWatchers(recieverAddressTextWatcher);
recieverMobileNoFormInputField.removeTextWatchers(recieverMobileNoTextWatcher); recieverMobileNoFormInputField.removeTextWatchers(recieverMobileNoTextWatcher);
@ -279,23 +301,23 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien
@Override @Override
public void updateValidationRuleToWidgetFullName(boolean showWidget, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) { public void updateValidationRuleToWidgetFullName(boolean showWidget, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverLocalNameFormInputField.getEditText());
editTextConfiguration.applyConfigurationSetting(recieverLocalFullNameFormInputField.getEditText());
if (showWidget) { if (showWidget) {
recieverLocalNameFormInputField.setVisibility(View.VISIBLE);
recieverLocalFullNameFormInputField.setVisibility(View.VISIBLE);
} else } else
recieverLocalNameFormInputField.setVisibility(GONE);
recieverLocalFullNameFormInputField.setVisibility(GONE);
} }
@Override @Override
public void updateValueToWidgetFullName(String name) { public void updateValueToWidgetFullName(String name) {
recieverLocalNameFormInputField.removeTextWatchers(recieverNameTextWatcher);
recieverLocalNameFormInputField.getEditTextView().setText(name);
recieverLocalNameFormInputField.addTextWatchers(recieverNameTextWatcher);
recieverLocalFullNameFormInputField.removeTextWatchers(recieverLocalFullNameTextWatcher);
recieverLocalFullNameFormInputField.getEditTextView().setText(name);
recieverLocalFullNameFormInputField.addTextWatchers(recieverLocalFullNameTextWatcher);
} }
@Override @Override
public void setErrorOnWidgetFullName(String error) { public void setErrorOnWidgetFullName(String error) {
recieverLocalNameFormInputField.updateErrorSafely(error);
recieverLocalFullNameFormInputField.updateErrorSafely(error);
} }
@ -590,27 +612,43 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien
} }
} }
public class RecipientFirstNameLocalTextWatcher extends TextWatcherAdapter {
public class RecipientFullNameTextWatcher extends TextWatcherAdapter {
@Override @Override
public void onTextUpdated(String text) { public void onTextUpdated(String text) {
presenter.onRecipientFirstNameLocalChanged(text);
presenter.onRecipientLocalNameChanged(text);
}
}
public class RecipientLocalFirstNameTextWatcher extends TextWatcherAdapter {
@Override
public void onTextUpdated(String text) {
presenter.onRecipientLocalFirstNameChanged(text);
}
}
public class RecipientLocalMiddleNameTextWatcher extends TextWatcherAdapter {
@Override
public void onTextUpdated(String text) {
presenter.onRecipientLocalMiddleNameChanged(text);
} }
} }
public class RecipientMiddleNameLocalTextWatcher extends TextWatcherAdapter {
public class RecipientLocalLastNameTextWatcher extends TextWatcherAdapter {
@Override @Override
public void onTextUpdated(String text) { public void onTextUpdated(String text) {
presenter.onRecipientMiddleNameLocalChanged(text);
presenter.onRecipientLocalLastNameChanged(text);
} }
} }
public class RecipientLastNameLocalTextWatcher extends TextWatcherAdapter {
public class RecipientLocalFullNameTextWatcher extends TextWatcherAdapter {
@Override @Override
public void onTextUpdated(String text) { public void onTextUpdated(String text) {
presenter.onRecipientLastNameLocalChanged(text);
presenter.onRecipientLocalNameChanged(text);
} }
} }
public class RecipientCityTextWatcher extends TextWatcherAdapter { public class RecipientCityTextWatcher extends TextWatcherAdapter {
@Override @Override
public void onTextUpdated(String text) { public void onTextUpdated(String text) {
@ -648,12 +686,5 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien
} }
} }
public class RecipientLocalNameTextWatcher extends TextWatcherAdapter {
@Override
public void onTextUpdated(String text) {
presenter.onRecipientLocalNameChanged(text);
}
}
} }

108
app/src/main/res/layout/activity_recipient_add_edit_v3.xml

@ -167,23 +167,53 @@
android:visibility="visible" android:visibility="visible"
app:edFormHint="Account Number" /> app:edFormHint="Account Number" />
<LinearLayout
android:id="@+id/receiverIDTypeViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="visible">
<com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField
android:id="@+id/recieverIDTypeSelectionFormInputField"
style="@style/gme_form_text_input_layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:visibility="visible"
app:edFormCursorVisible="false"
app:edFormFocusable="false"
app:edFormHint="Select ID Type" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginStart="@dimen/_4sdp"
android:layout_marginEnd="@dimen/_4sdp"
android:background="@drawable/ic_arrow_down" />
</LinearLayout>
<com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField <com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField
android:id="@+id/recieverFirstNameFormInputField"
android:id="@+id/recieverIdNumberFormInputField"
style="@style/gme_form_text_input_layout" style="@style/gme_form_text_input_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/_1sdp" android:layout_marginEnd="@dimen/_1sdp"
android:visibility="visible" android:visibility="visible"
app:edFormHint="First Name" />
app:edFormHint="ID Number" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField <com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField
android:id="@+id/recieverFirstNameLocalFormInputField"
android:id="@+id/recieverFirstNameFormInputField"
style="@style/gme_form_text_input_layout" style="@style/gme_form_text_input_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/_1sdp" android:layout_marginEnd="@dimen/_1sdp"
android:visibility="visible" android:visibility="visible"
app:edFormHint="First Name (Local)" />
app:edFormHint="First Name" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField <com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField
android:id="@+id/recieverMiddleNameFormInputField" android:id="@+id/recieverMiddleNameFormInputField"
@ -194,26 +224,47 @@
android:visibility="visible" android:visibility="visible"
app:edFormHint="Middle Name" /> app:edFormHint="Middle Name" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField <com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField
android:id="@+id/recieverMiddleNameLocalFormInputField"
android:id="@+id/recieverLastNameFormInputField"
style="@style/gme_form_text_input_layout" style="@style/gme_form_text_input_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/_1sdp" android:layout_marginEnd="@dimen/_1sdp"
android:visibility="visible" android:visibility="visible"
app:edFormHint="Middle Name (Local)" />
app:edFormHint="Last Name" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField <com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField
android:id="@+id/recieverLastNameFormInputField"
android:id="@+id/recieverFullNameFormInputField"
style="@style/gme_form_text_input_layout" style="@style/gme_form_text_input_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/_1sdp" android:layout_marginEnd="@dimen/_1sdp"
android:visibility="visible" android:visibility="visible"
app:edFormHint="Last Name" />
app:edFormHint="Full Name" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField
android:id="@+id/recieverLocalFirstNameFormInputField"
style="@style/gme_form_text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/_1sdp"
android:visibility="visible"
app:edFormHint="First Name (Local)" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField
android:id="@+id/recieverLocalMiddleNameFormInputField"
style="@style/gme_form_text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/_1sdp"
android:visibility="visible"
app:edFormHint="Middle Name (Local)" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField <com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField
android:id="@+id/recieverLastNameLocalFormInputField"
android:id="@+id/recieverLocalLastNameFormInputField"
style="@style/gme_form_text_input_layout" style="@style/gme_form_text_input_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -223,13 +274,13 @@
<com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField <com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField
android:id="@+id/recieverLocalNameFormInputField"
android:id="@+id/recieverLocalFullNameFormInputField"
style="@style/gme_form_text_input_layout" style="@style/gme_form_text_input_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/_1sdp" android:layout_marginEnd="@dimen/_1sdp"
android:visibility="visible" android:visibility="visible"
app:edFormHint="Local Name" />
app:edFormHint="Local Full Name" />
<LinearLayout <LinearLayout
android:id="@+id/receiverStateViewContainer" android:id="@+id/receiverStateViewContainer"
@ -376,42 +427,7 @@
android:background="@drawable/ic_arrow_down" /> android:background="@drawable/ic_arrow_down" />
</LinearLayout> </LinearLayout>
<LinearLayout
android:id="@+id/receiverIDTypeViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="visible">
<com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField
android:id="@+id/recieverIDTypeSelectionFormInputField"
style="@style/gme_form_text_input_layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:visibility="visible"
app:edFormCursorVisible="false"
app:edFormFocusable="false"
app:edFormHint="Select ID Type" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginStart="@dimen/_4sdp"
android:layout_marginEnd="@dimen/_4sdp"
android:background="@drawable/ic_arrow_down" />
</LinearLayout>
<com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField
android:id="@+id/recieverIdNumberFormInputField"
style="@style/gme_form_text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/_1sdp"
android:visibility="visible"
app:edFormHint="ID Number" />
</LinearLayout> </LinearLayout>

6
app/src/test/java/com/gmeremit/online/gmeremittance_native/AddRecipientV3ValidationExecutorTester.java

@ -1,7 +1,7 @@
package com.gmeremit.online.gmeremittance_native; package com.gmeremit.online.gmeremittance_native;
import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientlistingV3.ReceiverInfoV3Model; import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientlistingV3.ReceiverInfoV3Model;
import com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipientaddeditV3.RecipientDetailValidaitorV3;
import com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipientaddeditV3.RecipientDetailValidatorV3;
import com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipientaddeditV3.RecipientAddV3ContractInterface; import com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipientaddeditV3.RecipientAddV3ContractInterface;
import org.junit.Test; import org.junit.Test;
@ -14,7 +14,7 @@ public class AddRecipientV3ValidationExecutorTester {
@Test(expected = IllegalArgumentException.class) @Test(expected = IllegalArgumentException.class)
public void constructor_Should_Throw_IAE_For_Null_Parameter() public void constructor_Should_Throw_IAE_For_Null_Parameter()
{ {
new RecipientDetailValidaitorV3(null,null);
new RecipientDetailValidatorV3(null,null);
} }
@ -23,7 +23,7 @@ public class AddRecipientV3ValidationExecutorTester {
{ {
RecipientAddV3ContractInterface view=Mockito.mock(RecipientAddV3ContractInterface.class); RecipientAddV3ContractInterface view=Mockito.mock(RecipientAddV3ContractInterface.class);
ReceiverInfoV3Model receiverInfoV3Model= Mockito.mock(ReceiverInfoV3Model.class); ReceiverInfoV3Model receiverInfoV3Model= Mockito.mock(ReceiverInfoV3Model.class);
RecipientDetailValidaitorV3 validationExecutor= new RecipientDetailValidaitorV3(view,receiverInfoV3Model);
RecipientDetailValidatorV3 validationExecutor= new RecipientDetailValidatorV3(view,receiverInfoV3Model);
validationExecutor.applyDynamicValidationRuleToView(null); validationExecutor.applyDynamicValidationRuleToView(null);

Loading…
Cancel
Save