merge from open-source master

Change-Id: I627b3a7080e413f756d1751cdae88ec6642b02c4
This commit is contained in:
The Android Open Source Project
2010-03-31 14:01:45 -07:00
2 changed files with 13 additions and 9 deletions

View File

@@ -51,6 +51,8 @@ implements TransformationMethod, TextWatcher
sp.removeSpan(vr[i]); sp.removeSpan(vr[i]);
} }
removeVisibleSpans(sp);
sp.setSpan(new ViewReference(view), 0, 0, sp.setSpan(new ViewReference(view), 0, 0,
Spannable.SPAN_POINT_POINT); Spannable.SPAN_POINT_POINT);
} }
@@ -100,10 +102,7 @@ implements TransformationMethod, TextWatcher
int pref = TextKeyListener.getInstance().getPrefs(v.getContext()); int pref = TextKeyListener.getInstance().getPrefs(v.getContext());
if ((pref & TextKeyListener.SHOW_PASSWORD) != 0) { if ((pref & TextKeyListener.SHOW_PASSWORD) != 0) {
if (count > 0) { if (count > 0) {
Visible[] old = sp.getSpans(0, sp.length(), Visible.class); removeVisibleSpans(sp);
for (int i = 0; i < old.length; i++) {
sp.removeSpan(old[i]);
}
if (count == 1) { if (count == 1) {
sp.setSpan(new Visible(sp, this), start, start + count, sp.setSpan(new Visible(sp, this), start, start + count,
@@ -125,14 +124,18 @@ implements TransformationMethod, TextWatcher
if (sourceText instanceof Spannable) { if (sourceText instanceof Spannable) {
Spannable sp = (Spannable) sourceText; Spannable sp = (Spannable) sourceText;
Visible[] old = sp.getSpans(0, sp.length(), Visible.class); removeVisibleSpans(sp);
for (int i = 0; i < old.length; i++) {
sp.removeSpan(old[i]);
}
} }
} }
} }
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 private static class PasswordCharSequence
implements CharSequence, GetChars implements CharSequence, GetChars
{ {

View File

@@ -181,3 +181,4 @@ JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_changeBackground(JNIEnv *
{ {
background = 1.0f - background; background = 1.0f - background;
} }