summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Seigo Nonaka <nona@google.com> 2024-02-16 08:30:48 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-02-16 08:30:48 +0000
commit8f68487e3dfb6f3d285b4180d557b84516d86969 (patch)
treeaca8b752ecbd448fd80ff40f45cfd74954a00eaf
parent6f6f0c78aacd6ba3c3388c0ca1a25cae71ea3890 (diff)
parent43bef1fed9c06603a4e27b80fceec9624573b221 (diff)
Merge "Fix BiDi Directions" into main
-rw-r--r--core/java/android/text/MeasuredParagraph.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/core/java/android/text/MeasuredParagraph.java b/core/java/android/text/MeasuredParagraph.java
index 95d197433397..2b6684ea8f1d 100644
--- a/core/java/android/text/MeasuredParagraph.java
+++ b/core/java/android/text/MeasuredParagraph.java
@@ -237,10 +237,13 @@ public class MeasuredParagraph {
// Easy case: If the line instance only contains single directionality run, no need
// to reorder visually.
if (bidi.getRunCount() == 1) {
- if ((bidi.getParaLevel() & 0x01) == 1) {
+ if (bidi.getRunLevel(0) == 1) {
return Layout.DIRS_ALL_RIGHT_TO_LEFT;
- } else {
+ } else if (bidi.getRunLevel(0) == 0) {
return Layout.DIRS_ALL_LEFT_TO_RIGHT;
+ } else {
+ return new Directions(new int[] {
+ 0, bidi.getRunLevel(0) << Layout.RUN_LEVEL_SHIFT | (end - start)});
}
}