summaryrefslogtreecommitdiff
path: root/core/java/android/text/AndroidBidi.java
diff options
context:
space:
mode:
authorRod S <rsheeter@google.com>2020-03-14 16:16:45 -0700
committerRoderick Sheeter <rsheeter@google.com>2020-03-19 23:12:53 +0000
commitb573a9d94957fd6a27f950bedfc60392bf60f90a (patch)
tree4c69e8fee081456572b0184910f28c334c9b50e1 /core/java/android/text/AndroidBidi.java
parentf75c281d9cd49b0fc081d278cd6404952e004aab (diff)
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)
Diffstat (limited to 'core/java/android/text/AndroidBidi.java')
-rw-r--r--core/java/android/text/AndroidBidi.java34
1 files changed, 2 insertions, 32 deletions
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;
@@ -34,32 +30,6 @@ import com.android.internal.annotations.VisibleForTesting;
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.
*/
@UnsupportedAppUsage
@@ -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
+}
+