summaryrefslogtreecommitdiffstats
path: root/core/java/android/text/method
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2010-03-31 14:01:45 -0700
committerThe Android Open Source Project <initial-contribution@android.com>2010-03-31 14:01:45 -0700
commit8de2cf4cce9ae2e121fccb4732fd23c64aace102 (patch)
tree18e1194624515277a01892e65ae79f1389c65fda /core/java/android/text/method
parent93511f384b1180bf5277a26ceeff568fa6aa858d (diff)
parentef9d148ad63e79b7ea1ecad49163f33a7d37aea1 (diff)
downloadframeworks_base-8de2cf4cce9ae2e121fccb4732fd23c64aace102.zip
frameworks_base-8de2cf4cce9ae2e121fccb4732fd23c64aace102.tar.gz
frameworks_base-8de2cf4cce9ae2e121fccb4732fd23c64aace102.tar.bz2
merge from open-source master
Change-Id: I627b3a7080e413f756d1751cdae88ec6642b02c4
Diffstat (limited to 'core/java/android/text/method')
-rw-r--r--core/java/android/text/method/PasswordTransformationMethod.java19
1 files changed, 11 insertions, 8 deletions
diff --git a/core/java/android/text/method/PasswordTransformationMethod.java b/core/java/android/text/method/PasswordTransformationMethod.java
index fad4f64..b769b76 100644
--- a/core/java/android/text/method/PasswordTransformationMethod.java
+++ b/core/java/android/text/method/PasswordTransformationMethod.java
@@ -51,6 +51,8 @@ implements TransformationMethod, TextWatcher
sp.removeSpan(vr[i]);
}
+ removeVisibleSpans(sp);
+
sp.setSpan(new ViewReference(view), 0, 0,
Spannable.SPAN_POINT_POINT);
}
@@ -100,10 +102,7 @@ implements TransformationMethod, TextWatcher
int pref = TextKeyListener.getInstance().getPrefs(v.getContext());
if ((pref & TextKeyListener.SHOW_PASSWORD) != 0) {
if (count > 0) {
- Visible[] old = sp.getSpans(0, sp.length(), Visible.class);
- for (int i = 0; i < old.length; i++) {
- sp.removeSpan(old[i]);
- }
+ removeVisibleSpans(sp);
if (count == 1) {
sp.setSpan(new Visible(sp, this), start, start + count,
@@ -125,14 +124,18 @@ implements TransformationMethod, TextWatcher
if (sourceText instanceof Spannable) {
Spannable sp = (Spannable) sourceText;
- Visible[] old = sp.getSpans(0, sp.length(), Visible.class);
- for (int i = 0; i < old.length; i++) {
- sp.removeSpan(old[i]);
- }
+ removeVisibleSpans(sp);
}
}
}
+ private static void removeVisibleSpans(Spannable sp) {
+ Visible[] old = sp.getSpans(0, sp.length(), Visible.class);
+ for (int i = 0; i < old.length; i++) {
+ sp.removeSpan(old[i]);
+ }
+ }
+
private static class PasswordCharSequence
implements CharSequence, GetChars
{