Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9fc67254 authored by Roozbeh Pournader's avatar Roozbeh Pournader
Browse files

Pass text direction from DynamicLayout to Layout

Previously, we were calling the wrong constructor for Layout, which
didn't have a text direction.

Bug: 65330510
Test: bit FrameworksCoreTests:android.widget.EditorCursorTest
Test: bit FrameworksCoreTests:android.text.DynamicLayoutTest
Test: bit CtsTextTestCases:android.text.cts.DynamicLayoutTest
Change-Id: Idf0ac781dc8d6641184b7deabe990cd0e451ad26
parent e21e491f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -384,7 +384,7 @@ public class DynamicLayout extends Layout

    private DynamicLayout(@NonNull Builder b) {
        super(createEllipsizer(b.mEllipsize, b.mDisplay),
                b.mPaint, b.mWidth, b.mAlignment, b.mSpacingMult, b.mSpacingAdd);
                b.mPaint, b.mWidth, b.mAlignment, b.mTextDir, b.mSpacingMult, b.mSpacingAdd);

        mDisplay = b.mDisplay;
        mIncludePad = b.mIncludePad;
+17 −0
Original line number Diff line number Diff line
@@ -259,4 +259,21 @@ public class DynamicLayoutTest {
            assertEquals(2 * textSize, layout.getLineDescent(2));
        }
    }

    @Test
    public void testBuilder_defaultTextDirection() {
        final DynamicLayout.Builder builder = DynamicLayout.Builder
                .obtain("", new TextPaint(), WIDTH);
        final DynamicLayout layout = builder.build();
        assertEquals(TextDirectionHeuristics.FIRSTSTRONG_LTR, layout.getTextDirectionHeuristic());
    }

    @Test
    public void testBuilder_setTextDirection() {
        final DynamicLayout.Builder builder = DynamicLayout.Builder
                .obtain("", new TextPaint(), WIDTH)
                .setTextDirection(TextDirectionHeuristics.ANYRTL_LTR);
        final DynamicLayout layout = builder.build();
        assertEquals(TextDirectionHeuristics.ANYRTL_LTR, layout.getTextDirectionHeuristic());
    }
}