diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2017-04-21 01:11:07 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-04-21 01:11:12 +0000 |
| commit | 6a603221571ab853566ec8053caf06610ab56097 (patch) | |
| tree | 022de1d45f824878b6329b02d7ae29f48ff2e9ff /core/java/android/widget/TextView.java | |
| parent | 82629345c881231780917d2430c3353065c7dbde (diff) | |
| parent | cdc74590c395d78ebe590481b8d096b6d6c2b6ee (diff) | |
Merge "Fix a11y text location in clipped views" into oc-dev
Diffstat (limited to 'core/java/android/widget/TextView.java')
| -rw-r--r-- | core/java/android/widget/TextView.java | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 0fbb84b9373a..16a31f19a3ac 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -10264,16 +10264,14 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener positionInfoStartIndex + positionInfoLength, viewportToContentHorizontalOffset(), viewportToContentVerticalOffset()); CursorAnchorInfo cursorAnchorInfo = builder.setMatrix(null).build(); - if (mTempRect == null) mTempRect = new Rect(); - Rect viewBoundsInScreen = mTempRect; - info.getBoundsInScreen(viewBoundsInScreen); + int[] locationOnScreen = getLocationOnScreen(); for (int i = 0; i < positionInfoLength; i++) { int flags = cursorAnchorInfo.getCharacterBoundsFlags(positionInfoStartIndex + i); if ((flags & FLAG_HAS_VISIBLE_REGION) == FLAG_HAS_VISIBLE_REGION) { RectF bounds = cursorAnchorInfo .getCharacterBounds(positionInfoStartIndex + i); if (bounds != null) { - bounds.offset(viewBoundsInScreen.left, viewBoundsInScreen.top); + bounds.offset(locationOnScreen[0], locationOnScreen[1]); boundingRects[i] = bounds; } } |
