summaryrefslogtreecommitdiff
path: root/core/java/android/widget/TextView.java
diff options
context:
space:
mode:
authorPhil Weaver <pweaver@google.com>2018-03-21 12:33:59 -0700
committerPhil Weaver <pweaver@google.com>2018-03-27 17:07:24 -0700
commit092f75439788ba2e7fa21b4f4d614f7d6b7d0851 (patch)
tree3addc890159dcba53ce7e681b3b5006f85bccf67 /core/java/android/widget/TextView.java
parent9859c29a8feafbb2b262b7ced99736e54e3a8b43 (diff)
Use on-screen text in a11y text changed event
The beforeText in a text changed event was coming from the underlying CharSequence, not what was on the screen. As a result, it was not sent for password fields. Now we just provide whatever is on the screen, which is obfuscated to the same degree it is for a user looking at the screen. Bug: 75324441 Test: Verified with password field in TalkBack sample app. Also atest CtsAccessibilityServiceTestCases Change-Id: Ib7a10313d2f9d0e44d2052e81e47f19967a67bc4
Diffstat (limited to 'core/java/android/widget/TextView.java')
-rw-r--r--core/java/android/widget/TextView.java5
1 files changed, 2 insertions, 3 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 72c8426482aa..6feb283a97b0 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -12406,9 +12406,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
+ " before=" + before + " after=" + after + ": " + buffer);
}
- if (AccessibilityManager.getInstance(mContext).isEnabled()
- && !isPasswordInputType(getInputType()) && !hasPasswordTransformationMethod()) {
- mBeforeText = buffer.toString();
+ if (AccessibilityManager.getInstance(mContext).isEnabled() && (mTransformed != null)) {
+ mBeforeText = mTransformed.toString();
}
TextView.this.sendBeforeTextChanged(buffer, start, before, after);