diff options
author | Raph Levien <raph@google.com> | 2013-10-04 22:02:55 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-10-04 22:02:56 +0000 |
commit | 24871f6375b87eb2d540f06ec292e5f4a198f78a (patch) | |
tree | 77d2c05098f75e6ce670f65bc7a7fcb2588422db | |
parent | fc141ef20bf871e925fbbbe4bb9af64c67033246 (diff) | |
parent | 63b3eb65234c8a8b9224c262442816cc429560ef (diff) | |
download | frameworks_base-24871f6375b87eb2d540f06ec292e5f4a198f78a.zip frameworks_base-24871f6375b87eb2d540f06ec292e5f4a198f78a.tar.gz frameworks_base-24871f6375b87eb2d540f06ec292e5f4a198f78a.tar.bz2 |
Merge "Fix Text appears on top of existing text when composing in gmail." into klp-dev
-rw-r--r-- | core/java/android/text/DynamicLayout.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/core/java/android/text/DynamicLayout.java b/core/java/android/text/DynamicLayout.java index 122f8a1..06935ae 100644 --- a/core/java/android/text/DynamicLayout.java +++ b/core/java/android/text/DynamicLayout.java @@ -502,17 +502,19 @@ public class DynamicLayout extends Layout } mNumberOfBlocks = newNumberOfBlocks; + int newFirstChangedBlock; final int deltaLines = newLineCount - (endLine - startLine + 1); if (deltaLines != 0) { // Display list whose index is >= mIndexFirstChangedBlock is valid // but it needs to update its drawing location. - mIndexFirstChangedBlock = firstBlock + numAddedBlocks; - for (int i = mIndexFirstChangedBlock; i < mNumberOfBlocks; i++) { + newFirstChangedBlock = firstBlock + numAddedBlocks; + for (int i = newFirstChangedBlock; i < mNumberOfBlocks; i++) { mBlockEndLines[i] += deltaLines; } } else { - mIndexFirstChangedBlock = mNumberOfBlocks; + newFirstChangedBlock = mNumberOfBlocks; } + mIndexFirstChangedBlock = Math.min(mIndexFirstChangedBlock, newFirstChangedBlock); int blockIndex = firstBlock; if (createBlockBefore) { |