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

Commit db24f0a7 authored by Fabrice Di Meglio's avatar Fabrice Di Meglio
Browse files

Fix bug #7282594 EditText does not allow to move the cursor when typing RTL...

Fix bug #7282594 EditText does not allow to move the cursor when typing RTL text and if gravity is set to LEFT

- fold LEFT/RIGHT into NORMAL/OPPOSITE cases

Change-Id: Idf14342ffed4840e7b4ea53cc42f1cde8f196a4c
parent 217ca3b0
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -475,10 +475,14 @@ public abstract class Layout {
        Alignment align = getParagraphAlignment(line);
        int dir = getParagraphDirection(line);

        int x;
        if (align == Alignment.ALIGN_LEFT) {
            x = left;
        } else if (align == Alignment.ALIGN_NORMAL) {
            align = (dir == DIR_LEFT_TO_RIGHT) ? Alignment.ALIGN_NORMAL : Alignment.ALIGN_OPPOSITE;
        } else if (align == Alignment.ALIGN_RIGHT) {
            align = (dir == DIR_LEFT_TO_RIGHT) ? Alignment.ALIGN_OPPOSITE : Alignment.ALIGN_NORMAL;
        }

        int x;
        if (align == Alignment.ALIGN_NORMAL) {
            if (dir == DIR_LEFT_TO_RIGHT) {
                x = left;
            } else {
@@ -498,12 +502,11 @@ public abstract class Layout {
                }
            }
            int max = (int)getLineExtent(line, tabStops, false);
            if (align == Alignment.ALIGN_RIGHT) {
                x = right - max;
            } else if (align == Alignment.ALIGN_OPPOSITE) {
            if (align == Alignment.ALIGN_OPPOSITE) {
                if (dir == DIR_LEFT_TO_RIGHT) {
                    x = right - max;
                } else {
                    // max is negative here
                    x = left - max;
                }
            } else { // Alignment.ALIGN_CENTER