diff options
| author | 2024-02-16 08:30:48 +0000 | |
|---|---|---|
| committer | 2024-02-16 08:30:48 +0000 | |
| commit | 8f68487e3dfb6f3d285b4180d557b84516d86969 (patch) | |
| tree | aca8b752ecbd448fd80ff40f45cfd74954a00eaf | |
| parent | 6f6f0c78aacd6ba3c3388c0ca1a25cae71ea3890 (diff) | |
| parent | 43bef1fed9c06603a4e27b80fceec9624573b221 (diff) | |
Merge "Fix BiDi Directions" into main
| -rw-r--r-- | core/java/android/text/MeasuredParagraph.java | 7 |
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)}); } } |