Browse Source

add terms and condition in sendMoney in progress

new_design
Santosh Bhandary 3 years ago
parent
commit
09ea1ccc3b
  1. 8
      app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientlisting/view/recipientaddedit/BeneficiaryAddEditFragment.java
  2. 19
      app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientlisting/view/recipientaddedit/RecipientAddEditActivity.java
  3. 25
      app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientaddeditV3/RecipientAddEditBaseV3ViewModel.java
  4. 213
      app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientaddeditV3/RecipientAddV3ContractInterface.java
  5. 3
      app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientaddeditV3/RecipientPresenterInterface.java
  6. 44
      app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientaddeditV3/add/RecipientAddV3ViewModel.java
  7. 104
      app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientaddeditV3/edit/RecipientEditV3ViewModel.java
  8. 32
      app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/RecipientAddV3ViewModelFactory.java
  9. 32
      app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/RecipientEditV3ViewModelFactory.java
  10. 1270
      app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientaddeditV3/BeneficiaryAddEditV3Fragment.java
  11. 72
      app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientaddeditV3/BeneficiaryAddEditV3TermsFragment.java
  12. 1416
      app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientaddeditV3/RecipientAddEditV3Activity.java
  13. 550
      app/src/main/res/layout/activity_recipient_add_edit_v3.xml
  14. 555
      app/src/main/res/layout/fragment_beneficiary_add_edit_v3.xml

8
app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientlisting/view/recipientaddedit/BeneficiaryAddEditFragment.java

@ -110,13 +110,7 @@ public class BeneficiaryAddEditFragment extends BaseFragment implements Recipie
initTextWatchers();
removeInputFiltersByDefault();
}
public String getPageTitle(){
if (recipientToBeEdited != null) {
return getString(R.string.edit_recipient_text);
} else {
return getString(R.string.add_recipient_text);
}
}
private void removeInputFiltersByDefault() {
binding.edReceiverPaymentMethodSelection.setFilters(new InputFilter[]{});

19
app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientlisting/view/recipientaddedit/RecipientAddEditActivity.java

@ -47,7 +47,6 @@ public class RecipientAddEditActivity extends BaseActivity implements RecipientA
private BeneficiaryAddEditTermsFragment beneficiaryAddEditTermsFragment;
private GenericViewPagerAdapter addBeneficiaryViewPagerAdapter;
private RecipientAddEditBaseViewModel viewModel;
private ReceiverInfoModel recipientToBeEdited;
@ -75,16 +74,6 @@ public class RecipientAddEditActivity extends BaseActivity implements RecipientA
private void init() {
recipientToBeEdited = getIntent().getParcelableExtra(RECIPIENT_INFO_BUNDLE_KEY);
/* if (recipientToBeEdited != null) {
toolbarTitle.setText(getString(R.string.edit_recipient_text));
RecipientEditViewModelFactory recipientEditViewModelFactory = new RecipientEditViewModelFactory(this,recipientToBeEdited);
viewModel = new ViewModelProvider(this, recipientEditViewModelFactory).get(RecipientEditViewModel.class);
} else {
toolbarTitle.setText(getString(R.string.add_recipient_text));
RecipientAddViewModelFactory recipientAddViewModelFactory = new RecipientAddViewModelFactory(this,recipientToBeEdited);
viewModel = new ViewModelProvider(this, recipientAddViewModelFactory).get(RecipientAddViewModel.class);
}*/
iv_cancel.setVisibility(View.INVISIBLE);
}
@ -94,15 +83,21 @@ public class RecipientAddEditActivity extends BaseActivity implements RecipientA
addBeneficiaryViewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager());
List<Fragment> fragments = new ArrayList<>();
Bundle bundle = new Bundle();
bundle.putParcelable(RECIPIENT_UPDATED_ID_BUNDLE_KEY, recipientToBeEdited);
beneficiaryAddEditFragment = new BeneficiaryAddEditFragment();
beneficiaryAddEditFragment.setArguments(bundle);
beneficiaryAddEditTermsFragment = new BeneficiaryAddEditTermsFragment();
beneficiaryAddEditTermsFragment.setArguments(bundle);
beneficiaryAddEditTermsFragment.setArguments(bundle);
fragments.add(beneficiaryAddEditFragment);
fragments.add(beneficiaryAddEditTermsFragment);
addBeneficiaryViewPagerAdapter.addFragments(fragments);

25
app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientaddeditV3/RecipientAddEditBaseV3Presenter.java → app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientaddeditV3/RecipientAddEditBaseV3ViewModel.java

@ -4,6 +4,7 @@ import android.text.TextUtils;
import com.swifttech.remit.jmecustomer.R;
import com.swifttech.remit.jmecustomer.base.BasePresenter;
import com.swifttech.remit.jmecustomer.base.BaseViewModel;
import com.swifttech.remit.jmecustomer.common.view.AnswerInputDialog;
import com.swifttech.remit.jmecustomer.features.kyc.newCustomer.model.NativeCountry;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.model.recipientaddeditV3.countryservice.CountryServiceModel;
@ -19,13 +20,13 @@ import com.swifttech.remit.jmecustomer.features.sendmoney.model.payoutmode.BankB
import java.util.List;
public abstract class RecipientAddEditBaseV3Presenter extends BasePresenter implements RecipientPresenterInterface {
public abstract class RecipientAddEditBaseV3ViewModel extends BaseViewModel implements RecipientPresenterInterface {
protected final RecipientAddV3ContractInterface view;
protected RecipientDetailValidatorV3 validator;
public RecipientAddEditBaseV3Presenter(
public RecipientAddEditBaseV3ViewModel(
RecipientAddV3ContractInterface view,
RecipientDetailValidatorV3 validator) {
this.view = view;
@ -46,17 +47,17 @@ public abstract class RecipientAddEditBaseV3Presenter extends BasePresenter impl
private void init() {
view.hideAllViewExceptCountry();
view.getRecipientAddEditV3ContractInterface().hideAllViewExceptCountry();
}
protected void applyValidationRulesToView(List<ValidationRuleModel> data) {
if (data != null) {
view.registerTextWatchers(false);
view.getRecipientAddEditV3ContractInterface().registerTextWatchers(false);
validator.clearValidationRule();
for (ValidationRuleModel rule : data) {
validator.applyDynamicValidationRuleToView(rule);
}
view.registerTextWatchers(true);
view.getRecipientAddEditV3ContractInterface().registerTextWatchers(true);
}
}
@ -85,7 +86,7 @@ public abstract class RecipientAddEditBaseV3Presenter extends BasePresenter impl
@Override
public void onTransferReasonSelected(DropDownDTO selectedTransferReason) {
if (shouldPromptToInputAnswer(selectedTransferReason)) {
view.promptToInputAnswer(view.getContext().getResources().getString(R.string.specifyPurposeOfRemit_text), new AnswerInputDialog.AnswerInputDialogListener() {
view.getRecipientAddEditV3ContractInterface().promptToInputAnswer(view.getContext().getResources().getString(R.string.specifyPurposeOfRemit_text), new AnswerInputDialog.AnswerInputDialogListener() {
@Override
public void onAnswerSubmitted(String answer) {
validator.updateTransfer(DropDownDTO.createFromUserAnswerInput(answer));
@ -104,7 +105,7 @@ public abstract class RecipientAddEditBaseV3Presenter extends BasePresenter impl
@Override
public void onRelationSelected(DropDownDTO selectedRelation) {
if (shouldPromptToInputAnswer(selectedRelation)) {
view.promptToInputAnswer(view.getContext().getResources().getString(R.string.specifyYourRelation_text), new AnswerInputDialog.AnswerInputDialogListener() {
view.getRecipientAddEditV3ContractInterface().promptToInputAnswer(view.getContext().getResources().getString(R.string.specifyYourRelation_text), new AnswerInputDialog.AnswerInputDialogListener() {
@Override
public void onAnswerSubmitted(String answer) {
validator.updateRelation(DropDownDTO.createFromUserAnswerInput(answer));
@ -261,6 +262,16 @@ public abstract class RecipientAddEditBaseV3Presenter extends BasePresenter impl
validator.updateNativeCountry(selectedNativeCountry);
}
@Override
public void proceedToEditSucess() {
}
@Override
public void proceedToAddSucess() {
}
private boolean shouldPromptToInputAnswer(DropDownDTO optionType) {
return (optionType != null && ("Other (Please specify)".equalsIgnoreCase(optionType.getText())));
}

213
app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientaddeditV3/RecipientAddV3ContractInterface.java

@ -2,6 +2,7 @@ package com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.r
import com.swifttech.remit.jmecustomer.base.BaseContractInterface;
import com.swifttech.remit.jmecustomer.common.customwidgets.common.GenericPromptDialog;
import com.swifttech.remit.jmecustomer.features.recipientlisting.presenter.recipientaddedit.RecipientAddContractInterface;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.utils.EditTextConfigurationFactory;
import com.swifttech.remit.jmecustomer.common.view.AnswerInputDialog;
import com.swifttech.remit.jmecustomer.features.sendmoney.model.SendMoneyRequiredDataV3;
@ -9,219 +10,229 @@ import com.swifttech.remit.jmecustomer.features.sendmoney.model.SendMoneyRequire
public interface RecipientAddV3ContractInterface extends BaseContractInterface
{
void registerTextWatchers(boolean action);
void onEditSuccess(String recipientIdToBeUpdated);
void setSubmitButtonEnabled(boolean action);
void onAddSuccess(String recipientIdToBeUpdated);
void hideAllViewExceptCountry();
void showTermsAndConditionScreen();
void promptToSendMoney(GenericPromptDialog.GenericDialogPromptListener listener, String message);
RecipientAddEditV3ContractInterface getRecipientAddEditV3ContractInterface();
void hideAllFormFieldsExceptCountryAndPaymentMethod();
interface RecipientAddEditV3ContractInterface extends BaseContractInterface {
void redirectToSendMoney(SendMoneyRequiredDataV3 sendMoneyRequiredDataV3);
void registerTextWatchers(boolean action);
void updateValueToWidgetSelectedCountry(String countryName);
void setSubmitButtonEnabled(boolean action);
void showSelectedCountryFlag(int id);
void hideAllViewExceptCountry();
void updateValueToWidgetSelectedPaymentMethod(String description);
void promptToSendMoney(GenericPromptDialog.GenericDialogPromptListener listener, String message);
void showCountrySelectionView(boolean visiblity);
void showPaymentSelectionView(boolean visiblity);
void hideAllFormFieldsExceptCountryAndPaymentMethod();
void updateValidationRuleToWidgetPaymentMethodSelection(boolean visiblity);
void redirectToSendMoney(SendMoneyRequiredDataV3 sendMoneyRequiredDataV3);
void updateValueToWidgetSelectedCountry(String countryName);
void updateValueToWidgetBankName(String value);
void showSelectedCountryFlag(int id);
void updateValueToWidgetBranchName(String value);
void updateValueToWidgetSelectedPaymentMethod(String description);
void updateValueToWidgetAccountNo(String value);
void showCountrySelectionView(boolean visiblity);
void showPaymentSelectionView(boolean visiblity);
void updateValueToWidgetIDType(String value);
void updateValidationRuleToWidgetPaymentMethodSelection(boolean visiblity);
void updateValueToWidgetIDNumber(String value);
void updateValueToWidgetBankName(String value);
void updateValueToWidgetFirstName(String value);
void updateValueToWidgetBranchName(String value);
void updateValueToWidgetMiddleName(String value);
void updateValueToWidgetAccountNo(String value);
void updateValueToWidgetLastName(String value);
void updateValueToWidgetIDType(String value);
void updateValueToWidgetFullName(String value);
void updateValueToWidgetIDNumber(String value);
void updateValueToWidgetLocalFirstName(String value);
void updateValueToWidgetFirstName(String value);
void updateValueToWidgetLocalMiddleName(String value);
void updateValueToWidgetMiddleName(String value);
void updateValueToWidgetLocalLastName(String value);
void updateValueToWidgetLastName(String value);
void updateValueToWidgetLocalFullName(String name);
void updateValueToWidgetFullName(String value);
void updateValueToWidgetMobileNumber(String value);
void updateValueToWidgetLocalFirstName(String value);
void updateValueToWidgetProvince(String value);
void updateValueToWidgetLocalMiddleName(String value);
void updateValueToWidgetDistrict(String value);
void updateValueToWidgetLocalLastName(String value);
void updateValueToWidgetCity(String value);
void updateValueToWidgetLocalFullName(String name);
void updateValueToWidgetAddress(String value);
void updateValueToWidgetRelation(String value);
void updateValueToWidgetMobileNumber(String value);
void updateValueToWidgetTransferReason(String value);
void updateValueToWidgetProvince(String value);
void updateValueToWidgetNativeCountry(String nativeCountry);
void updateValueToWidgetDistrict(String value);
void updateValueToWidgetCity(String value);
void updateValueToWidgetAddress(String value);
void updateValidationRuleToWidgetBankName(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValueToWidgetRelation(String value);
void updateValidationRuleToWidgetBranchName(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValueToWidgetTransferReason(String value);
void updateValidationRuleToWidgetAccountNo(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValueToWidgetNativeCountry(String nativeCountry);
void updateValidationRuleToWidgetIDType(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetIDNumber(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetFirstName(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetBankName(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetMiddleName(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetBranchName(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetLastName(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetAccountNo(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetIDType(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetIDNumber(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetFullName(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetFirstName(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetLocalFirstName(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetMiddleName(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetLocalMiddleName(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetLastName(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetLocalLastName(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetLocalFullName(boolean visiblity, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration);
void updateValidationRuleToWidgetFullName(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetMobileNumber(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetLocalFirstName(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetProvince(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetLocalMiddleName(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetDistrict(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetLocalLastName(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetCity(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetLocalFullName(boolean visiblity, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration);
void updateValidationRuleToWidgetAddress(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetRelation(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetMobileNumber(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetTransferReason(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetProvince(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetEmail(boolean isFieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetDistrict(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetNativeCountry(boolean isFieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetCity(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetAddress(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetRelation(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void setErrorOnWidgetBank(String message);
void updateValidationRuleToWidgetTransferReason(boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void setErrorOnWidgetAccountNo(String error);
void updateValidationRuleToWidgetEmail(boolean isFieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void setErrorOnWidgetFirstName(String error);
void updateValidationRuleToWidgetNativeCountry(boolean isFieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void setErrorOnWidgetMiddleName(String error);
void setErrorOnWidgetLastName(String error);
void setErrorOnWidgetFullName(String error);
void setErrorOnWidgetBank(String message);
void setErrorOnWidgetCity(String error);
void setErrorOnWidgetAccountNo(String error);
void setErrorOnWidgetAddress(String error);
void setErrorOnWidgetFirstName(String error);
void setErrorOnWidgetMobileNumber(String error);
void setErrorOnWidgetMiddleName(String error);
void setErrorOnWidgetEmail(String error);
void setErrorOnWidgetLastName(String error);
void setErrorOnWidgetIDNumber(String error);
void setErrorOnWidgetFullName(String error);
void setErrorOnWidgetLocalFirstName(String error);
void setErrorOnWidgetCity(String error);
void setErrorOnWidgetLocalMiddleName(String error);
void setErrorOnWidgetAddress(String error);
void setErrorOnWidgetLocalLastName(String error);
void setErrorOnWidgetMobileNumber(String error);
void setErrorOnWidgetLocalFullName(String error);
void setErrorOnWidgetEmail(String error);
void setErrorOnWidgetIDNumber(String error);
void setErrorOnWidgetLocalFirstName(String error);
void showMobilePrefixAndFlag(String prefix,int flag);
void setErrorOnWidgetLocalMiddleName(String error);
void onEditSuccess(String recipientIdToBeUpdated);
void setErrorOnWidgetLocalLastName(String error);
void onAddSuccess(String recipientIdToBeUpdated);
void setErrorOnWidgetLocalFullName(String error);
void showMobilePrefixAndFlag(String prefix,int flag);
void scrollAccountNumberView();
void scrollAccountNumberView();
void clearViewDependentOnServiceType();
void clearViewDependentOnServiceType();
void clearViewDependentOnCountryServiceSelected();
void clearViewDependentOnCountryServiceSelected();
void showNativeCountryFlag(int flagFromCountryCode);
void showNativeCountryFlag(int flagFromCountryCode);
void updateValueToWidgetEmail(String email);
void updateValueToWidgetEmail(String email);
void addOptionalAsHintToWidgetBankName(Boolean isOptional);
void addOptionalAsHintToWidgetBankName(Boolean isOptional);
void addOptionalAsHintToWidgetBranch(Boolean isOptional);
void addOptionalAsHintToWidgetBranch(Boolean isOptional);
void addOptionalAsHintToWidgetAccountNumber(Boolean isOptional);
void addOptionalAsHintToWidgetAccountNumber(Boolean isOptional);
void addOptionalAsHintToWidgetIDType(Boolean isOptional);
void addOptionalAsHintToWidgetIDType(Boolean isOptional);
void addOptionalAsHintToWidgetIDNumber(Boolean isOptional);
void addOptionalAsHintToWidgetIDNumber(Boolean isOptional);
void addOptionalAsHintToWidgetFirstName(Boolean isOptional);
void addOptionalAsHintToWidgetFirstName(Boolean isOptional);
void addOptionalAsHintToWidgetMiddleName(Boolean isOptional);
void addOptionalAsHintToWidgetMiddleName(Boolean isOptional);
void addOptionalAsHintToWidgetLastName(Boolean isOptional);
void addOptionalAsHintToWidgetLastName(Boolean isOptional);
void addOptionalAsHintToWidgetFullName(Boolean isOptional);
void addOptionalAsHintToWidgetFullName(Boolean isOptional);
void addOptionalAsHintToWidgetLocalFirstName(Boolean isOptional);
void addOptionalAsHintToWidgetLocalFirstName(Boolean isOptional);
void addOptionalAsHintToWidgetLocalMiddleName(Boolean isOptional);
void addOptionalAsHintToWidgetLocalMiddleName(Boolean isOptional);
void addOptionalAsHintToWidgetLocalLastName(Boolean isOptional);
void addOptionalAsHintToWidgetLocalLastName(Boolean isOptional);
void addOptionalAsHintToWidgetLocalFullName(Boolean isOptional);
void addOptionalAsHintToWidgetLocalFullName(Boolean isOptional);
void addOptionalAsHintToWidgetMobileNumber(Boolean isOptional);
void addOptionalAsHintToWidgetMobileNumber(Boolean isOptional);
void addOptionalAsHintToWidgetProvince(Boolean isOptional);
void addOptionalAsHintToWidgetProvince(Boolean isOptional);
void addOptionalAsHintToWidgetDistrict(Boolean isOptional);
void addOptionalAsHintToWidgetDistrict(Boolean isOptional);
void addOptionalAsHintToWidgetCity(Boolean isOptional);
void addOptionalAsHintToWidgetCity(Boolean isOptional);
void addOptionalAsHintToWidgetAddress(Boolean isOptional);
void addOptionalAsHintToWidgetAddress(Boolean isOptional);
void addOptionalAsHintToWidgetRelation(Boolean isOptional);
void addOptionalAsHintToWidgetRelation(Boolean isOptional);
void addOptionalAsHintToWidgetTransferReason(Boolean isOptional);
void addOptionalAsHintToWidgetTransferReason(Boolean isOptional);
void addOptionalAsHintToWidgetEmail(Boolean isOptional);
void addOptionalAsHintToWidgetEmail(Boolean isOptional);
void addOptionalAsHintToWidgetNativeCountry(Boolean isOptional);
void addOptionalAsHintToWidgetNativeCountry(Boolean isOptional);
void promptToInputAnswer(String question, AnswerInputDialog.AnswerInputDialogListener listener);
void promptToInputAnswer(String question, AnswerInputDialog.AnswerInputDialogListener listener);
}
}

3
app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientaddeditV3/RecipientPresenterInterface.java

@ -28,6 +28,9 @@ public interface RecipientPresenterInterface extends BasePresenterInterface {
void onIDTypeSelected(DropDownDTO selectedIDType);
void onRelationSelected(DropDownDTO selectedRelation);
void proceedToEditSucess();
void proceedToAddSucess();
WebRequestModel getWebRequestDataForTermsAndCondition();

44
app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientaddeditV3/add/RecipientAddV3Presenter.java → app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientaddeditV3/add/RecipientAddV3ViewModel.java

@ -12,7 +12,7 @@ import com.swifttech.remit.jmecustomer.features.recipientmanagement.model.recipi
import com.swifttech.remit.jmecustomer.features.recipientmanagement.model.recipientaddeditV3.dynamicvalidation.DynamicValidationModel;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.model.recipientaddeditV3.dynamicvalidation.PaymentBankModel;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.model.recipientlistingV3.ReceiverInfoV3Model;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.RecipientAddEditBaseV3Presenter;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.RecipientAddEditBaseV3ViewModel;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.RecipientAddV3ContractInterface;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.RecipientDetailValidatorV3;
import com.swifttech.remit.jmecustomer.features.sendmoney.model.SendMoneyRequiredDataV3;
@ -36,13 +36,13 @@ import static com.swifttech.remit.jmecustomer.utils.Constants.JME_TERMS_N_CONDIT
/**
* Add Beneficiary Use Case, override any base class callback to adjust withCountdownTimer the add use case flow. Base case will handle default flow.
*/
public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter {
public class RecipientAddV3ViewModel extends RecipientAddEditBaseV3ViewModel {
private final RecipientAddEditV3GatewayInterface gateway;
private final CompositeDisposable compositeDisposable;
public RecipientAddV3Presenter(
public RecipientAddV3ViewModel(
RecipientAddEditV3GatewayInterface gateway,
RecipientAddV3ContractInterface view,
ReceiverInfoV3Model receiverInfoV3Model
@ -104,9 +104,9 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter {
public void onCountryServiceSelected(CountryServiceModel selectedCountry) {
validator.clearMobileNumberPrefixAndUpdate();
validator.updateSelectedCountry(selectedCountry);
view.showMobilePrefixAndFlag(gateway.getMobilePrefixFromCountryCode(validator.getRecipientDetail().getCountryCode()), CountryFlagMapper.getFlagFromCountryCode(validator.getRecipientDetail().getCountryCode()));
view.getRecipientAddEditV3ContractInterface().showMobilePrefixAndFlag(gateway.getMobilePrefixFromCountryCode(validator.getRecipientDetail().getCountryCode()), CountryFlagMapper.getFlagFromCountryCode(validator.getRecipientDetail().getCountryCode()));
view.showPaymentSelectionView(true);
view.getRecipientAddEditV3ContractInterface().showPaymentSelectionView(true);
}
@ -223,6 +223,16 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter {
}
@Override
public void onViewReady() {
}
@Override
public void onViewNotReady() {
}
public class DynamicListObserver extends GenericApiObserverResponseV2<DynamicValidationModel> {
@ -242,8 +252,8 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter {
} else {
validator.getRecipientDetail().setPaymentMethod(null);
view.updateValueToWidgetSelectedPaymentMethod(null);
view.setSubmitButtonEnabled(false);
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetSelectedPaymentMethod(null);
view.getRecipientAddEditV3ContractInterface().setSubmitButtonEnabled(false);
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, null);
}
@ -252,8 +262,8 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter {
@Override
public void onFailed(String message) {
validator.getRecipientDetail().setPaymentMethod(null);
view.updateValueToWidgetSelectedPaymentMethod(null);
view.setSubmitButtonEnabled(false);
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetSelectedPaymentMethod(null);
view.getRecipientAddEditV3ContractInterface().setSubmitButtonEnabled(false);
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null);
}
@ -261,8 +271,8 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter {
@Override
protected void onConnectionNotEstablished(String message) {
validator.getRecipientDetail().setPaymentMethod(null);
view.updateValueToWidgetSelectedPaymentMethod(null);
view.setSubmitButtonEnabled(false);
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetSelectedPaymentMethod(null);
view.getRecipientAddEditV3ContractInterface().setSubmitButtonEnabled(false);
view.showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET, null);
}
@ -285,7 +295,7 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter {
protected void onSuccess(GenericResponseDataModel<List<CountryServiceModel>> t) {
if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
validator.updateAvailableCountryServiceData(t.getData());
view.showCountrySelectionView(true);
view.getRecipientAddEditV3ContractInterface().showCountrySelectionView(true);
} else {
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView());
@ -320,7 +330,7 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter {
protected void onSuccess(GenericResponseDataModel<ReceiverInfoV3Model> t) {
if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
String send_money_to_string = t.getMsg()+" \n "+getStringfromStringId(R.string.recipient_add_success_message_text).replace("xxx", getReceiverName(t.getData()));
view.promptToSendMoney(new GenericPromptDialog.GenericDialogPromptListener() {
view.getRecipientAddEditV3ContractInterface().promptToSendMoney(new GenericPromptDialog.GenericDialogPromptListener() {
@Override
public void onNegativeBtnPressed() {
view.onAddSuccess(t.getData().getReceiverId());
@ -329,7 +339,7 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter {
@Override
public void onPositiveBtnPressed() {
SendMoneyRequiredDataV3 sendMoneyRequiredDataV3=new SendMoneyRequiredDataV3(t.getData());
view.redirectToSendMoney(sendMoneyRequiredDataV3);
view.getRecipientAddEditV3ContractInterface().redirectToSendMoney(sendMoneyRequiredDataV3);
}
}, send_money_to_string);
return;
@ -362,13 +372,13 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter {
@Override
protected void onSuccess(AccountValidationApiResponse accountValidationApiResponse) {
if (accountValidationApiResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
view.setErrorOnWidgetAccountNo(null);
view.getRecipientAddEditV3ContractInterface().setErrorOnWidgetAccountNo(null);
updateRecipientInfo();
} else {
view.setErrorOnWidgetAccountNo(accountValidationApiResponse.getMsg());
view.scrollAccountNumberView();
view.getRecipientAddEditV3ContractInterface().setErrorOnWidgetAccountNo(accountValidationApiResponse.getMsg());
view.getRecipientAddEditV3ContractInterface().scrollAccountNumberView();
}
}

104
app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java → app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/presenter/recipientaddeditV3/edit/RecipientEditV3ViewModel.java

@ -17,7 +17,7 @@ import com.swifttech.remit.jmecustomer.features.recipientmanagement.model.recipi
import com.swifttech.remit.jmecustomer.features.recipientmanagement.model.recipientlistingV3.AgentV3Model;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.model.recipientlistingV3.BranchV3Model;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.model.recipientlistingV3.ReceiverInfoV3Model;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.RecipientAddEditBaseV3Presenter;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.RecipientAddEditBaseV3ViewModel;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.RecipientAddV3ContractInterface;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.RecipientDetailValidatorV3;
import com.swifttech.remit.jmecustomer.features.sendmoney.model.SendMoneyRequiredDataV3;
@ -44,13 +44,13 @@ import static com.swifttech.remit.jmecustomer.utils.Constants.JME_TERMS_N_CONDIT
/**
* Edit Beneficiary Use Case, override any base class callback to adjust withCountdownTimer the edit use case flow. Base case will handle default flow.
*/
public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
public class RecipientEditV3ViewModel extends RecipientAddEditBaseV3ViewModel {
private final RecipientAddEditV3GatewayInterface gateway;
private final CompositeDisposable compositeDisposable;
private final boolean hasPartnerChanged;
public RecipientEditV3Presenter(
public RecipientEditV3ViewModel(
RecipientAddEditV3GatewayInterface gateway,
RecipientAddV3ContractInterface view,
ReceiverInfoV3Model receiverInfoV3Model
@ -87,7 +87,7 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
public void onCountryServiceSelected(CountryServiceModel selectedCountry) {
validator.clearMobileNumberPrefixAndUpdate();
validator.updateSelectedCountry(selectedCountry);
view.showMobilePrefixAndFlag(gateway.getMobilePrefixFromCountryCode(validator.getRecipientDetail().getCountryCode()), CountryFlagMapper.getFlagFromCountryCode(validator.getRecipientDetail().getCountryCode()));
view.getRecipientAddEditV3ContractInterface().showMobilePrefixAndFlag(gateway.getMobilePrefixFromCountryCode(validator.getRecipientDetail().getCountryCode()), CountryFlagMapper.getFlagFromCountryCode(validator.getRecipientDetail().getCountryCode()));
}
@ -97,6 +97,8 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
getDynamicValidationAndDropDownList(validator.getRecipientDetail().getCountryId(), selectedServiceType.getId());
}
@Override
public WebRequestModel getWebRequestDataForTermsAndCondition() {
return new WebRequestModel(getStringfromStringId(R.string.terms_and_condition_title_text), JME_TERMS_N_CONDITIONS, null);
@ -231,55 +233,55 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
private void seedExistingDatatoView() {
view.updateValueToWidgetSelectedCountry(validator.getRecipientDetail().getCountry());
view.showSelectedCountryFlag(CountryFlagMapper.getFlagFromCountryCode(validator.getRecipientDetail().getCountryCode()));
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetSelectedCountry(validator.getRecipientDetail().getCountry());
view.getRecipientAddEditV3ContractInterface().showSelectedCountryFlag(CountryFlagMapper.getFlagFromCountryCode(validator.getRecipientDetail().getCountryCode()));
if (validator.getRecipientDetail().getNativeCountry() != null && !TextUtils.isEmpty(validator.getRecipientDetail().getNativeCountry())) {
view.updateValueToWidgetNativeCountry(validator.getRecipientDetail().getNativeCountry());
view.showNativeCountryFlag(CountryFlagMapper.getFlagFromCountryCode(validator.getRecipientDetail().getNativeCountryCode()));
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetNativeCountry(validator.getRecipientDetail().getNativeCountry());
view.getRecipientAddEditV3ContractInterface().showNativeCountryFlag(CountryFlagMapper.getFlagFromCountryCode(validator.getRecipientDetail().getNativeCountryCode()));
} else {
view.updateValueToWidgetNativeCountry(validator.getSelectedCountryServiceData().getCountryName());
view.showNativeCountryFlag(CountryFlagMapper.getFlagFromCountryCode(validator.getSelectedCountryServiceData().getCountryCode()));
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetNativeCountry(validator.getSelectedCountryServiceData().getCountryName());
view.getRecipientAddEditV3ContractInterface().showNativeCountryFlag(CountryFlagMapper.getFlagFromCountryCode(validator.getSelectedCountryServiceData().getCountryCode()));
}
if (validator.getRecipientDetail().getPaymentMethod() != null)
view.updateValueToWidgetSelectedPaymentMethod(validator.getRecipientDetail().getPaymentMethod().getName());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetSelectedPaymentMethod(validator.getRecipientDetail().getPaymentMethod().getName());
view.updateValueToWidgetIDNumber(validator.getRecipientDetail().getIdNumber());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetIDNumber(validator.getRecipientDetail().getIdNumber());
view.updateValueToWidgetFirstName(validator.getRecipientDetail().getFirstName());
view.updateValueToWidgetMiddleName(validator.getRecipientDetail().getMiddleName());
view.updateValueToWidgetLastName(validator.getRecipientDetail().getLastName());
view.updateValueToWidgetFullName(validator.getRecipientDetail().getFullName());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetFirstName(validator.getRecipientDetail().getFirstName());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetMiddleName(validator.getRecipientDetail().getMiddleName());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetLastName(validator.getRecipientDetail().getLastName());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetFullName(validator.getRecipientDetail().getFullName());
view.updateValueToWidgetLocalFirstName(validator.getRecipientDetail().getLocalFirstName());
view.updateValueToWidgetLocalMiddleName(validator.getRecipientDetail().getLocalMiddleName());
view.updateValueToWidgetLocalLastName(validator.getRecipientDetail().getLocalLastName());
view.updateValueToWidgetLocalFullName(validator.getRecipientDetail().getLocalFullName());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetLocalFirstName(validator.getRecipientDetail().getLocalFirstName());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetLocalMiddleName(validator.getRecipientDetail().getLocalMiddleName());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetLocalLastName(validator.getRecipientDetail().getLocalLastName());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetLocalFullName(validator.getRecipientDetail().getLocalFullName());
view.updateValueToWidgetMobileNumber(removePrefixFromSelectedMobileNumber(validator.getRecipientDetail().getMobile(), validator.getRecipientDetail().getCountryCode()));
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetMobileNumber(removePrefixFromSelectedMobileNumber(validator.getRecipientDetail().getMobile(), validator.getRecipientDetail().getCountryCode()));
view.updateValueToWidgetAddress(validator.getRecipientDetail().getAddress());
view.updateValueToWidgetCity(validator.getRecipientDetail().getCity());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetAddress(validator.getRecipientDetail().getAddress());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetCity(validator.getRecipientDetail().getCity());
view.updateValueToWidgetEmail(validator.getRecipientDetail().getEmail());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetEmail(validator.getRecipientDetail().getEmail());
AgentV3Model selectedAgent = validator.getRecipientDetail().getAgent();
if (selectedAgent != null) {
view.updateValueToWidgetBankName(validator.getRecipientDetail().getAgent().getName());
view.updateValueToWidgetAccountNo(selectedAgent.getAccountNo());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetBankName(validator.getRecipientDetail().getAgent().getName());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetAccountNo(selectedAgent.getAccountNo());
BranchV3Model branchV3Model = selectedAgent.getBranch();
if (branchV3Model != null)
view.updateValueToWidgetBranchName(branchV3Model.getName());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetBranchName(branchV3Model.getName());
}
view.updateValueToWidgetIDType(validator.getRecipientDetail().getIdType());
view.updateValueToWidgetProvince(validator.getRecipientDetail().getState());
view.updateValueToWidgetDistrict(validator.getRecipientDetail().getDistrict());
view.updateValueToWidgetRelation(validator.getRecipientDetail().getRelationship());
view.updateValueToWidgetTransferReason(validator.getRecipientDetail().getPurposeOfRemit());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetIDType(validator.getRecipientDetail().getIdType());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetProvince(validator.getRecipientDetail().getState());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetDistrict(validator.getRecipientDetail().getDistrict());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetRelation(validator.getRecipientDetail().getRelationship());
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetTransferReason(validator.getRecipientDetail().getPurposeOfRemit());
}
@ -310,6 +312,16 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
return name;
}
@Override
public void onViewReady() {
}
@Override
public void onViewNotReady() {
}
public class DynamicListObserver extends GenericApiObserverResponseV2<DynamicValidationModel> {
@ -331,8 +343,8 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
} else {
validator.getRecipientDetail().setPaymentMethod(null);
view.updateValueToWidgetSelectedPaymentMethod(null);
view.setSubmitButtonEnabled(false);
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetSelectedPaymentMethod(null);
view.getRecipientAddEditV3ContractInterface().setSubmitButtonEnabled(false);
view.showPopUpMessage(data.getMsg(), CustomAlertDialog.AlertType.FAILED, null);
}
}
@ -340,8 +352,8 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
@Override
public void onFailed(String message) {
validator.getRecipientDetail().setPaymentMethod(null);
view.updateValueToWidgetSelectedPaymentMethod(null);
view.setSubmitButtonEnabled(false);
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetSelectedPaymentMethod(null);
view.getRecipientAddEditV3ContractInterface().setSubmitButtonEnabled(false);
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView());
}
@ -349,8 +361,8 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
@Override
protected void onConnectionNotEstablished(String message) {
validator.getRecipientDetail().setPaymentMethod(null);
view.updateValueToWidgetSelectedPaymentMethod(null);
view.setSubmitButtonEnabled(false);
view.getRecipientAddEditV3ContractInterface().updateValueToWidgetSelectedPaymentMethod(null);
view.getRecipientAddEditV3ContractInterface().setSubmitButtonEnabled(false);
view.showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET, alertType -> view.exitView());
}
@ -384,9 +396,9 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
getDynamicValidationAndDropDownList(countryId, serviceTypeID);
}
seedExistingDatatoView();
view.showMobilePrefixAndFlag(gateway.getMobilePrefixFromCountryCode(validator.getRecipientDetail().getCountryCode()), CountryFlagMapper.getFlagFromCountryCode(validator.getRecipientDetail().getCountryCode()));
view.showCountrySelectionView(true);
view.showPaymentSelectionView(true);
view.getRecipientAddEditV3ContractInterface().showMobilePrefixAndFlag(gateway.getMobilePrefixFromCountryCode(validator.getRecipientDetail().getCountryCode()), CountryFlagMapper.getFlagFromCountryCode(validator.getRecipientDetail().getCountryCode()));
view.getRecipientAddEditV3ContractInterface().showCountrySelectionView(true);
view.getRecipientAddEditV3ContractInterface().showPaymentSelectionView(true);
} else {
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView());
@ -423,7 +435,7 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
protected void onSuccess(GenericResponseDataModel<ReceiverInfoV3Model> t) {
if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
String send_money_to_string = t.getMsg() + " \n " + getStringfromStringId(R.string.recipient_add_success_message_text).replace("xxx", getReceiverName(t.getData()));
view.promptToSendMoney(new GenericPromptDialog.GenericDialogPromptListener() {
view.getRecipientAddEditV3ContractInterface().promptToSendMoney(new GenericPromptDialog.GenericDialogPromptListener() {
@Override
public void onNegativeBtnPressed() {
view.onEditSuccess(t.getData().getReceiverId());
@ -432,7 +444,7 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
@Override
public void onPositiveBtnPressed() {
SendMoneyRequiredDataV3 sendMoneyRequiredDataV3 = new SendMoneyRequiredDataV3(t.getData());
view.redirectToSendMoney(sendMoneyRequiredDataV3);
view.getRecipientAddEditV3ContractInterface().redirectToSendMoney(sendMoneyRequiredDataV3);
}
}, send_money_to_string);
return;
@ -465,13 +477,13 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
@Override
protected void onSuccess(AccountValidationApiResponse accountValidationApiResponse) {
if (accountValidationApiResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
view.setErrorOnWidgetAccountNo(null);
view.getRecipientAddEditV3ContractInterface().setErrorOnWidgetAccountNo(null);
updateRecipientInfo();
} else {
view.setErrorOnWidgetAccountNo(accountValidationApiResponse.getMsg());
view.scrollAccountNumberView();
view.getRecipientAddEditV3ContractInterface().setErrorOnWidgetAccountNo(accountValidationApiResponse.getMsg());
view.getRecipientAddEditV3ContractInterface().scrollAccountNumberView();
}
}

32
app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/RecipientAddV3ViewModelFactory.java

@ -0,0 +1,32 @@
package com.swifttech.remit.jmecustomer.features.recipientmanagement.view;
import androidx.annotation.NonNull;
import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelProvider;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.gateway.recipientaddeditV3.RecipientAddEditV3Gateway;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.model.recipientlistingV3.ReceiverInfoV3Model;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.RecipientAddV3ContractInterface;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.add.RecipientAddV3ViewModel;
public class RecipientAddV3ViewModelFactory implements ViewModelProvider.Factory {
private RecipientAddV3ContractInterface view;
private ReceiverInfoV3Model receiverInfoV3Model;
public RecipientAddV3ViewModelFactory(
RecipientAddV3ContractInterface view,
ReceiverInfoV3Model receiverInfoV3Model
) {
this.view = view;
this.receiverInfoV3Model = receiverInfoV3Model;
}
@SuppressWarnings("unchecked")
@NonNull
@Override
public <T extends ViewModel> T create(@NonNull Class<T> modelClass) {
return (T) new RecipientAddV3ViewModel(new RecipientAddEditV3Gateway(),view,receiverInfoV3Model);
}
}

32
app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/RecipientEditV3ViewModelFactory.java

@ -0,0 +1,32 @@
package com.swifttech.remit.jmecustomer.features.recipientmanagement.view;
import androidx.annotation.NonNull;
import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelProvider;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.gateway.recipientaddeditV3.RecipientAddEditV3Gateway;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.model.recipientlistingV3.ReceiverInfoV3Model;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.RecipientAddV3ContractInterface;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.edit.RecipientEditV3ViewModel;
public class RecipientEditV3ViewModelFactory implements ViewModelProvider.Factory {
private final RecipientAddV3ContractInterface view;
private final ReceiverInfoV3Model receiverInfoV3Model;
public RecipientEditV3ViewModelFactory(
RecipientAddV3ContractInterface view,
ReceiverInfoV3Model receiverInfoV3Model
) {
this.view = view;
this.receiverInfoV3Model = receiverInfoV3Model;
}
@SuppressWarnings("unchecked")
@NonNull
@Override
public <T extends ViewModel> T create(@NonNull Class<T> modelClass) {
return (T) new RecipientEditV3ViewModel(new RecipientAddEditV3Gateway(),view,receiverInfoV3Model);
}
}

1270
app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientaddeditV3/BeneficiaryAddEditV3Fragment.java
File diff suppressed because it is too large
View File

72
app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientaddeditV3/BeneficiaryAddEditV3TermsFragment.java

@ -0,0 +1,72 @@
package com.swifttech.remit.jmecustomer.features.recipientmanagement.view.recipientaddeditV3;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.webkit.WebView;
import androidx.annotation.Nullable;
import androidx.lifecycle.ViewModelProvider;
import com.swifttech.remit.jmecustomer.features.kyc.newCustomer.view.termsAndCondition.NewKycTermsAndConditionFragment;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.model.recipientlistingV3.ReceiverInfoV3Model;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.RecipientAddEditBaseV3ViewModel;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.RecipientAddV3ContractInterface;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.add.RecipientAddV3ViewModel;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.edit.RecipientEditV3ViewModel;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.view.RecipientAddV3ViewModelFactory;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.view.RecipientEditV3ViewModelFactory;
import com.swifttech.remit.jmecustomer.features.webbrowser.WebBrowserFragmentV2;
import com.swifttech.remit.jmecustomer.features.webbrowser.model.WebRequestModel;
import static com.swifttech.remit.jmecustomer.features.recipientlisting.view.recipientaddedit.RecipientAddEditActivity.RECIPIENT_INFO_BUNDLE_KEY;
import static com.swifttech.remit.jmecustomer.utils.Constants.JME_TERMS_N_CONDITIONS;
public class BeneficiaryAddEditV3TermsFragment extends WebBrowserFragmentV2 {
private RecipientAddEditBaseV3ViewModel viewModel;
private ReceiverInfoV3Model recipientToBeEdited;
private static String TAG = NewKycTermsAndConditionFragment.class.getSimpleName();
private String currentLoadedUrl = "";
@Override
protected void doTask(WebRequestModel webRequestModel, WebView webView) {
if (webRequestModel != null && !currentLoadedUrl.equalsIgnoreCase(webRequestModel.getUrl())) {
this.currentLoadedUrl = webRequestModel.getUrl();
webView.loadUrl(webRequestModel.getUrl());
Log.d(this.getClass().getSimpleName(), currentLoadedUrl);
triggerWebviewEvent(webView);
}
}
private void triggerWebviewEvent(WebView webView) {
}
@Override
protected void proceedButtonClicked() {
if (recipientToBeEdited != null) {
viewModel.proceedToEditSucess();
} else {
viewModel.proceedToAddSucess();
}
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
recipientToBeEdited = getArguments().getParcelable(RECIPIENT_INFO_BUNDLE_KEY);
if (recipientToBeEdited != null) {
RecipientEditV3ViewModelFactory recipientEditViewModelFactory = new RecipientEditV3ViewModelFactory((RecipientAddV3ContractInterface) getActivity(),recipientToBeEdited);
viewModel = new ViewModelProvider(requireActivity(), recipientEditViewModelFactory).get(RecipientEditV3ViewModel.class);
} else {
RecipientAddV3ViewModelFactory recipientAddViewModelFactory = new RecipientAddV3ViewModelFactory((RecipientAddV3ContractInterface)getActivity(),recipientToBeEdited);
viewModel = new ViewModelProvider(requireActivity(), recipientAddViewModelFactory).get(RecipientAddV3ViewModel.class);
}
showAcceptOption(true);
WebRequestModel webRequestModel = new WebRequestModel("", JME_TERMS_N_CONDITIONS, null);
setWebRequestData(webRequestModel);
loadWebView();
}
}

1416
app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientaddeditV3/RecipientAddEditV3Activity.java
File diff suppressed because it is too large
View File

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

@ -8,551 +8,17 @@
android:orientation="vertical">
<include layout="@layout/layout_sendmoney_toolbar" />
<ScrollView
android:id="@+id/scrollView"
<FrameLayout
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
android:layout_height="match_parent"
android:fillViewport="true" >
<LinearLayout
<com.swifttech.remit.jmecustomer.common.customwidgets.SwipeDisabledViewPager
android:id="@+id/addBeneficiaryV3ViewPager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingStart="@dimen/_8sdp"
android:paddingEnd="@dimen/_8sdp">
<LinearLayout
android:id="@+id/receiverFromViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.swifttech.remit.jmecustomer.common.customwidgets.GmeTextView
android:layout_width="match_parent"
android:layout_height="60dp"
android:gravity="center"
android:paddingTop="9dp"
android:paddingBottom="10dp"
android:text="@string/who_to_send_text"
android:textColor="@color/darkgray"
android:textSize="@dimen/_14ssp" />
<LinearLayout
android:id="@+id/recieverCountryViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="visible">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="match_parent">
<ImageView
android:id="@+id/recieverCountrySelectionCountryFlag"
android:layout_width="@dimen/_30sdp"
android:layout_height="@dimen/_30sdp"
android:layout_gravity="center_vertical"
android:layout_marginStart="8dp"
android:layout_marginEnd="@dimen/_4sdp"
android:src="@drawable/flag_default"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.38" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverCountrySelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:layout_width="0dp"
android:layout_weight="1"
android:hint="@string/payout_country_placeholder_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverCountrySelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
</LinearLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverPaymentMethodSelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:hint="@string/payment_mode_placeholder_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverPaymentMethodSelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverBankSelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:hint="@string/bank_placeholder_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorIconDrawable="@null"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverBankSelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverBranchSelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:hint="@string/branch_placeholder_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverBranchSelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverAccountNoWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/account_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverAccountNo"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverFirstNameWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/first_name_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverFirstName"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverMiddleNameWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/middle_name_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverMiddleName"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverLastNameWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/last_name_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverLastName"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverFullNameWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/full_name_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverFullName"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverLocalFirstNameWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/first_name_local_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverLocalFirstName"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverLocalMiddleNameWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/middle_name_local_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverLocalMiddleName"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverLocalLastNameWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/last_name_local_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverLocalLastName"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverLocalFullNameWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/full_name_local_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverLocalFullName"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/mobileViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.swifttech.remit.jmecustomer.common.customwidgets.GmeTextView
android:id="@+id/selectedCountryMobilePrefix"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:textSize="@dimen/_15ssp"
app:layout_constraintBottom_toBottomOf="@+id/selectedCountryIcon"
app:layout_constraintEnd_toStartOf="@+id/receiverMobileNoWrapper"
app:layout_constraintStart_toEndOf="@+id/selectedCountryIcon"
app:layout_constraintTop_toTopOf="@+id/selectedCountryIcon"
app:txtfontName="@string/semibold"
tools:text="+81" />
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverMobileNoWrapper"
style="@style/MTextInputLayoutForm"
android:layout_width="0dp"
android:hint="@string/mobile_text"
android:weightSum="1"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/selectedCountryMobilePrefix"
app:layout_constraintTop_toTopOf="parent">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverMobileNo"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<ImageView
android:id="@+id/selectedCountryIcon"
android:layout_width="@dimen/_30sdp"
android:layout_height="@dimen/_30sdp"
android:layout_marginStart="8dp"
android:layout_marginBottom="8dp"
android:src="@drawable/flag_default"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.55" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverIDTypeSelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:hint="@string/id_type_placeholder_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverIDTypeSelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverIdNumberWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/id_number_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverIdNumber"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverStateSelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:hint="@string/id_type_placeholder_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverStateSelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverDistrictSelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:hint="@string/district_placeholder_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverDistrictSelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverCityWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/city_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverCity"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverAddressWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/address_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverAddress"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverEmailWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/email_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverEmail"
style="@style/MTextInputEditText"
android:inputType="textEmailAddress"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverRelationSelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:hint="@string/relation_placeholder_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverRelationSelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverTransferReasonSelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:hint="@string/selectPurposeOfRemit_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverTransferReasonSelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<LinearLayout
android:id="@+id/recieverNativeCountryViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="visible">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="match_parent">
<ImageView
android:id="@+id/recieverNativeCountrySelectionCountryFlag"
android:layout_width="@dimen/_30sdp"
android:layout_height="@dimen/_30sdp"
android:layout_gravity="center_vertical"
android:layout_marginStart="8dp"
android:layout_marginEnd="@dimen/_4sdp"
android:src="@drawable/flag_default"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.38" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverNativeCountrySelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:hint="@string/native_country_placeholder_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverNativeCountrySelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
</LinearLayout>
</LinearLayout>
<com.swifttech.remit.jmecustomer.common.customwidgets.GmeTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_8sdp"
android:gravity="center"
android:maxLines="2"
android:singleLine="false"
android:text="@string/i_have_read_to_text"
android:textColor="@color/darkgray2"
android:textSize="@dimen/_11ssp" />
<com.swifttech.remit.jmecustomer.common.customwidgets.GmeTextView
android:id="@+id/txv_jme_terms_n_condition"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_5sdp"
android:gravity="center"
android:paddingTop="@dimen/_4sdp"
android:paddingBottom="@dimen/_4sdp"
android:text="@string/jme_terms_n_conditions"
android:textColor="@color/blue"
android:textSize="@dimen/_11ssp" />
android:layout_height="match_parent"/>
</FrameLayout>
<Button
android:id="@+id/btn_submit"
style="@style/MButton"
android:layout_gravity="center"
android:layout_marginTop="@dimen/_15sdp"
android:layout_marginBottom="@dimen/_15sdp"
android:text="@string/agree_and_submit_text" />
</LinearLayout>
</ScrollView>
</LinearLayout>

555
app/src/main/res/layout/fragment_beneficiary_add_edit_v3.xml

@ -0,0 +1,555 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bright_gray"
android:orientation="vertical">
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingStart="@dimen/_8sdp"
android:paddingEnd="@dimen/_8sdp">
<LinearLayout
android:id="@+id/receiverFromViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.swifttech.remit.jmecustomer.common.customwidgets.GmeTextView
android:layout_width="match_parent"
android:layout_height="60dp"
android:gravity="center"
android:paddingTop="9dp"
android:paddingBottom="10dp"
android:text="@string/who_to_send_text"
android:textColor="@color/darkgray"
android:textSize="@dimen/_14ssp" />
<LinearLayout
android:id="@+id/recieverCountryViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="visible">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="match_parent">
<ImageView
android:id="@+id/recieverCountrySelectionCountryFlag"
android:layout_width="@dimen/_30sdp"
android:layout_height="@dimen/_30sdp"
android:layout_gravity="center_vertical"
android:layout_marginStart="8dp"
android:layout_marginEnd="@dimen/_4sdp"
android:src="@drawable/flag_default"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.38" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverCountrySelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:layout_width="0dp"
android:layout_weight="1"
android:hint="@string/payout_country_placeholder_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverCountrySelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
</LinearLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverPaymentMethodSelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:hint="@string/payment_mode_placeholder_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverPaymentMethodSelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverBankSelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:hint="@string/bank_placeholder_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorIconDrawable="@null"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverBankSelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverBranchSelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:hint="@string/branch_placeholder_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverBranchSelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverAccountNoWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/account_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverAccountNo"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverFirstNameWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/first_name_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverFirstName"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverMiddleNameWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/middle_name_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverMiddleName"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverLastNameWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/last_name_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverLastName"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverFullNameWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/full_name_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverFullName"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverLocalFirstNameWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/first_name_local_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverLocalFirstName"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverLocalMiddleNameWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/middle_name_local_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverLocalMiddleName"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverLocalLastNameWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/last_name_local_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverLocalLastName"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverLocalFullNameWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/full_name_local_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverLocalFullName"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/mobileViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.swifttech.remit.jmecustomer.common.customwidgets.GmeTextView
android:id="@+id/selectedCountryMobilePrefix"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:textSize="@dimen/_15ssp"
app:layout_constraintBottom_toBottomOf="@+id/selectedCountryIcon"
app:layout_constraintEnd_toStartOf="@+id/receiverMobileNoWrapper"
app:layout_constraintStart_toEndOf="@+id/selectedCountryIcon"
app:layout_constraintTop_toTopOf="@+id/selectedCountryIcon"
app:txtfontName="@string/semibold"
tools:text="+81" />
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverMobileNoWrapper"
style="@style/MTextInputLayoutForm"
android:layout_width="0dp"
android:hint="@string/mobile_text"
android:weightSum="1"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/selectedCountryMobilePrefix"
app:layout_constraintTop_toTopOf="parent">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverMobileNo"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<ImageView
android:id="@+id/selectedCountryIcon"
android:layout_width="@dimen/_30sdp"
android:layout_height="@dimen/_30sdp"
android:layout_marginStart="8dp"
android:layout_marginBottom="8dp"
android:src="@drawable/flag_default"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.55" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverIDTypeSelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:hint="@string/id_type_placeholder_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverIDTypeSelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverIdNumberWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/id_number_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverIdNumber"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverStateSelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:hint="@string/id_type_placeholder_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverStateSelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverDistrictSelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:hint="@string/district_placeholder_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverDistrictSelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverCityWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/city_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverCity"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverAddressWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/address_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverAddress"
style="@style/MTextInputEditText"
android:inputType="text"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverEmailWrapper"
style="@style/MTextInputLayoutForm"
android:hint="@string/email_placeholder_text"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MTextInputEditText
android:id="@+id/ed_receiverEmail"
style="@style/MTextInputEditText"
android:inputType="textEmailAddress"
app:endIconMode="clear_text"
app:errorEnabled="true"
app:maxLengthLimiter="100" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverRelationSelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:hint="@string/relation_placeholder_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverRelationSelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverTransferReasonSelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:hint="@string/selectPurposeOfRemit_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverTransferReasonSelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
<LinearLayout
android:id="@+id/recieverNativeCountryViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="visible">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="match_parent">
<ImageView
android:id="@+id/recieverNativeCountrySelectionCountryFlag"
android:layout_width="@dimen/_30sdp"
android:layout_height="@dimen/_30sdp"
android:layout_gravity="center_vertical"
android:layout_marginStart="8dp"
android:layout_marginEnd="@dimen/_4sdp"
android:src="@drawable/flag_default"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.38" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.swifttech.remit.jmecustomer.common.view.MTextInputLayout
android:id="@+id/receiverNativeCountrySelectionWrapper"
style="@style/MTextInputLayoutFormDropDown"
android:hint="@string/native_country_placeholder_text"
app:endIconDrawable="@drawable/icv_dropdown"
app:errorEnabled="true"
app:errorTextAppearance="@style/MTextInpuLayoutErrorStyle">
<com.swifttech.remit.jmecustomer.common.view.MAutoCompleteTextView
android:id="@+id/ed_receiverNativeCountrySelection"
style="@style/MAutoCompleteDropDown" />
</com.swifttech.remit.jmecustomer.common.view.MTextInputLayout>
</LinearLayout>
</LinearLayout>
<com.swifttech.remit.jmecustomer.common.customwidgets.GmeTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_8sdp"
android:gravity="center"
android:maxLines="2"
android:singleLine="false"
android:text="@string/i_have_read_to_text"
android:textColor="@color/darkgray2"
android:textSize="@dimen/_11ssp" />
<com.swifttech.remit.jmecustomer.common.customwidgets.GmeTextView
android:id="@+id/txv_jme_terms_n_condition"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_5sdp"
android:gravity="center"
android:paddingTop="@dimen/_4sdp"
android:paddingBottom="@dimen/_4sdp"
android:text="@string/jme_terms_n_conditions"
android:textColor="@color/blue"
android:textSize="@dimen/_11ssp" />
<Button
android:id="@+id/btn_submit"
style="@style/MButton"
android:layout_gravity="center"
android:layout_marginTop="@dimen/_15sdp"
android:layout_marginBottom="@dimen/_15sdp"
android:text="@string/agree_and_submit_text" />
</LinearLayout>
</ScrollView>
</LinearLayout>
Loading…
Cancel
Save