|
|
@ -2,6 +2,7 @@ package com.gmeremit.online.gmeremittance_native.customwidgets.maskedittext; |
|
|
|
|
|
|
|
import android.content.Context; |
|
|
|
import android.content.res.TypedArray; |
|
|
|
import android.text.InputType; |
|
|
|
import android.util.AttributeSet; |
|
|
|
import android.util.TypedValue; |
|
|
|
|
|
|
@ -13,7 +14,7 @@ public class GmeMaskedEditText extends GmeEditText { |
|
|
|
private MaskedTextWatcher maskedTextWatcher; |
|
|
|
private int maskingType = 0; |
|
|
|
private String prefixText = ""; |
|
|
|
private boolean isAlphaNumeric=true; |
|
|
|
private boolean isAlphaNumeric = true; |
|
|
|
|
|
|
|
public GmeMaskedEditText(Context context) { |
|
|
|
super(context); |
|
|
@ -30,30 +31,43 @@ public class GmeMaskedEditText extends GmeEditText { |
|
|
|
init(context, attrs); |
|
|
|
} |
|
|
|
|
|
|
|
public void setMaskingType(int value) |
|
|
|
{ |
|
|
|
/** |
|
|
|
* 0 For passport |
|
|
|
* 1 For alien/national registration card |
|
|
|
* |
|
|
|
* @param value |
|
|
|
*/ |
|
|
|
public void setMaskingType(int value) { |
|
|
|
maskingType = value; |
|
|
|
|
|
|
|
setupMasking(); |
|
|
|
} |
|
|
|
|
|
|
|
private void init(Context context, AttributeSet attributeSet) { |
|
|
|
isAlphaNumeric=false; |
|
|
|
isAlphaNumeric = false; |
|
|
|
TypedArray ta = context.obtainStyledAttributes(attributeSet, R.styleable.GMEMaskedEditText, 0, 0); |
|
|
|
try { |
|
|
|
TypedValue outValue = new TypedValue(); |
|
|
|
boolean result = ta.getValue(R.styleable.GMEMaskedEditText_textType, outValue); |
|
|
|
if (!result) |
|
|
|
maskingType = 0; |
|
|
|
else |
|
|
|
if (result) { |
|
|
|
maskingType = outValue.data; |
|
|
|
prefixText = ta.getString(R.styleable.GMEMaskedEditText_prefixText); |
|
|
|
if (prefixText == null) |
|
|
|
prefixText = ""; |
|
|
|
prefixText = ta.getString(R.styleable.GMEMaskedEditText_prefixText); |
|
|
|
if (prefixText == null) |
|
|
|
prefixText = ""; |
|
|
|
setupMasking(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
|
|
} finally { |
|
|
|
ta.recycle(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
private void setupMasking() { |
|
|
|
String phoneMask = ""; |
|
|
|
switch (maskingType) { |
|
|
|
case 1: |
|
|
@ -62,12 +76,24 @@ public class GmeMaskedEditText extends GmeEditText { |
|
|
|
phoneMask = "-######-#######"; |
|
|
|
else |
|
|
|
phoneMask = "######-#######"; |
|
|
|
isAlphaNumeric = false; |
|
|
|
setInputType(InputType.TYPE_CLASS_PHONE); |
|
|
|
if (maskedTextWatcher != null) |
|
|
|
removeTextChangedListener(maskedTextWatcher); |
|
|
|
maskedTextWatcher = new MaskedTextWatcher(phoneMask, prefixText, "#", this, isAlphaNumeric); |
|
|
|
addTextChangedListener(maskedTextWatcher); |
|
|
|
break; |
|
|
|
|
|
|
|
case 0: |
|
|
|
isAlphaNumeric = true; |
|
|
|
setInputType(InputType.TYPE_CLASS_TEXT); |
|
|
|
if (maskedTextWatcher != null) |
|
|
|
removeTextChangedListener(maskedTextWatcher); |
|
|
|
maskedTextWatcher=null; |
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
maskedTextWatcher = new MaskedTextWatcher(phoneMask, prefixText, "#", this,isAlphaNumeric); |
|
|
|
addTextChangedListener(maskedTextWatcher); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|