Skip to content

Commit 6fb2b91

Browse files
authored
Merge pull request #24 from vitorhugods/master
@vitorhugods Added possibility to change mask while keeping the text
2 parents 7d789c0 + 80c92c1 commit 6fb2b91

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

MaskedEditText/src/main/java/br/com/sapereaude/maskedEditText/MaskedEditText.java

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public class MaskedEditText extends AppCompatEditText implements TextWatcher {
3939
private OnFocusChangeListener focusChangeListener;
4040
private String allowedChars;
4141
private String deniedChars;
42-
42+
private boolean shouldKeepText;
4343

4444
public MaskedEditText(Context context) {
4545
super(context);
@@ -120,12 +120,14 @@ public void setOnFocusChangeListener(OnFocusChangeListener listener) {
120120

121121
private void cleanUp() {
122122
initialized = false;
123-
123+
if(mask == null || mask.isEmpty()){
124+
return;
125+
}
124126
generatePositionArrays();
125-
126-
rawText = new RawText();
127-
selection = rawToMask[0];
128-
127+
if (!shouldKeepText || rawText == null) {
128+
rawText = new RawText();
129+
selection = rawToMask[0];
130+
}
129131
editingBefore = true;
130132
editingOnChanged = true;
131133
editingAfter = true;
@@ -173,6 +175,14 @@ public MaskedEditText(Context context, AttributeSet attrs, int defStyle) {
173175
init();
174176
}
175177

178+
public void setShouldKeepText(boolean shouldKeepText) {
179+
this.shouldKeepText = shouldKeepText;
180+
}
181+
182+
public boolean isKeepingText() {
183+
return shouldKeepText;
184+
}
185+
176186
public void setMask(String mask) {
177187
this.mask = mask;
178188
cleanUp();

0 commit comments

Comments
 (0)