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. 15
      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. 1438
      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(); initTextWatchers();
removeInputFiltersByDefault(); 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() { private void removeInputFiltersByDefault() {
binding.edReceiverPaymentMethodSelection.setFilters(new InputFilter[]{}); 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 BeneficiaryAddEditTermsFragment beneficiaryAddEditTermsFragment;
private GenericViewPagerAdapter addBeneficiaryViewPagerAdapter; private GenericViewPagerAdapter addBeneficiaryViewPagerAdapter;
private RecipientAddEditBaseViewModel viewModel;
private ReceiverInfoModel recipientToBeEdited; private ReceiverInfoModel recipientToBeEdited;
@ -75,16 +74,6 @@ public class RecipientAddEditActivity extends BaseActivity implements RecipientA
private void init() { private void init() {
recipientToBeEdited = getIntent().getParcelableExtra(RECIPIENT_INFO_BUNDLE_KEY); 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); iv_cancel.setVisibility(View.INVISIBLE);
} }
@ -94,15 +83,21 @@ public class RecipientAddEditActivity extends BaseActivity implements RecipientA
addBeneficiaryViewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager()); addBeneficiaryViewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager());
List<Fragment> fragments = new ArrayList<>(); List<Fragment> fragments = new ArrayList<>();
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
bundle.putParcelable(RECIPIENT_UPDATED_ID_BUNDLE_KEY, recipientToBeEdited); bundle.putParcelable(RECIPIENT_UPDATED_ID_BUNDLE_KEY, recipientToBeEdited);
beneficiaryAddEditFragment = new BeneficiaryAddEditFragment(); beneficiaryAddEditFragment = new BeneficiaryAddEditFragment();
beneficiaryAddEditFragment.setArguments(bundle); beneficiaryAddEditFragment.setArguments(bundle);
beneficiaryAddEditTermsFragment = new BeneficiaryAddEditTermsFragment(); beneficiaryAddEditTermsFragment = new BeneficiaryAddEditTermsFragment();
beneficiaryAddEditTermsFragment.setArguments(bundle);
beneficiaryAddEditTermsFragment.setArguments(bundle);
fragments.add(beneficiaryAddEditFragment); fragments.add(beneficiaryAddEditFragment);
fragments.add(beneficiaryAddEditTermsFragment); fragments.add(beneficiaryAddEditTermsFragment);
addBeneficiaryViewPagerAdapter.addFragments(fragments); 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.R;
import com.swifttech.remit.jmecustomer.base.BasePresenter; 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.common.view.AnswerInputDialog;
import com.swifttech.remit.jmecustomer.features.kyc.newCustomer.model.NativeCountry; import com.swifttech.remit.jmecustomer.features.kyc.newCustomer.model.NativeCountry;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.model.recipientaddeditV3.countryservice.CountryServiceModel; 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; 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 final RecipientAddV3ContractInterface view;
protected RecipientDetailValidatorV3 validator; protected RecipientDetailValidatorV3 validator;
public RecipientAddEditBaseV3Presenter(
public RecipientAddEditBaseV3ViewModel(
RecipientAddV3ContractInterface view, RecipientAddV3ContractInterface view,
RecipientDetailValidatorV3 validator) { RecipientDetailValidatorV3 validator) {
this.view = view; this.view = view;
@ -46,17 +47,17 @@ public abstract class RecipientAddEditBaseV3Presenter extends BasePresenter impl
private void init() { private void init() {
view.hideAllViewExceptCountry();
view.getRecipientAddEditV3ContractInterface().hideAllViewExceptCountry();
} }
protected void applyValidationRulesToView(List<ValidationRuleModel> data) { protected void applyValidationRulesToView(List<ValidationRuleModel> data) {
if (data != null) { if (data != null) {
view.registerTextWatchers(false);
view.getRecipientAddEditV3ContractInterface().registerTextWatchers(false);
validator.clearValidationRule(); validator.clearValidationRule();
for (ValidationRuleModel rule : data) { for (ValidationRuleModel rule : data) {
validator.applyDynamicValidationRuleToView(rule); validator.applyDynamicValidationRuleToView(rule);
} }
view.registerTextWatchers(true);
view.getRecipientAddEditV3ContractInterface().registerTextWatchers(true);
} }
} }
@ -85,7 +86,7 @@ public abstract class RecipientAddEditBaseV3Presenter extends BasePresenter impl
@Override @Override
public void onTransferReasonSelected(DropDownDTO selectedTransferReason) { public void onTransferReasonSelected(DropDownDTO selectedTransferReason) {
if (shouldPromptToInputAnswer(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 @Override
public void onAnswerSubmitted(String answer) { public void onAnswerSubmitted(String answer) {
validator.updateTransfer(DropDownDTO.createFromUserAnswerInput(answer)); validator.updateTransfer(DropDownDTO.createFromUserAnswerInput(answer));
@ -104,7 +105,7 @@ public abstract class RecipientAddEditBaseV3Presenter extends BasePresenter impl
@Override @Override
public void onRelationSelected(DropDownDTO selectedRelation) { public void onRelationSelected(DropDownDTO selectedRelation) {
if (shouldPromptToInputAnswer(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 @Override
public void onAnswerSubmitted(String answer) { public void onAnswerSubmitted(String answer) {
validator.updateRelation(DropDownDTO.createFromUserAnswerInput(answer)); validator.updateRelation(DropDownDTO.createFromUserAnswerInput(answer));
@ -261,6 +262,16 @@ public abstract class RecipientAddEditBaseV3Presenter extends BasePresenter impl
validator.updateNativeCountry(selectedNativeCountry); validator.updateNativeCountry(selectedNativeCountry);
} }
@Override
public void proceedToEditSucess() {
}
@Override
public void proceedToAddSucess() {
}
private boolean shouldPromptToInputAnswer(DropDownDTO optionType) { private boolean shouldPromptToInputAnswer(DropDownDTO optionType) {
return (optionType != null && ("Other (Please specify)".equalsIgnoreCase(optionType.getText()))); return (optionType != null && ("Other (Please specify)".equalsIgnoreCase(optionType.getText())));
} }

15
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.base.BaseContractInterface;
import com.swifttech.remit.jmecustomer.common.customwidgets.common.GenericPromptDialog; 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.features.recipientmanagement.utils.EditTextConfigurationFactory;
import com.swifttech.remit.jmecustomer.common.view.AnswerInputDialog; import com.swifttech.remit.jmecustomer.common.view.AnswerInputDialog;
import com.swifttech.remit.jmecustomer.features.sendmoney.model.SendMoneyRequiredDataV3; import com.swifttech.remit.jmecustomer.features.sendmoney.model.SendMoneyRequiredDataV3;
@ -9,6 +10,16 @@ import com.swifttech.remit.jmecustomer.features.sendmoney.model.SendMoneyRequire
public interface RecipientAddV3ContractInterface extends BaseContractInterface public interface RecipientAddV3ContractInterface extends BaseContractInterface
{ {
void onEditSuccess(String recipientIdToBeUpdated);
void onAddSuccess(String recipientIdToBeUpdated);
void showTermsAndConditionScreen();
RecipientAddEditV3ContractInterface getRecipientAddEditV3ContractInterface();
interface RecipientAddEditV3ContractInterface extends BaseContractInterface {
void registerTextWatchers(boolean action); void registerTextWatchers(boolean action);
void setSubmitButtonEnabled(boolean action); void setSubmitButtonEnabled(boolean action);
@ -163,9 +174,7 @@ public interface RecipientAddV3ContractInterface extends BaseContractInterface
void showMobilePrefixAndFlag(String prefix,int flag); void showMobilePrefixAndFlag(String prefix,int flag);
void onEditSuccess(String recipientIdToBeUpdated);
void onAddSuccess(String recipientIdToBeUpdated);
void scrollAccountNumberView(); void scrollAccountNumberView();
@ -225,3 +234,5 @@ public interface RecipientAddV3ContractInterface extends BaseContractInterface
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 onIDTypeSelected(DropDownDTO selectedIDType);
void onRelationSelected(DropDownDTO selectedRelation); void onRelationSelected(DropDownDTO selectedRelation);
void proceedToEditSucess();
void proceedToAddSucess();
WebRequestModel getWebRequestDataForTermsAndCondition(); 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.DynamicValidationModel;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.model.recipientaddeditV3.dynamicvalidation.PaymentBankModel; 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.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.RecipientAddV3ContractInterface;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.RecipientDetailValidatorV3; import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.RecipientDetailValidatorV3;
import com.swifttech.remit.jmecustomer.features.sendmoney.model.SendMoneyRequiredDataV3; 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. * 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 RecipientAddEditV3GatewayInterface gateway;
private final CompositeDisposable compositeDisposable; private final CompositeDisposable compositeDisposable;
public RecipientAddV3Presenter(
public RecipientAddV3ViewModel(
RecipientAddEditV3GatewayInterface gateway, RecipientAddEditV3GatewayInterface gateway,
RecipientAddV3ContractInterface view, RecipientAddV3ContractInterface view,
ReceiverInfoV3Model receiverInfoV3Model ReceiverInfoV3Model receiverInfoV3Model
@ -104,9 +104,9 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter {
public void onCountryServiceSelected(CountryServiceModel selectedCountry) { public void onCountryServiceSelected(CountryServiceModel selectedCountry) {
validator.clearMobileNumberPrefixAndUpdate(); validator.clearMobileNumberPrefixAndUpdate();
validator.updateSelectedCountry(selectedCountry); 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> { public class DynamicListObserver extends GenericApiObserverResponseV2<DynamicValidationModel> {
@ -242,8 +252,8 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter {
} else { } else {
validator.getRecipientDetail().setPaymentMethod(null); 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); view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, null);
} }
@ -252,8 +262,8 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter {
@Override @Override
public void onFailed(String message) { public void onFailed(String message) {
validator.getRecipientDetail().setPaymentMethod(null); 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); view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null);
} }
@ -261,8 +271,8 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter {
@Override @Override
protected void onConnectionNotEstablished(String message) { protected void onConnectionNotEstablished(String message) {
validator.getRecipientDetail().setPaymentMethod(null); 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); view.showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET, null);
} }
@ -285,7 +295,7 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter {
protected void onSuccess(GenericResponseDataModel<List<CountryServiceModel>> t) { protected void onSuccess(GenericResponseDataModel<List<CountryServiceModel>> t) {
if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
validator.updateAvailableCountryServiceData(t.getData()); validator.updateAvailableCountryServiceData(t.getData());
view.showCountrySelectionView(true);
view.getRecipientAddEditV3ContractInterface().showCountrySelectionView(true);
} else { } else {
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView()); 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) { protected void onSuccess(GenericResponseDataModel<ReceiverInfoV3Model> t) {
if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { 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())); 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 @Override
public void onNegativeBtnPressed() { public void onNegativeBtnPressed() {
view.onAddSuccess(t.getData().getReceiverId()); view.onAddSuccess(t.getData().getReceiverId());
@ -329,7 +339,7 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter {
@Override @Override
public void onPositiveBtnPressed() { public void onPositiveBtnPressed() {
SendMoneyRequiredDataV3 sendMoneyRequiredDataV3=new SendMoneyRequiredDataV3(t.getData()); SendMoneyRequiredDataV3 sendMoneyRequiredDataV3=new SendMoneyRequiredDataV3(t.getData());
view.redirectToSendMoney(sendMoneyRequiredDataV3);
view.getRecipientAddEditV3ContractInterface().redirectToSendMoney(sendMoneyRequiredDataV3);
} }
}, send_money_to_string); }, send_money_to_string);
return; return;
@ -362,13 +372,13 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter {
@Override @Override
protected void onSuccess(AccountValidationApiResponse accountValidationApiResponse) { protected void onSuccess(AccountValidationApiResponse accountValidationApiResponse) {
if (accountValidationApiResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { if (accountValidationApiResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
view.setErrorOnWidgetAccountNo(null);
view.getRecipientAddEditV3ContractInterface().setErrorOnWidgetAccountNo(null);
updateRecipientInfo(); updateRecipientInfo();
} else { } 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.AgentV3Model;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.model.recipientlistingV3.BranchV3Model; 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.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.RecipientAddV3ContractInterface;
import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.RecipientDetailValidatorV3; import com.swifttech.remit.jmecustomer.features.recipientmanagement.presenter.recipientaddeditV3.RecipientDetailValidatorV3;
import com.swifttech.remit.jmecustomer.features.sendmoney.model.SendMoneyRequiredDataV3; 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. * 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 RecipientAddEditV3GatewayInterface gateway;
private final CompositeDisposable compositeDisposable; private final CompositeDisposable compositeDisposable;
private final boolean hasPartnerChanged; private final boolean hasPartnerChanged;
public RecipientEditV3Presenter(
public RecipientEditV3ViewModel(
RecipientAddEditV3GatewayInterface gateway, RecipientAddEditV3GatewayInterface gateway,
RecipientAddV3ContractInterface view, RecipientAddV3ContractInterface view,
ReceiverInfoV3Model receiverInfoV3Model ReceiverInfoV3Model receiverInfoV3Model
@ -87,7 +87,7 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
public void onCountryServiceSelected(CountryServiceModel selectedCountry) { public void onCountryServiceSelected(CountryServiceModel selectedCountry) {
validator.clearMobileNumberPrefixAndUpdate(); validator.clearMobileNumberPrefixAndUpdate();
validator.updateSelectedCountry(selectedCountry); 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()); getDynamicValidationAndDropDownList(validator.getRecipientDetail().getCountryId(), selectedServiceType.getId());
} }
@Override @Override
public WebRequestModel getWebRequestDataForTermsAndCondition() { public WebRequestModel getWebRequestDataForTermsAndCondition() {
return new WebRequestModel(getStringfromStringId(R.string.terms_and_condition_title_text), JME_TERMS_N_CONDITIONS, null); 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() { 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())) { 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 { } 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) 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(); AgentV3Model selectedAgent = validator.getRecipientDetail().getAgent();
if (selectedAgent != null) { 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(); BranchV3Model branchV3Model = selectedAgent.getBranch();
if (branchV3Model != null) 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; return name;
} }
@Override
public void onViewReady() {
}
@Override
public void onViewNotReady() {
}
public class DynamicListObserver extends GenericApiObserverResponseV2<DynamicValidationModel> { public class DynamicListObserver extends GenericApiObserverResponseV2<DynamicValidationModel> {
@ -331,8 +343,8 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
} else { } else {
validator.getRecipientDetail().setPaymentMethod(null); 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); view.showPopUpMessage(data.getMsg(), CustomAlertDialog.AlertType.FAILED, null);
} }
} }
@ -340,8 +352,8 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
@Override @Override
public void onFailed(String message) { public void onFailed(String message) {
validator.getRecipientDetail().setPaymentMethod(null); 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()); view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView());
} }
@ -349,8 +361,8 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
@Override @Override
protected void onConnectionNotEstablished(String message) { protected void onConnectionNotEstablished(String message) {
validator.getRecipientDetail().setPaymentMethod(null); 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()); view.showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET, alertType -> view.exitView());
} }
@ -384,9 +396,9 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
getDynamicValidationAndDropDownList(countryId, serviceTypeID); getDynamicValidationAndDropDownList(countryId, serviceTypeID);
} }
seedExistingDatatoView(); 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 { } else {
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView()); 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) { protected void onSuccess(GenericResponseDataModel<ReceiverInfoV3Model> t) {
if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { 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())); 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 @Override
public void onNegativeBtnPressed() { public void onNegativeBtnPressed() {
view.onEditSuccess(t.getData().getReceiverId()); view.onEditSuccess(t.getData().getReceiverId());
@ -432,7 +444,7 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
@Override @Override
public void onPositiveBtnPressed() { public void onPositiveBtnPressed() {
SendMoneyRequiredDataV3 sendMoneyRequiredDataV3 = new SendMoneyRequiredDataV3(t.getData()); SendMoneyRequiredDataV3 sendMoneyRequiredDataV3 = new SendMoneyRequiredDataV3(t.getData());
view.redirectToSendMoney(sendMoneyRequiredDataV3);
view.getRecipientAddEditV3ContractInterface().redirectToSendMoney(sendMoneyRequiredDataV3);
} }
}, send_money_to_string); }, send_money_to_string);
return; return;
@ -465,13 +477,13 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
@Override @Override
protected void onSuccess(AccountValidationApiResponse accountValidationApiResponse) { protected void onSuccess(AccountValidationApiResponse accountValidationApiResponse) {
if (accountValidationApiResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { if (accountValidationApiResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
view.setErrorOnWidgetAccountNo(null);
view.getRecipientAddEditV3ContractInterface().setErrorOnWidgetAccountNo(null);
updateRecipientInfo(); updateRecipientInfo();
} else { } 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();
}
}

1438
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"> android:orientation="vertical">
<include layout="@layout/layout_sendmoney_toolbar" /> <include layout="@layout/layout_sendmoney_toolbar" />
<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"
<FrameLayout
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_width="match_parent" 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" />
android:layout_height="match_parent"
android:fillViewport="true" >
<com.swifttech.remit.jmecustomer.common.customwidgets.GmeTextView
android:id="@+id/txv_jme_terms_n_condition"
<com.swifttech.remit.jmecustomer.common.customwidgets.SwipeDisabledViewPager
android:id="@+id/addBeneficiaryV3ViewPager"
android:layout_width="match_parent" 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> </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