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

Commit 0f5ca2aa authored by Seigo Nonaka's avatar Seigo Nonaka
Browse files

Remove icu_bidi_migration flag

Bug: 317144801
Bug: 364533012
Flag: EXEMPT removing com.android.text.flags.icu_bidi_migration
Test: N/A
Change-Id: Iae06df0055ea52bd0ad4145ce58d825bb7441b85
parent 5f4912fe
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -41,13 +41,6 @@ public class ClientFlags {
        return TextFlags.isFeatureEnabled(Flags.FLAG_FIX_LINE_HEIGHT_FOR_LOCALE);
    }

    /**
     * @see Flags#icuBidiMigration()
     */
    public static boolean icuBidiMigration() {
        return TextFlags.isFeatureEnabled(Flags.FLAG_ICU_BIDI_MIGRATION);
    }

    /**
     * @see Flags#fixMisalignedContextMenu()
     */
+91 −133
Original line number Diff line number Diff line
@@ -42,8 +42,6 @@ import android.text.style.MetricAffectingSpan;
import android.text.style.ReplacementSpan;
import android.util.Pools.SynchronizedPool;

import com.android.text.flags.Flags;

import java.util.Arrays;

/**
@@ -201,15 +199,12 @@ public class MeasuredParagraph {
     * @hide
     */
    public @Layout.Direction int getParagraphDir() {
        if (Flags.icuBidiMigration()) {
        if (mBidi == null) {
            return Layout.DIR_LEFT_TO_RIGHT;
        }
        return (mBidi.getParaLevel() & 0x01) == 0
                ? Layout.DIR_LEFT_TO_RIGHT : Layout.DIR_RIGHT_TO_LEFT;
    }
        return mParaDir;
    }

    /**
     * Returns the directions.
@@ -219,7 +214,6 @@ public class MeasuredParagraph {
     */
    public Directions getDirections(@IntRange(from = 0) int start,  // inclusive
                                    @IntRange(from = 0) int end) {  // exclusive
        if (Flags.icuBidiMigration()) {
        // Easy case: mBidi == null means the text is all LTR and no bidi suppot is needed.
        if (mBidi == null) {
            return Layout.DIRS_ALL_LEFT_TO_RIGHT;
@@ -277,14 +271,6 @@ public class MeasuredParagraph {

        return new Directions(dirs);
    }
        if (mLtrWithoutBidi) {
            return Layout.DIRS_ALL_LEFT_TO_RIGHT;
        }

        final int length = end - start;
        return AndroidBidi.directions(mParaDir, mLevels.getRawArray(), start, mCopiedBuffer, start,
                length);
    }

    /**
     * Returns the whole text width.
@@ -681,7 +667,6 @@ public class MeasuredParagraph {
            }
        }

        if (Flags.icuBidiMigration()) {
        if ((textDir == TextDirectionHeuristics.LTR
                || textDir == TextDirectionHeuristics.FIRSTSTRONG_LTR
                || textDir == TextDirectionHeuristics.ANYRTL_LTR)
@@ -732,33 +717,6 @@ public class MeasuredParagraph {
            rawArray[i] = mBidi.getLevelAt(i);
        }
        mLtrWithoutBidi = false;
            return;
        }
        if ((textDir == TextDirectionHeuristics.LTR
                || textDir == TextDirectionHeuristics.FIRSTSTRONG_LTR
                || textDir == TextDirectionHeuristics.ANYRTL_LTR)
                && TextUtils.doesNotNeedBidi(mCopiedBuffer, 0, mTextLength)) {
            mLevels.clear();
            mParaDir = Layout.DIR_LEFT_TO_RIGHT;
            mLtrWithoutBidi = true;
        } else {
            final int bidiRequest;
            if (textDir == TextDirectionHeuristics.LTR) {
                bidiRequest = Layout.DIR_REQUEST_LTR;
            } else if (textDir == TextDirectionHeuristics.RTL) {
                bidiRequest = Layout.DIR_REQUEST_RTL;
            } else if (textDir == TextDirectionHeuristics.FIRSTSTRONG_LTR) {
                bidiRequest = Layout.DIR_REQUEST_DEFAULT_LTR;
            } else if (textDir == TextDirectionHeuristics.FIRSTSTRONG_RTL) {
                bidiRequest = Layout.DIR_REQUEST_DEFAULT_RTL;
            } else {
                final boolean isRtl = textDir.isRtl(mCopiedBuffer, 0, mTextLength);
                bidiRequest = isRtl ? Layout.DIR_REQUEST_RTL : Layout.DIR_REQUEST_LTR;
            }
            mLevels.resize(mTextLength);
            mParaDir = AndroidBidi.bidi(bidiRequest, mCopiedBuffer, mLevels.getRawArray());
            mLtrWithoutBidi = false;
        }
    }

    private void applyReplacementRun(@NonNull ReplacementSpan replacement,
+0 −2
Original line number Diff line number Diff line
@@ -57,7 +57,6 @@ public final class TextFlags {
    public static final String[] TEXT_ACONFIGS_FLAGS = {
            Flags.FLAG_NO_BREAK_NO_HYPHENATION_SPAN,
            Flags.FLAG_FIX_LINE_HEIGHT_FOR_LOCALE,
            Flags.FLAG_ICU_BIDI_MIGRATION,
            Flags.FLAG_FIX_MISALIGNED_CONTEXT_MENU,
    };

@@ -69,7 +68,6 @@ public final class TextFlags {
    public static final boolean[] TEXT_ACONFIG_DEFAULT_VALUE = {
            Flags.noBreakNoHyphenationSpan(),
            Flags.fixLineHeightForLocale(),
            Flags.icuBidiMigration(),
            Flags.fixMisalignedContextMenu(),
    };

+0 −7
Original line number Diff line number Diff line
@@ -112,13 +112,6 @@ flag {
  }
}

flag {
  name: "icu_bidi_migration"
  namespace: "text"
  description: "A flag for replacing AndroidBidi with android.icu.text.Bidi."
  bug: "317144801"
}

flag {
  name: "lazy_variation_instance"
  namespace: "text"