summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaph Levien <raph@google.com>2013-10-04 22:02:55 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-10-04 22:02:56 +0000
commit24871f6375b87eb2d540f06ec292e5f4a198f78a (patch)
tree77d2c05098f75e6ce670f65bc7a7fcb2588422db
parentfc141ef20bf871e925fbbbe4bb9af64c67033246 (diff)
parent63b3eb65234c8a8b9224c262442816cc429560ef (diff)
downloadframeworks_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.java8
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) {