diff options
| author | Phil Weaver <pweaver@google.com> | 2018-03-21 12:33:59 -0700 |
|---|---|---|
| committer | Phil Weaver <pweaver@google.com> | 2018-03-27 17:07:24 -0700 |
| commit | 092f75439788ba2e7fa21b4f4d614f7d6b7d0851 (patch) | |
| tree | 3addc890159dcba53ce7e681b3b5006f85bccf67 /core/java/android/widget/TextView.java | |
| parent | 9859c29a8feafbb2b262b7ced99736e54e3a8b43 (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.java | 5 |
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); |
