Browse Source

KYC view fixes

master
Preyea Regmi 4 years ago
parent
commit
6612ef6735
  1. BIN
      .idea/caches/build_file_checksums.ser
  2. 1
      SpinnerDatePickerLib-release/build/.transforms/4647f6ab949e605a829eced215dd9825.bin
  3. BIN
      SpinnerDatePickerLib-release/build/.transforms/4647f6ab949e605a829eced215dd9825/SpinnerDatePickerLib-release-runtime/classes.dex
  4. 136
      app/src/main/java/com/gmeremit/online/gmeremittance_native/common/view/MTextInputMaskedEditText.java
  5. 185
      app/src/main/java/com/gmeremit/online/gmeremittance_native/common/view/MaskedTextWatcher.java
  6. 5
      app/src/main/java/com/gmeremit/online/gmeremittance_native/common/view/ValueListener.java
  7. 57
      app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/view/personal/CustomerDetailFragment.java
  8. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2Presenter.java
  9. 5
      app/src/main/res/color/textinput_hint_color.xml
  10. 588
      app/src/main/res/layout/fragment_kyc_customer_detail.xml
  11. 9
      app/src/main/res/layout/fragment_kyc_document.xml
  12. 11
      app/src/main/res/values/attrs.xml
  13. 4
      app/src/main/res/values/colors.xml
  14. 19
      app/src/main/res/values/styles.xml

BIN
.idea/caches/build_file_checksums.ser

1
SpinnerDatePickerLib-release/build/.transforms/4647f6ab949e605a829eced215dd9825.bin

@ -0,0 +1 @@
o/SpinnerDatePickerLib-release-runtime

BIN
SpinnerDatePickerLib-release/build/.transforms/4647f6ab949e605a829eced215dd9825/SpinnerDatePickerLib-release-runtime/classes.dex

136
app/src/main/java/com/gmeremit/online/gmeremittance_native/common/view/MTextInputMaskedEditText.java

@ -0,0 +1,136 @@
package com.gmeremit.online.gmeremittance_native.common.view;
import android.content.Context;
import android.content.res.TypedArray;
import android.text.InputFilter;
import android.text.InputType;
import android.util.AttributeSet;
import android.util.TypedValue;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.customwidgets.FontCache;
import com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText;
import com.gmeremit.online.gmeremittance_native.customwidgets.maskedittext.GmeMaskedEditText;
import com.google.android.material.textfield.TextInputEditText;
public class MTextInputMaskedEditText extends TextInputEditText {
private MaskedTextWatcher maskedTextWatcher;
private int maskingType = 0;
private String prefixText = "";
private boolean isAlphaNumeric = true;
private GmeMaskedEditText.ValueListener valueListener;
public MTextInputMaskedEditText(Context context) {
super(context);
init(context, null);
}
public MTextInputMaskedEditText(Context context, AttributeSet attrs) {
super(context, attrs);
init(context, attrs);
}
public MTextInputMaskedEditText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(context, attrs);
}
private void init(Context context, AttributeSet attrs) {
if (attrs != null) {
TypedArray a = null;
try {
a = getContext().obtainStyledAttributes(attrs, R.styleable.MTextInputMaskedEditText);
String fontName = a.getString(R.styleable.MTextInputMaskedEditText_maskedEdTxtFontName);
setTypeface(FontCache.getTypeface(fontName, context));
TypedValue outValue = new TypedValue();
boolean result = a.getValue(R.styleable.GMEMaskedEditText_textType, outValue);
if (result) {
maskingType = outValue.data;
prefixText = a.getString(R.styleable.GMEMaskedEditText_prefixText);
if (prefixText == null)
prefixText = "";
setupMasking();
}
} catch (Exception e) {
} finally {
if (a != null)
a.recycle();
}
}
}
public void setMaskingType(int value) {
maskingType = value;
setupMasking();
}
private void setupMasking() {
String phoneMask = "";
switch (maskingType) {
case 0:
isAlphaNumeric = true;
setInputType(InputType.TYPE_CLASS_TEXT);
setFilters(new InputFilter[]{new GmeEditText.RegExInputFilter("^[a-zA-Z0-9]+$"), new InputFilter.LengthFilter(50)});
if (maskedTextWatcher != null)
removeTextChangedListener(maskedTextWatcher);
maskedTextWatcher=null;
break;
case 1:
if (prefixText.length() > 0)
phoneMask = "-######-#######";
else
phoneMask = "######-#######";
isAlphaNumeric = false;
setInputType(InputType.TYPE_CLASS_PHONE);
if (maskedTextWatcher != null)
removeTextChangedListener(maskedTextWatcher);
maskedTextWatcher = new MaskedTextWatcher(phoneMask, prefixText, "#", this, isAlphaNumeric);
addTextChangedListener(maskedTextWatcher);
setFilters(new InputFilter[]{ new InputFilter.LengthFilter(14)});
// maskedTextWatcher.setValueListener(valueListener);
break;
case 2:
if (prefixText.length() > 0)
phoneMask = "-####-#####";
else
phoneMask = "###-####-#####";
isAlphaNumeric = false;
setInputType(InputType.TYPE_CLASS_PHONE);
if (maskedTextWatcher != null)
removeTextChangedListener(maskedTextWatcher);
maskedTextWatcher = new MaskedTextWatcher(phoneMask, prefixText, "#", this, isAlphaNumeric);
addTextChangedListener(maskedTextWatcher);
setFilters(new InputFilter[]{ new InputFilter.LengthFilter(13)});
break;
default:
isAlphaNumeric = true;
setInputType(InputType.TYPE_CLASS_TEXT);
if (maskedTextWatcher != null)
removeTextChangedListener(maskedTextWatcher);
maskedTextWatcher=null;
break;
}
}
public void setValueListener(ValueListener listener, boolean truncatePrefix) {
maskedTextWatcher.setValueListener(listener,truncatePrefix);
}
}

185
app/src/main/java/com/gmeremit/online/gmeremittance_native/common/view/MaskedTextWatcher.java

@ -0,0 +1,185 @@
package com.gmeremit.online.gmeremittance_native.common.view;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.TextView;
import com.gmeremit.online.gmeremittance_native.customwidgets.maskedittext.GmeMaskedEditText;
import java.util.LinkedList;
import java.util.Queue;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class MaskedTextWatcher implements TextWatcher {
private final String maskString;
private final String prefixText;
private static boolean isAlphaNumeric;
private ValueListener valueListener;
private final Pattern maskPattern;
private final EditText editText;
private boolean shouldTruncatePrefix;
MaskedTextWatcher(String maskString, String prefixText, String maskSymbol, EditText editText, boolean isAlphaNumeric) {
this.maskString = maskString;
this.prefixText = prefixText;
this.maskPattern = Pattern.compile(maskSymbol);
this.editText = editText;
this.valueListener = null;
this.isAlphaNumeric = isAlphaNumeric;
}
public void setValueListener(ValueListener listener,boolean shouldTruncatePrefix) {
this.valueListener = listener;
this.shouldTruncatePrefix=shouldTruncatePrefix;
}
private String result = "";
private EditState state = EditState.IDLE;
private Integer cursorPosition;
private Integer cursorShifting;
private String phoneString = "";
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
if (state == EditState.IDLE) {
cursorShifting = s.length();
}
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
final String value = s.toString();
if (state == EditState.RELEASE) {
cursorShifting = s.length() - cursorShifting;
cursorPosition = cursorPosition + cursorShifting;
if (cursorShifting > 0) {
if (cursorPosition < value.length()) {
cursorPosition--;
if (isAlphaNumeric && !Character.isLetterOrDigit(value.charAt(cursorPosition))) {
cursorPosition++;
}
if (!isAlphaNumeric && !Character.isDigit(value.charAt(cursorPosition))) {
cursorPosition++;
}
}
} else {
cursorPosition++;
}
editText.setSelection(Math.max(0, Math.min(cursorPosition, value.length())));
state = EditState.IDLE;
return;
}
if (state == EditState.IDLE) {
if (s.toString().isEmpty()) {
phoneString = "";
cursorPosition = 0;
return;
}
cursorPosition = editText.getSelectionStart();
String rawString = value.replace(prefixText, "");
//Raw string contains the character input from user.
rawString = getRegExPattern().matcher(rawString).replaceAll("");
Queue<Character> charsQueue = new LinkedList<>();
for (char c : rawString.toCharArray()) {
charsQueue.add(c);
}
//Build masked text for display.
StringBuilder rawMaskBuilder = new StringBuilder(prefixText + maskString);
Matcher matcher = maskPattern.matcher(prefixText + maskString);
while (matcher.find()) {
int start = matcher.start();
if (!charsQueue.isEmpty()) {
rawMaskBuilder.replace(start, start + 1, charsQueue.poll().toString());
if (charsQueue.isEmpty()) {
result = rawMaskBuilder.substring(0, start + 1);
break;
}
} else {
result = rawMaskBuilder.substring(0, start);
break;
}
}
//Prepare to send to the listener the raw data that user has entered.
String data = getRegExPattern().matcher(rawMaskBuilder.toString()).replaceAll("");
if (valueListener != null) {
if (prefixText.length() > 0) {
if(shouldTruncatePrefix)
valueListener.onValueChanged(data.substring(prefixText.length() - 1));
else
valueListener.onValueChanged(data);
}
else
valueListener.onValueChanged(data);
}
state = EditState.EDIT;
}
switch (state) {
case EDIT:
state = EditState.CLEAR;
s.clear();
break;
case CLEAR:
state = EditState.RELEASE;
s.append(result, 0, result.length());
break;
default:
break;
}
}
/**
* Experimental.
*
* @param editText
* @param mask
*/
@Deprecated
public static void validatePresetup(TextView editText, String mask) {
//Check setOnFocusChangeListener
if (editText.getOnFocusChangeListener() != null) {
throw new RuntimeException("If you wanna to use OnFocusChangeListener add it through withOnFocusChangeListener() method");
}
//Check maskString
if (mask == null) {
throw new RuntimeException("Mask can't be null");
}
}
private static Pattern getRegExPattern() {
if (MaskedTextWatcher.isAlphaNumeric)
return Pattern.compile("[^[a-zA-Z0-9]*$]");
else
return Pattern.compile("[^\\d]+");
}
public String getPhone() {
return phoneString;
}
enum EditState {
IDLE, EDIT, CLEAR, RELEASE
}
}

5
app/src/main/java/com/gmeremit/online/gmeremittance_native/common/view/ValueListener.java

@ -0,0 +1,5 @@
package com.gmeremit.online.gmeremittance_native.common.view;
public interface ValueListener {
void onValueChanged(String value);
}

57
app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/view/personal/CustomerDetailFragment.java

@ -8,6 +8,7 @@ import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.AutoCompleteTextView;
import android.widget.Button; import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
import android.widget.LinearLayout; import android.widget.LinearLayout;
@ -22,6 +23,7 @@ import androidx.transition.TransitionManager;
import com.gmeremit.online.gmeremittance_native.R; import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.base.BaseFragment; import com.gmeremit.online.gmeremittance_native.base.BaseFragment;
import com.gmeremit.online.gmeremittance_native.common.view.MTextInputMaskedEditText;
import com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText; import com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText;
import com.gmeremit.online.gmeremittance_native.customwidgets.common.GenericImageWithTextListingDialog; import com.gmeremit.online.gmeremittance_native.customwidgets.common.GenericImageWithTextListingDialog;
import com.gmeremit.online.gmeremittance_native.customwidgets.common.GenericTextListingDialog; import com.gmeremit.online.gmeremittance_native.customwidgets.common.GenericTextListingDialog;
@ -33,6 +35,7 @@ import com.gmeremit.online.gmeremittance_native.kycV3.presenter.KYCV3ViewModel;
import com.gmeremit.online.gmeremittance_native.utils.RxUtils; import com.gmeremit.online.gmeremittance_native.utils.RxUtils;
import com.gmeremit.online.gmeremittance_native.utils.Utils; import com.gmeremit.online.gmeremittance_native.utils.Utils;
import com.gmeremit.online.gmeremittance_native.utils.other.Utility; import com.gmeremit.online.gmeremittance_native.utils.other.Utility;
import com.google.android.material.textfield.TextInputEditText;
import com.google.android.material.textfield.TextInputLayout; import com.google.android.material.textfield.TextInputLayout;
import com.jakewharton.rxbinding3.widget.RxTextView; import com.jakewharton.rxbinding3.widget.RxTextView;
import com.tsongkha.spinnerdatepicker.SpinnerDatePickerDialogBuilder; import com.tsongkha.spinnerdatepicker.SpinnerDatePickerDialogBuilder;
@ -78,17 +81,17 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
//Form 1 //Form 1
@BindView(R.id.ed_firstname) @BindView(R.id.ed_firstname)
EditText ed_firstname;
TextInputEditText ed_firstname;
@BindView(R.id.firstnameWrapper) @BindView(R.id.firstnameWrapper)
TextInputLayout fullNameWrapper; TextInputLayout fullNameWrapper;
@BindView(R.id.ed_gender) @BindView(R.id.ed_gender)
EditText ed_gender;
AutoCompleteTextView ed_gender;
@BindView(R.id.genderListWrapper) @BindView(R.id.genderListWrapper)
TextInputLayout genderListWrapper; TextInputLayout genderListWrapper;
@BindView(R.id.ed_dob) @BindView(R.id.ed_dob)
EditText ed_dob;
AutoCompleteTextView ed_dob;
@BindView(R.id.dobWrapper) @BindView(R.id.dobWrapper)
TextInputLayout dobWrapper; TextInputLayout dobWrapper;
@ -98,12 +101,12 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
TextInputLayout emailWrapper; TextInputLayout emailWrapper;
@BindView(R.id.ed_city) @BindView(R.id.ed_city)
EditText ed_city;
AutoCompleteTextView ed_city;
@BindView(R.id.cityWrapper) @BindView(R.id.cityWrapper)
TextInputLayout cityWrapper; TextInputLayout cityWrapper;
@BindView(R.id.ed_occupation) @BindView(R.id.ed_occupation)
EditText ed_occupation;
AutoCompleteTextView ed_occupation;
@BindView(R.id.occupationSelectionWrapper) @BindView(R.id.occupationSelectionWrapper)
TextInputLayout occupationSelectionWrapper; TextInputLayout occupationSelectionWrapper;
@ -114,7 +117,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
//Form 2 //Form 2
@BindView(R.id.ed_primaryBank) @BindView(R.id.ed_primaryBank)
EditText ed_primaryBank;
AutoCompleteTextView ed_primaryBank;
@BindView(R.id.primaryBankListWrapper) @BindView(R.id.primaryBankListWrapper)
TextInputLayout primaryBankListWrapper; TextInputLayout primaryBankListWrapper;
@ -127,7 +130,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
TextView txt_passport_label; TextView txt_passport_label;
@BindView(R.id.ed_passportId) @BindView(R.id.ed_passportId)
EditText ed_passportId;
MTextInputMaskedEditText ed_passportId;
@BindView(R.id.passportIdWrapper) @BindView(R.id.passportIdWrapper)
TextInputLayout passportIdWrapper; TextInputLayout passportIdWrapper;
@ -135,15 +138,13 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
EditText ed_passportIdIssueDate; EditText ed_passportIdIssueDate;
@BindView(R.id.passportIdIssueDateWrapper) @BindView(R.id.passportIdIssueDateWrapper)
TextInputLayout passportIdIssueDateWrapper; TextInputLayout passportIdIssueDateWrapper;
@BindView(R.id.passportIdIssueDateContainer)
View passportIdIssueDateContainer;
@BindView(R.id.ed_passportIdExpiryDate) @BindView(R.id.ed_passportIdExpiryDate)
EditText ed_passportIdExpiryDate;
AutoCompleteTextView ed_passportIdExpiryDate;
@BindView(R.id.passportIdExpiryDateWrapper) @BindView(R.id.passportIdExpiryDateWrapper)
TextInputLayout passportIdExpiryDateWrapper; TextInputLayout passportIdExpiryDateWrapper;
@BindView(R.id.passportIdExpiryDateContainer)
View passportIdExpiryDateContainer;
@BindView(R.id.txt_another_id_label) @BindView(R.id.txt_another_id_label)
@ -153,32 +154,30 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
TextView txt_another_id_clear; TextView txt_another_id_clear;
@BindView(R.id.ed_idType) @BindView(R.id.ed_idType)
EditText ed_idType;
AutoCompleteTextView ed_idType;
@BindView(R.id.idTypeWrapper) @BindView(R.id.idTypeWrapper)
TextInputLayout idTypeWrapper; TextInputLayout idTypeWrapper;
@BindView(R.id.ed_anotherId) @BindView(R.id.ed_anotherId)
GmeMaskedEditText ed_anotherId;
MTextInputMaskedEditText ed_anotherId;
@BindView(R.id.anotherIdWrapper) @BindView(R.id.anotherIdWrapper)
TextInputLayout anotherIdWrapper; TextInputLayout anotherIdWrapper;
@BindView(R.id.ed_anotherIssueDate) @BindView(R.id.ed_anotherIssueDate)
EditText ed_anotherIssueDate;
AutoCompleteTextView ed_anotherIssueDate;
@BindView(R.id.anotherIssueDateWrapper) @BindView(R.id.anotherIssueDateWrapper)
TextInputLayout anotherIssueDateWrapper; TextInputLayout anotherIssueDateWrapper;
@BindView(R.id.anotherIdIssueDateContainer)
View anotherIdIssueDateContainer;
@BindView(R.id.ed_anotherExpiryDate) @BindView(R.id.ed_anotherExpiryDate)
EditText ed_anotherExpiryDate;
AutoCompleteTextView ed_anotherExpiryDate;
@BindView(R.id.anotherExpiryDateWrapper) @BindView(R.id.anotherExpiryDateWrapper)
TextInputLayout anotherExpiryDateWrapper; TextInputLayout anotherExpiryDateWrapper;
@BindView(R.id.anotherIdExpiryDateContainer)
View anotherIdExpiryDateContainer;
@BindView(R.id.ed_branch) @BindView(R.id.ed_branch)
EditText ed_branch;
AutoCompleteTextView ed_branch;
@BindView(R.id.branchSelectionWrapper) @BindView(R.id.branchSelectionWrapper)
TextInputLayout branchSelectionWrapper; TextInputLayout branchSelectionWrapper;
@ -340,16 +339,16 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
kycv3ViewModel.getAlternateIdIssueDateRequireLiveData().observe(getViewLifecycleOwner(), action -> { kycv3ViewModel.getAlternateIdIssueDateRequireLiveData().observe(getViewLifecycleOwner(), action -> {
if (action) if (action)
anotherIdIssueDateContainer.setVisibility(View.VISIBLE);
anotherIssueDateWrapper.setVisibility(View.VISIBLE);
else else
anotherIdIssueDateContainer.setVisibility(GONE);
anotherIssueDateWrapper.setVisibility(GONE);
}); });
kycv3ViewModel.getAlternateIdExpiryDateRequireLiveData().observe(getViewLifecycleOwner(), action -> { kycv3ViewModel.getAlternateIdExpiryDateRequireLiveData().observe(getViewLifecycleOwner(), action -> {
if (action) if (action)
anotherIdExpiryDateContainer.setVisibility(View.VISIBLE);
anotherExpiryDateWrapper.setVisibility(View.VISIBLE);
else else
anotherIdExpiryDateContainer.setVisibility(GONE);
anotherExpiryDateWrapper.setVisibility(GONE);
}); });
@ -380,16 +379,16 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
if (action) { if (action) {
txt_passport_label.setVisibility(GONE); txt_passport_label.setVisibility(GONE);
passportIdWrapper.setVisibility(GONE); passportIdWrapper.setVisibility(GONE);
passportIdExpiryDateContainer.setVisibility(GONE);
passportIdIssueDateContainer.setVisibility(GONE);
passportIdExpiryDateWrapper.setVisibility(GONE);
passportIdIssueDateWrapper.setVisibility(GONE);
txt_another_id_clear.setVisibility(View.GONE); txt_another_id_clear.setVisibility(View.GONE);
txt_another_id_label.setText(getString(R.string.id_type_text)); txt_another_id_label.setText(getString(R.string.id_type_text));
} else { } else {
txt_passport_label.setVisibility(View.VISIBLE); txt_passport_label.setVisibility(View.VISIBLE);
passportIdWrapper.setVisibility(View.VISIBLE); passportIdWrapper.setVisibility(View.VISIBLE);
passportIdExpiryDateContainer.setVisibility(View.VISIBLE);
passportIdIssueDateContainer.setVisibility(View.VISIBLE);
passportIdExpiryDateWrapper.setVisibility(View.VISIBLE);
passportIdIssueDateWrapper.setVisibility(View.VISIBLE);
txt_another_id_clear.setVisibility(View.VISIBLE); txt_another_id_clear.setVisibility(View.VISIBLE);
txt_another_id_label.setText(getString(R.string.another_id_information_text)); txt_another_id_label.setText(getString(R.string.another_id_information_text));

2
app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2Presenter.java

@ -80,7 +80,7 @@ public class LoginV2Presenter extends BaseViewModel implements LoginV2PresenterI
private void mockValidUserLogin() { private void mockValidUserLogin() {
loginViewLiveData.setPasswordInputLiveData(new FormInputStateDTO<>(true,null,"123456")); loginViewLiveData.setPasswordInputLiveData(new FormInputStateDTO<>(true,null,"123456"));
loginViewLiveData.setUserIdInputLiveData(new FormInputStateDTO<>(true,null,"timmy"));
loginViewLiveData.setUserIdInputLiveData(new FormInputStateDTO<>(true,null,"bamboo"));
} }
private void bindView(LoginViewLiveData.LoginViewBindings viewBindings) { private void bindView(LoginViewLiveData.LoginViewBindings viewBindings) {

5
app/src/main/res/color/textinput_hint_color.xml

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:color="@color/hint_color_active"/>
<item android:color="@color/hint_color_inactive"/>
</selector>

588
app/src/main/res/layout/fragment_kyc_customer_detail.xml

@ -39,201 +39,107 @@
app:txtfontName="@string/semibold" /> app:txtfontName="@string/semibold" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout
style="@style/MTextInputLayoutForm"
android:id="@+id/firstnameWrapper" android:id="@+id/firstnameWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_12sdp"
android:hint="@string/fullname_placeholder_text" android:hint="@string/fullname_placeholder_text"
android:textColorHint="@color/darkgray"
android:layout_marginTop="@dimen/form_initial_input_margin_top"
app:errorEnabled="true"> app:errorEnabled="true">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputEditText
android:id="@+id/ed_firstname" android:id="@+id/ed_firstname"
style="@style/editetxtsingleline"
android:layout_width="match_parent"
app:endIconMode="clear_text"
app:errorEnabled="true"
style="@style/MTextInputEditText"
android:inputType="text" android:inputType="text"
android:layout_height="wrap_content"
android:imeOptions="actionDone"
android:imeOptions="actionNext"
app:maxLengthLimiter="100" /> app:maxLengthLimiter="100" />
</com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout>
</com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/kycTextUpperMargin"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout
android:id="@+id/genderListWrapper" android:id="@+id/genderListWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/gender_placeholder_text" android:hint="@string/gender_placeholder_text"
android:textColorHint="@color/darkgray"
style="@style/MTextInputLayoutFormDropDown"
app:endIconMode="dropdown_menu"
app:errorEnabled="true"> app:errorEnabled="true">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
<com.gmeremit.online.gmeremittance_native.common.view.MAutoCompleteTextView
android:id="@+id/ed_gender" android:id="@+id/ed_gender"
style="@style/editetxtsingleline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:layout_marginRight="12dp"
android:cursorVisible="false"
android:enabled="true"
android:focusable="false"
android:imeOptions="actionDone"
android:singleLine="false"
app:applyASCIIFilter="false" />
</com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout>
style="@style/MAutoCompleteDropDown" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginBottom="8dp"
android:background="@drawable/ic_arrow_down" />
</FrameLayout>
</com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/kycTextUpperMargin"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:orientation="horizontal"
android:visibility="visible">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeRxTextInputLayout
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout
android:id="@+id/dobWrapper" android:id="@+id/dobWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/dob_text" android:hint="@string/dob_text"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:textColorHint="@color/darkgray"
app:errorEnabled="true"
app:hintEnabled="true">
style="@style/MTextInputLayoutFormDropDown"
app:endIconMode="dropdown_menu"
app:errorEnabled="true">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
<com.gmeremit.online.gmeremittance_native.common.view.MAutoCompleteTextView
android:id="@+id/ed_dob" android:id="@+id/ed_dob"
style="@style/editetxtsingleline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:layout_marginRight="12dp"
android:cursorVisible="false"
android:enabled="true"
android:focusable="false"
android:imeOptions="actionDone"
android:singleLine="false" />
style="@style/MAutoCompleteDropDown"/>
</com.gmeremit.online.gmeremittance_native.customwidgets.GmeRxTextInputLayout>
</com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginBottom="8dp"
android:background="@drawable/ic_arrow_down" />
</FrameLayout>
<com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout
style="@style/MTextInputLayoutForm"
android:id="@+id/emailWrapper" android:id="@+id/emailWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/kycTextUpperMargin"
android:hint="@string/email_address_text" android:hint="@string/email_address_text"
android:textColorHint="@color/darkgray"
app:errorEnabled="true"> app:errorEnabled="true">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputEditText
android:id="@+id/ed_email" android:id="@+id/ed_email"
style="@style/editetxtsingleline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:endIconMode="clear_text"
app:errorEnabled="true"
style="@style/MTextInputEditText"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:inputType="textEmailAddress" android:inputType="textEmailAddress"
app:maxLengthLimiter="100" /> app:maxLengthLimiter="100" />
</com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/kycTextUpperMargin"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:orientation="horizontal"
android:visibility="visible">
</com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout>
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeRxTextInputLayout <com.gmeremit.online.gmeremittance_native.customwidgets.GmeRxTextInputLayout
android:id="@+id/cityWrapper" android:id="@+id/cityWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/select_city_text" android:hint="@string/select_city_text"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:textColorHint="@color/darkgray"
app:errorEnabled="true"
app:hintEnabled="true">
style="@style/MTextInputLayoutFormDropDown"
app:endIconMode="dropdown_menu"
app:errorEnabled="true">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
<com.gmeremit.online.gmeremittance_native.common.view.MAutoCompleteTextView
android:id="@+id/ed_city" android:id="@+id/ed_city"
style="@style/editetxtsingleline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:layout_marginRight="12dp"
android:cursorVisible="false"
android:enabled="true"
android:focusable="false"
android:imeOptions="actionDone"
android:singleLine="false" />
style="@style/MAutoCompleteDropDown" />
</com.gmeremit.online.gmeremittance_native.customwidgets.GmeRxTextInputLayout> </com.gmeremit.online.gmeremittance_native.customwidgets.GmeRxTextInputLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginBottom="8dp"
android:background="@drawable/ic_arrow_down" />
</FrameLayout>
<FrameLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/kycTextUpperMargin"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:orientation="horizontal"> android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout
android:id="@+id/addressWrapper" android:id="@+id/addressWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/address_in_korea_text" android:hint="@string/address_in_korea_text"
android:textColorHint="@color/darkgray"
style="@style/MTextInputLayoutForm"
android:layout_marginEnd="@dimen/_35sdp"
app:errorEnabled="true"> app:errorEnabled="true">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputEditText
android:id="@+id/ed_address" android:id="@+id/ed_address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="24dp"
style="@style/MTextInputEditText"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:inputType="text" android:inputType="text"
android:singleLine="true" />
</com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout>
/>
</com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout>
<ImageView <ImageView
android:paddingStart="@dimen/_5sdp"
android:layout_marginEnd="@dimen/_8sdp"
android:id="@+id/img_gps" android:id="@+id/img_gps"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -243,61 +149,36 @@
</FrameLayout> </FrameLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/kycTextUpperMargin"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout
android:id="@+id/occupationSelectionWrapper" android:id="@+id/occupationSelectionWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/select_occupation_text" android:hint="@string/select_occupation_text"
android:textColorHint="@color/darkgray"
style="@style/MTextInputLayoutFormDropDown"
app:endIconMode="dropdown_menu"
app:errorEnabled="true"> app:errorEnabled="true">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
<com.gmeremit.online.gmeremittance_native.common.view.MAutoCompleteTextView
android:id="@+id/ed_occupation" android:id="@+id/ed_occupation"
style="@style/editetxtsingleline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:layout_marginRight="12dp"
android:cursorVisible="false"
android:enabled="true"
android:focusable="false"
style="@style/MAutoCompleteDropDown"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:singleLine="false" />
</com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout>
/>
</com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginBottom="8dp"
android:background="@drawable/ic_arrow_down" />
</FrameLayout>
<Button
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeButton
android:id="@+id/btn_submit1" android:id="@+id/btn_submit1"
android:layout_width="wrap_content"
android:layout_height="45dp"
style="@style/gme_button"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginTop="@dimen/_15sdp" android:layout_marginTop="@dimen/_15sdp"
android:layout_marginBottom="@dimen/_15sdp" android:layout_marginBottom="@dimen/_15sdp"
android:background="@drawable/ic_rounded_background_red_coloured"
android:enabled="false" android:enabled="false"
android:minWidth="200dp"
android:text="@string/save_and_next_text" android:text="@string/save_and_next_text"
android:textAllCaps="false"
android:textColor="@color/white"
android:textSize="16sp" />
/>
</LinearLayout> </LinearLayout>
@ -326,62 +207,39 @@
app:drawableStartCompat="@drawable/vd_bank_account" app:drawableStartCompat="@drawable/vd_bank_account"
app:txtfontName="@string/semibold" /> app:txtfontName="@string/semibold" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/kycTextUpperMargin"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout
android:id="@+id/primaryBankListWrapper" android:id="@+id/primaryBankListWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/korea_bank_placeholder_text" android:hint="@string/korea_bank_placeholder_text"
android:textColorHint="@color/darkgray"
style="@style/MTextInputLayoutFormDropDown"
app:endIconMode="dropdown_menu"
app:errorEnabled="true"> app:errorEnabled="true">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
<com.gmeremit.online.gmeremittance_native.common.view.MAutoCompleteTextView
android:id="@+id/ed_primaryBank" android:id="@+id/ed_primaryBank"
style="@style/editetxtsingleline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:layout_marginRight="12dp"
android:cursorVisible="false"
android:enabled="true"
android:focusable="false"
style="@style/MAutoCompleteDropDown"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:singleLine="false" />
</com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout>
/>
</com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginBottom="8dp"
android:background="@drawable/ic_arrow_down" />
</FrameLayout>
<com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout
android:id="@+id/primaryAccountWrapper" android:id="@+id/primaryAccountWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/kycTextUpperMargin"
android:hint="@string/account_number_text" android:hint="@string/account_number_text"
android:textColorHint="@color/darkgray"
style="@style/MTextInputLayoutForm"
app:errorEnabled="true"> app:errorEnabled="true">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputEditText
android:id="@+id/ed_primaryAccountNumber" android:id="@+id/ed_primaryAccountNumber"
style="@style/editetxtsingleline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:endIconMode="clear_text"
app:errorEnabled="true"
style="@style/MTextInputEditText"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:inputType="number" android:inputType="number"
app:maxLengthLimiter="20" /> app:maxLengthLimiter="20" />
</com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout>
</com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout>
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView <com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
@ -398,103 +256,51 @@
app:drawableStartCompat="@drawable/vd_book" app:drawableStartCompat="@drawable/vd_book"
app:txtfontName="@string/semibold" /> app:txtfontName="@string/semibold" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout
android:id="@+id/passportIdWrapper" android:id="@+id/passportIdWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/kycTextUpperMargin"
style="@style/MTextInputLayoutForm"
android:hint="@string/passport_number_text" android:hint="@string/passport_number_text"
android:textColorHint="@color/darkgray"
app:errorEnabled="true"> app:errorEnabled="true">
<com.gmeremit.online.gmeremittance_native.customwidgets.maskedittext.GmeMaskedEditText
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputMaskedEditText
android:id="@+id/ed_passportId" android:id="@+id/ed_passportId"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/MTextInputEditText"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:inputType="text|textNoSuggestions" android:inputType="text|textNoSuggestions"
/> />
</com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout>
</com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout>
<FrameLayout
android:id="@+id/passportIdIssueDateContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/kycTextUpperMargin"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout
android:id="@+id/passportIdIssueDateWrapper" android:id="@+id/passportIdIssueDateWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/passport_issue_date_text" android:hint="@string/passport_issue_date_text"
android:textColorHint="@color/darkgray"
style="@style/MTextInputLayoutFormDropDown"
app:endIconMode="dropdown_menu"
app:errorEnabled="true"> app:errorEnabled="true">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
<com.gmeremit.online.gmeremittance_native.common.view.MAutoCompleteTextView
android:id="@+id/ed_passportIdIssueDate" android:id="@+id/ed_passportIdIssueDate"
style="@style/editetxtsingleline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:layout_marginRight="12dp"
android:cursorVisible="false"
android:enabled="true"
android:focusable="false"
style="@style/MAutoCompleteDropDown"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:singleLine="false" />
</com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout>
/>
</com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginBottom="8dp"
android:background="@drawable/ic_arrow_down" />
</FrameLayout>
<FrameLayout
android:id="@+id/passportIdExpiryDateContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/kycTextUpperMargin"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:orientation="horizontal"
android:visibility="visible">
<com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout
android:id="@+id/passportIdExpiryDateWrapper" android:id="@+id/passportIdExpiryDateWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/passport_expiry_date_text" android:hint="@string/passport_expiry_date_text"
android:textColorHint="@color/darkgray"
style="@style/MTextInputLayoutFormDropDown"
app:errorEnabled="true"> app:errorEnabled="true">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
<com.gmeremit.online.gmeremittance_native.common.view.MAutoCompleteTextView
android:id="@+id/ed_passportIdExpiryDate" android:id="@+id/ed_passportIdExpiryDate"
style="@style/editetxtsingleline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:layout_marginRight="12dp"
android:cursorVisible="false"
android:enabled="true"
android:focusable="false"
android:imeOptions="actionDone"
android:singleLine="false" />
</com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout>
style="@style/MAutoCompleteDropDown"
android:imeOptions="actionDone" />
</com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginBottom="8dp"
android:background="@drawable/ic_arrow_down" />
</FrameLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -530,146 +336,71 @@
app:txtfontName="@string/semibold" /> app:txtfontName="@string/semibold" />
</LinearLayout> </LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/kycTextUpperMargin"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:orientation="horizontal"
android:visibility="visible">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeRxTextInputLayout
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout
android:id="@+id/idTypeWrapper" android:id="@+id/idTypeWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/id_type_text" android:hint="@string/id_type_text"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:textColorHint="@color/darkgray"
style="@style/MTextInputLayoutFormDropDown"
app:errorEnabled="true" app:errorEnabled="true"
app:hintEnabled="true">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
>
<com.gmeremit.online.gmeremittance_native.common.view.MAutoCompleteTextView
android:id="@+id/ed_idType" android:id="@+id/ed_idType"
style="@style/editetxtsingleline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:layout_marginRight="12dp"
android:cursorVisible="false"
android:enabled="true"
android:focusable="false"
android:imeOptions="actionDone"
android:singleLine="false" />
style="@style/MAutoCompleteDropDown"
android:imeOptions="actionDone" />
</com.gmeremit.online.gmeremittance_native.customwidgets.GmeRxTextInputLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginBottom="8dp"
android:background="@drawable/ic_arrow_down" />
</FrameLayout>
</com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout>
<com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout
android:id="@+id/anotherIdWrapper" android:id="@+id/anotherIdWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/kycTextUpperMargin"
style="@style/MTextInputLayoutForm"
android:hint="@string/id_number_text" android:hint="@string/id_number_text"
android:textColorHint="@color/darkgray"
app:errorEnabled="true"> app:errorEnabled="true">
<com.gmeremit.online.gmeremittance_native.customwidgets.maskedittext.GmeMaskedEditText
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputMaskedEditText
android:id="@+id/ed_anotherId" android:id="@+id/ed_anotherId"
style="@style/editetxtsingleline"
style="@style/MTextInputEditText"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:inputType="textMultiLine|textNoSuggestions" /> android:inputType="textMultiLine|textNoSuggestions" />
</com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout>
</com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout>
<FrameLayout
android:id="@+id/anotherIdIssueDateContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/kycTextUpperMargin"
android:visibility="gone"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout
android:id="@+id/anotherIssueDateWrapper" android:id="@+id/anotherIssueDateWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/another_id_issue_date_text" android:hint="@string/another_id_issue_date_text"
android:textColorHint="@color/darkgray"
app:errorEnabled="true">
style="@style/MTextInputLayoutFormDropDown"
app:errorEnabled="true"
>
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
<com.gmeremit.online.gmeremittance_native.common.view.MAutoCompleteTextView
android:id="@+id/ed_anotherIssueDate" android:id="@+id/ed_anotherIssueDate"
style="@style/editetxtsingleline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:layout_marginRight="12dp"
android:cursorVisible="false"
android:enabled="true"
android:focusable="false"
android:imeOptions="actionDone"
android:singleLine="false" />
</com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout>
style="@style/MAutoCompleteDropDown"
android:imeOptions="actionDone"/>
</com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginBottom="8dp"
android:background="@drawable/ic_arrow_down" />
</FrameLayout>
<FrameLayout
android:id="@+id/anotherIdExpiryDateContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/kycTextUpperMargin"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:visibility="gone"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout
android:visibility="gone"
android:id="@+id/anotherExpiryDateWrapper" android:id="@+id/anotherExpiryDateWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/select_expiry_date_text"
android:textColorHint="@color/darkgray"
style="@style/MTextInputLayoutFormDropDown"
app:errorEnabled="true"> app:errorEnabled="true">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
<com.gmeremit.online.gmeremittance_native.common.view.MAutoCompleteTextView
android:id="@+id/ed_anotherExpiryDate" android:id="@+id/ed_anotherExpiryDate"
style="@style/editetxtsingleline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:layout_marginRight="12dp"
android:cursorVisible="false"
android:enabled="true"
android:focusable="false"
style="@style/MAutoCompleteDropDown"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:singleLine="false" />
</com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout>
/>
</com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginBottom="8dp"
android:background="@drawable/ic_arrow_down" />
</FrameLayout>
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView <com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="match_parent" android:layout_width="match_parent"
@ -684,79 +415,46 @@
app:drawableStartCompat="@drawable/vd_info" app:drawableStartCompat="@drawable/vd_info"
app:txtfontName="@string/semibold" /> app:txtfontName="@string/semibold" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/kycTextUpperMargin"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout
android:id="@+id/branchSelectionWrapper" android:id="@+id/branchSelectionWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/select_branch_text" android:hint="@string/select_branch_text"
android:textColorHint="@color/darkgray"
style="@style/MTextInputLayoutFormDropDown"
app:errorEnabled="true"> app:errorEnabled="true">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
<com.gmeremit.online.gmeremittance_native.common.view.MAutoCompleteTextView
android:id="@+id/ed_branch" android:id="@+id/ed_branch"
style="@style/editetxtsingleline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:layout_marginRight="12dp"
android:cursorVisible="false"
android:enabled="true"
android:focusable="false"
android:imeOptions="actionDone"
android:singleLine="false" />
</com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout>
style="@style/MAutoCompleteDropDown"
/>
</com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginBottom="8dp"
android:background="@drawable/ic_arrow_down" />
</FrameLayout>
<com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout
android:id="@+id/referralWrapper" android:id="@+id/referralWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/kycTextUpperMargin"
style="@style/MTextInputLayoutForm"
android:hint="@string/referral_code_text" android:hint="@string/referral_code_text"
android:textColorHint="@color/darkgray"
app:errorEnabled="true"> app:errorEnabled="true">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
<com.gmeremit.online.gmeremittance_native.common.view.MTextInputEditText
android:id="@+id/ed_referral" android:id="@+id/ed_referral"
style="@style/editetxtsingleline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:imeOptions="actionDone"
app:endIconMode="clear_text"
app:errorEnabled="true"
style="@style/MTextInputEditText"
android:inputType="text" android:inputType="text"
android:imeOptions="actionNext"
app:maxLengthLimiter="30" /> app:maxLengthLimiter="30" />
</com.gmeremit.online.gmeremittance_native.customwidgets.GMETextInputLayout>
</com.gmeremit.online.gmeremittance_native.common.view.MTextInputLayout>
<Button
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeButton
android:id="@+id/btn_submit2" android:id="@+id/btn_submit2"
android:layout_width="wrap_content"
android:layout_height="45dp"
style="@style/gme_button"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginTop="@dimen/_15sdp" android:layout_marginTop="@dimen/_15sdp"
android:layout_marginBottom="@dimen/_15sdp" android:layout_marginBottom="@dimen/_15sdp"
android:background="@drawable/ic_rounded_background_red_coloured"
android:enabled="false" android:enabled="false"
android:minWidth="200dp"
android:text="@string/save_and_next_text" android:text="@string/save_and_next_text"
android:textAllCaps="false"
android:textColor="@color/white"
android:textSize="16sp" />
/>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>

9
app/src/main/res/layout/fragment_kyc_document.xml

@ -216,18 +216,15 @@
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
<Button
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeButton
android:id="@+id/btn_submit3" android:id="@+id/btn_submit3"
android:layout_width="200dp"
android:layout_height="45dp"
style="@style/gme_button"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginTop="@dimen/_15sdp" android:layout_marginTop="@dimen/_15sdp"
android:background="@drawable/ic_rounded_background_red_coloured" android:background="@drawable/ic_rounded_background_red_coloured"
android:enabled="false" android:enabled="false"
android:text="@string/save_and_next_text" android:text="@string/save_and_next_text"
android:textAllCaps="false"
android:textColor="@color/white"
android:textSize="16sp" />
/>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>

11
app/src/main/res/values/attrs.xml

@ -42,6 +42,17 @@
<attr name="edTxtFontName" format="string"/> <attr name="edTxtFontName" format="string"/>
</declare-styleable> </declare-styleable>
<declare-styleable name="MTextInputMaskedEditText">
<attr name="maskedEdTxtFontName" format="string"/>
<attr name="maskedTextType" format="enum">
<enum name="passport" value="0" />
<enum name="alien" value="1" />
<enum name="korean_mobile" value="2" />
</attr>
<attr name="masekdPrefixText" format="string" />
</declare-styleable>
<declare-styleable name="MTextView"> <declare-styleable name="MTextView">
<attr name="txtViewFontName" format="string"/> <attr name="txtViewFontName" format="string"/>
</declare-styleable> </declare-styleable>

4
app/src/main/res/values/colors.xml

@ -40,4 +40,8 @@
<color name="turquoise">#08A384</color> <color name="turquoise">#08A384</color>
<color name="light_pink">#FFFAF5F5</color> <color name="light_pink">#FFFAF5F5</color>
<color name="hint_color_active">@color/bluebg</color>
<color name="hint_color_inactive">@color/darkgray2</color>
</resources> </resources>

19
app/src/main/res/values/styles.xml

@ -199,7 +199,7 @@
<item name="cornerSizeBottomLeft">0dp</item> <item name="cornerSizeBottomLeft">0dp</item>
</style> </style>
<!-- Now every ui aspect will controlled by style and theme-->
<!-- Now every ui aspect will be controlled by style and theme-->
<style name="gme_button" parent="android:style/Widget.Button"> <style name="gme_button" parent="android:style/Widget.Button">
<item name="android:background">@drawable/ic_rounded_background_red_coloured</item> <item name="android:background">@drawable/ic_rounded_background_red_coloured</item>
@ -219,13 +219,19 @@
<style name="MTextInputLayout" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox"> <style name="MTextInputLayout" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<item name="android:layout_height">wrap_content</item> <item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">match_parent</item> <item name="android:layout_width">match_parent</item>
<item name="hintTextAppearance">@style/MTextInpuLayoutHintStyle</item>
</style> </style>
<style name="MTextInputLayoutForm" parent="MTextInputLayout">
<!-- Setting padding top will result in hint overlapping with outline box, avoid padding until it is resolved by google-->
<!-- <item name="android:paddingTop">@dimen/form_input_padding_top</item>-->
<!-- <item name="android:paddingBottom">@dimen/form_input_padding_bottom</item>-->
<style name="MTextInpuLayoutHintStyle" parent="TextAppearance.Design.Hint">
<item name="android:textColor">@color/textinput_hint_color</item>
</style>
<style name="MTextInpuLayoutErrorStyle" parent="TextAppearance.Design.Error">
<item name="android:textColor">@color/colorPrimary</item>
</style>
<style name="MTextInputLayoutForm" parent="MTextInputLayout">
<item name="android:layout_marginTop">@dimen/form_input_margin_top</item> <item name="android:layout_marginTop">@dimen/form_input_margin_top</item>
<item name="android:layout_marginBottom">@dimen/form_input_margin_bottom</item> <item name="android:layout_marginBottom">@dimen/form_input_margin_bottom</item>
<item name="android:paddingStart">@dimen/form_input_padding_start</item> <item name="android:paddingStart">@dimen/form_input_padding_start</item>
@ -233,6 +239,8 @@
</style> </style>
<style name="MTextInputLayoutFormDropDown" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu" > <style name="MTextInputLayoutFormDropDown" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu" >
<item name="android:focusable">false</item>
<item name="android:clickable">true</item>
<item name="android:layout_height">wrap_content</item> <item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">match_parent</item> <item name="android:layout_width">match_parent</item>
<item name="android:layout_marginTop">@dimen/form_input_margin_top</item> <item name="android:layout_marginTop">@dimen/form_input_margin_top</item>
@ -246,6 +254,7 @@
<item name="android:layout_height">wrap_content</item> <item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">match_parent</item> <item name="android:layout_width">match_parent</item>
<item name="android:focusable">false</item> <item name="android:focusable">false</item>
<item name="android:focusableInTouchMode">false</item>
<item name="android:cursorVisible">false</item> <item name="android:cursorVisible">false</item>
<item name="android:textSize">@dimen/form_input_text_size</item> <item name="android:textSize">@dimen/form_input_text_size</item>
</style> </style>

Loading…
Cancel
Save