diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2018-03-22 23:21:54 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-03-22 23:21:54 +0000 |
| commit | 02c8d1b07fc5841029173ef9396ead24ef96ac2c (patch) | |
| tree | be87eb70a38ccf854bdb8a4f76d231f65d1980b5 /core/java/android/widget/TextView.java | |
| parent | 5f8939eecdf0101919e01cab1bce1b9e05757ad1 (diff) | |
| parent | a553477ddf55d170a66410ed325ae5e5d3005965 (diff) | |
Merge "Make PrecomputedText Spannable for supporting selection" into pi-dev
Diffstat (limited to 'core/java/android/widget/TextView.java')
| -rw-r--r-- | core/java/android/widget/TextView.java | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index f21c0b92add2..c366a9129d34 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -5640,6 +5640,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener needEditableForNotification = true; } + PrecomputedText precomputed = + (text instanceof PrecomputedText) ? (PrecomputedText) text : null; if (type == BufferType.EDITABLE || getKeyListener() != null || needEditableForNotification) { createEditorIfNeeded(); @@ -5649,10 +5651,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener setFilters(t, mFilters); InputMethodManager imm = InputMethodManager.peekInstance(); if (imm != null) imm.restartInput(this); - } else if (type == BufferType.SPANNABLE || mMovement != null) { - text = mSpannableFactory.newSpannable(text); - } else if (text instanceof PrecomputedText) { - PrecomputedText precomputed = (PrecomputedText) text; + } else if (precomputed != null) { if (mTextDir == null) { mTextDir = getTextDirectionHeuristic(); } @@ -5665,6 +5664,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener + "PrecomputedText: " + precomputed.getParams() + "TextView: " + getTextMetricsParams()); } + } else if (type == BufferType.SPANNABLE || mMovement != null) { + text = mSpannableFactory.newSpannable(text); } else if (!(text instanceof CharWrapper)) { text = TextUtils.stringOrSpannedString(text); } |
