diff --git a/core/java/android/text/DynamicLayout.java b/core/java/android/text/DynamicLayout.java index 16b45c30b69f5..7f45b384ca5f2 100644 --- a/core/java/android/text/DynamicLayout.java +++ b/core/java/android/text/DynamicLayout.java @@ -475,9 +475,8 @@ public class DynamicLayout extends Layout { mObjects.insertAt(0, dirs); - final int baseLength = mBase.length(); - // Update from 0 characters to whatever the real text is - reflow(mBase, 0, 0, baseLength); + // Update from 0 characters to whatever the displayed text is + reflow(mBase, 0, 0, mDisplay.length()); if (mBase instanceof Spannable) { if (mWatcher == null) @@ -485,6 +484,7 @@ public class DynamicLayout extends Layout { // Strip out any watchers for other DynamicLayouts. final Spannable sp = (Spannable) mBase; + final int baseLength = mBase.length(); final ChangeWatcher[] spans = sp.getSpans(0, baseLength, ChangeWatcher.class); for (int i = 0; i < spans.length; i++) { sp.removeSpan(spans[i]);