From b573a9d94957fd6a27f950bedfc60392bf60f90a Mon Sep 17 00:00:00 2001 From: Rod S Date: Sat, 14 Mar 2020 16:16:45 -0700 Subject: Update frameworks/base Emoji.java to Unicode 13. As ICU is updated, delete special cases. Test: atest core/tests/coretests/src/android/text/EmojiTest.java Bug: 151964652 Change-Id: I89032c22e5464d257866d926062db34c65943572 (cherry picked from commit 31d7c155b7f58525f13c5fd1f0eae450e97c1080) --- core/java/android/text/AndroidBidi.java | 34 ++------------------------------- 1 file changed, 2 insertions(+), 32 deletions(-) (limited to 'core/java/android/text/AndroidBidi.java') diff --git a/core/java/android/text/AndroidBidi.java b/core/java/android/text/AndroidBidi.java index f1e2181a8538..b9811638b28f 100644 --- a/core/java/android/text/AndroidBidi.java +++ b/core/java/android/text/AndroidBidi.java @@ -17,11 +17,7 @@ package android.text; import android.compat.annotation.UnsupportedAppUsage; -import android.icu.lang.UCharacter; -import android.icu.lang.UCharacterDirection; -import android.icu.lang.UProperty; import android.icu.text.Bidi; -import android.icu.text.BidiClassifier; import android.text.Layout.Directions; import com.android.internal.annotations.VisibleForTesting; @@ -33,32 +29,6 @@ import com.android.internal.annotations.VisibleForTesting; @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE) public class AndroidBidi { - /** - * Overrides ICU {@link BidiClassifier} in order to correctly handle character directions for - * newest emoji that ICU is not aware of. - */ - public static class EmojiBidiOverride extends BidiClassifier { - public EmojiBidiOverride() { - super(null /* No persisting object needed */); - } - - // Tells ICU to use the standard Unicode value. - private static final int NO_OVERRIDE = - UCharacter.getIntPropertyMaxValue(UProperty.BIDI_CLASS) + 1; - - @Override - public int classify(int c) { - if (Emoji.isNewEmoji(c)) { - // All new emoji characters in Unicode 10.0 are of the bidi class ON. - return UCharacterDirection.OTHER_NEUTRAL; - } else { - return NO_OVERRIDE; - } - } - } - - private static final EmojiBidiOverride sEmojiBidiOverride = new EmojiBidiOverride(); - /** * Runs the bidi algorithm on input text. */ @@ -82,7 +52,6 @@ public class AndroidBidi { default: paraLevel = Bidi.LTR; break; } final Bidi icuBidi = new Bidi(length /* maxLength */, 0 /* maxRunCount */); - icuBidi.setCustomClassifier(sEmojiBidiOverride); icuBidi.setPara(chs, paraLevel, null /* embeddingLevels */); for (int i = 0; i < length; i++) { chInfo[i] = icuBidi.getLevelAt(i); @@ -220,4 +189,5 @@ public class AndroidBidi { } return new Directions(ld); } -} \ No newline at end of file +} + -- cgit v1.2.3