Unbundle i18n API from android-non-updatable

This removes the i18n source from the non-updatable stubs which removes
them from the frameworks/base/core/api files too. The API is still
protected by both the build and Gerrit review as the API is specified
in the external/icu/android_icu4j/api/public/ directory.

The i18n stubs source is used instead of the implementation source for
generating the JavaDoc. That revealed a minor issue with metalava which
is fixed in this topic.

The i18n stubs library was statically included alongside the conscrypt
stubs library so it will still appear in the monolothic android.jar.

Bug: 174344410
Test: m offline-sdk-docs
      - check that i18n classes are present
      m android_stubs_current android_system_stubs_current android_test_stubs_current
      - check that i18n classes are present in each jar
      m droid
Change-Id: I744c8bac54a8a5518ca0eca2a7700abbfa0997f4
diff --git a/ApiDocs.bp b/ApiDocs.bp
index d630209..ba93a48 100644
--- a/ApiDocs.bp
+++ b/ApiDocs.bp
@@ -67,7 +67,7 @@
         ":opt-net-voip-srcs",
         ":art.module.public.api{.public.stubs.source}",
         ":conscrypt.module.public.api{.public.stubs.source}",
-        ":android_icu4j_public_api_files",
+        ":i18n.module.public.api{.public.stubs.source}",
         "test-mock/src/**/*.java",
         "test-runner/src/**/*.java",
     ],
diff --git a/StubLibraries.bp b/StubLibraries.bp
index 2f3945f..6cabc57 100644
--- a/StubLibraries.bp
+++ b/StubLibraries.bp
@@ -48,7 +48,6 @@
         ":opt-telephony-srcs",
         ":opt-net-voip-srcs",
         ":art.module.public.api{.public.stubs.source}",
-        ":android_icu4j_public_api_files",
         "**/package.html",
     ],
     sdk_version: "core_platform",
@@ -246,6 +245,7 @@
         "framework-statsd.stubs",
         "framework-tethering.stubs",
         "framework-wifi.stubs",
+        "i18n.module.public.api.stubs",
         "private-stub-annotations-jar",
     ],
     defaults: ["android_defaults_stubs_current"],
@@ -263,6 +263,7 @@
         "framework-statsd.stubs.system",
         "framework-tethering.stubs.system",
         "framework-wifi.stubs.system",
+        "i18n.module.public.api.stubs",
         "private-stub-annotations-jar",
     ],
     defaults: [
@@ -296,6 +297,7 @@
         "framework-statsd.stubs.system",
         "framework-tethering.stubs.system",
         "framework-wifi.stubs.system",
+        "i18n.module.public.api.stubs",
         "private-stub-annotations-jar",
     ],
     defaults: [
diff --git a/api/Android.bp b/api/Android.bp
index 471b993..f11cd49 100644
--- a/api/Android.bp
+++ b/api/Android.bp
@@ -36,6 +36,7 @@
         ":framework-statsd{.public.api.txt}",
         ":framework-tethering{.public.api.txt}",
         ":framework-wifi{.public.api.txt}",
+        ":i18n.module.public.api{.public.api.txt}",
         ":non-updatable-current.txt",
     ],
     out: ["current.txt"],
@@ -48,7 +49,10 @@
             dest: "current.txt",
         },
         {
-            targets: ["sdk", "win_sdk"],
+            targets: [
+                "sdk",
+                "win_sdk",
+            ],
             dir: "apistubs/android/public/api",
             dest: "android.txt",
         },
@@ -68,6 +72,7 @@
         ":framework-statsd{.public.stubs.source}",
         ":framework-tethering{.public.stubs.source}",
         ":framework-wifi{.public.stubs.source}",
+        ":i18n.module.public.api{.public.stubs.source}",
     ],
     out: ["current.srcjar"],
     tools: ["merge_zips"],
@@ -86,6 +91,7 @@
         ":framework-statsd{.public.removed-api.txt}",
         ":framework-tethering{.public.removed-api.txt}",
         ":framework-wifi{.public.removed-api.txt}",
+        ":i18n.module.public.api{.public.removed-api.txt}",
         ":non-updatable-removed.txt",
     ],
     out: ["removed.txt"],
@@ -122,7 +128,10 @@
             dest: "system-current.txt",
         },
         {
-            targets: ["sdk", "win_sdk"],
+            targets: [
+                "sdk",
+                "win_sdk",
+            ],
             dir: "apistubs/android/system/api",
             dest: "android.txt",
         },
@@ -177,7 +186,10 @@
             dest: "module-lib-current.txt",
         },
         {
-            targets: ["sdk", "win_sdk"],
+            targets: [
+                "sdk",
+                "win_sdk",
+            ],
             dir: "apistubs/android/module-lib/api",
             dest: "android.txt",
         },
diff --git a/core/api/current.txt b/core/api/current.txt
index c78dce1..d009bdc 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -18319,4812 +18319,6 @@
 
 }
 
-package android.icu.lang {
-
-  public final class UCharacter implements android.icu.lang.UCharacterEnums.ECharacterCategory android.icu.lang.UCharacterEnums.ECharacterDirection {
-    method public static int charCount(int);
-    method public static int codePointAt(CharSequence, int);
-    method public static int codePointAt(char[], int);
-    method public static int codePointAt(char[], int, int);
-    method public static int codePointBefore(CharSequence, int);
-    method public static int codePointBefore(char[], int);
-    method public static int codePointBefore(char[], int, int);
-    method public static int codePointCount(CharSequence, int, int);
-    method public static int codePointCount(char[], int, int);
-    method public static int digit(int, int);
-    method public static int digit(int);
-    method public static int foldCase(int, boolean);
-    method public static String foldCase(String, boolean);
-    method public static int foldCase(int, int);
-    method public static String foldCase(String, int);
-    method public static char forDigit(int, int);
-    method public static android.icu.util.VersionInfo getAge(int);
-    method public static int getBidiPairedBracket(int);
-    method public static int getCharFromExtendedName(String);
-    method public static int getCharFromName(String);
-    method public static int getCharFromNameAlias(String);
-    method public static int getCodePoint(char, char);
-    method public static int getCodePoint(char);
-    method public static int getCombiningClass(int);
-    method public static int getDirection(int);
-    method public static byte getDirectionality(int);
-    method public static String getExtendedName(int);
-    method public static android.icu.util.ValueIterator getExtendedNameIterator();
-    method public static int getHanNumericValue(int);
-    method public static int getIntPropertyMaxValue(int);
-    method public static int getIntPropertyMinValue(int);
-    method public static int getIntPropertyValue(int, int);
-    method public static int getMirror(int);
-    method public static String getName(int);
-    method public static String getName(String, String);
-    method public static String getNameAlias(int);
-    method public static android.icu.util.ValueIterator getNameIterator();
-    method public static int getNumericValue(int);
-    method public static int getPropertyEnum(CharSequence);
-    method public static String getPropertyName(int, int);
-    method public static int getPropertyValueEnum(int, CharSequence);
-    method public static String getPropertyValueName(int, int, int);
-    method public static int getType(int);
-    method public static android.icu.util.RangeValueIterator getTypeIterator();
-    method public static double getUnicodeNumericValue(int);
-    method public static android.icu.util.VersionInfo getUnicodeVersion();
-    method public static boolean hasBinaryProperty(int, int);
-    method public static boolean isBMP(int);
-    method public static boolean isBaseForm(int);
-    method public static boolean isDefined(int);
-    method public static boolean isDigit(int);
-    method public static boolean isHighSurrogate(char);
-    method public static boolean isISOControl(int);
-    method public static boolean isIdentifierIgnorable(int);
-    method public static boolean isJavaIdentifierPart(int);
-    method public static boolean isJavaIdentifierStart(int);
-    method public static boolean isLegal(int);
-    method public static boolean isLegal(String);
-    method public static boolean isLetter(int);
-    method public static boolean isLetterOrDigit(int);
-    method public static boolean isLowSurrogate(char);
-    method public static boolean isLowerCase(int);
-    method public static boolean isMirrored(int);
-    method public static boolean isPrintable(int);
-    method public static boolean isSpaceChar(int);
-    method public static boolean isSupplementary(int);
-    method public static boolean isSupplementaryCodePoint(int);
-    method public static boolean isSurrogatePair(char, char);
-    method public static boolean isTitleCase(int);
-    method public static boolean isUAlphabetic(int);
-    method public static boolean isULowercase(int);
-    method public static boolean isUUppercase(int);
-    method public static boolean isUWhiteSpace(int);
-    method public static boolean isUnicodeIdentifierPart(int);
-    method public static boolean isUnicodeIdentifierStart(int);
-    method public static boolean isUpperCase(int);
-    method public static boolean isValidCodePoint(int);
-    method public static boolean isWhitespace(int);
-    method public static int offsetByCodePoints(CharSequence, int, int);
-    method public static int offsetByCodePoints(char[], int, int, int, int);
-    method public static int toChars(int, char[], int);
-    method public static char[] toChars(int);
-    method public static int toCodePoint(char, char);
-    method public static int toLowerCase(int);
-    method public static String toLowerCase(String);
-    method public static String toLowerCase(java.util.Locale, String);
-    method public static String toLowerCase(android.icu.util.ULocale, String);
-    method public static String toString(int);
-    method public static int toTitleCase(int);
-    method public static String toTitleCase(String, android.icu.text.BreakIterator);
-    method public static String toTitleCase(java.util.Locale, String, android.icu.text.BreakIterator);
-    method public static String toTitleCase(android.icu.util.ULocale, String, android.icu.text.BreakIterator);
-    method public static String toTitleCase(android.icu.util.ULocale, String, android.icu.text.BreakIterator, int);
-    method public static String toTitleCase(java.util.Locale, String, android.icu.text.BreakIterator, int);
-    method public static int toUpperCase(int);
-    method public static String toUpperCase(String);
-    method public static String toUpperCase(java.util.Locale, String);
-    method public static String toUpperCase(android.icu.util.ULocale, String);
-    field public static final int FOLD_CASE_DEFAULT = 0; // 0x0
-    field public static final int FOLD_CASE_EXCLUDE_SPECIAL_I = 1; // 0x1
-    field public static final int MAX_CODE_POINT = 1114111; // 0x10ffff
-    field public static final char MAX_HIGH_SURROGATE = 56319; // 0xdbff '\udbff'
-    field public static final char MAX_LOW_SURROGATE = 57343; // 0xdfff '\udfff'
-    field public static final int MAX_RADIX = 36; // 0x24
-    field public static final char MAX_SURROGATE = 57343; // 0xdfff '\udfff'
-    field public static final int MAX_VALUE = 1114111; // 0x10ffff
-    field public static final int MIN_CODE_POINT = 0; // 0x0
-    field public static final char MIN_HIGH_SURROGATE = 55296; // 0xd800 '\ud800'
-    field public static final char MIN_LOW_SURROGATE = 56320; // 0xdc00 '\udc00'
-    field public static final int MIN_RADIX = 2; // 0x2
-    field public static final int MIN_SUPPLEMENTARY_CODE_POINT = 65536; // 0x10000
-    field public static final char MIN_SURROGATE = 55296; // 0xd800 '\ud800'
-    field public static final int MIN_VALUE = 0; // 0x0
-    field public static final double NO_NUMERIC_VALUE = -1.23456789E8;
-    field public static final int REPLACEMENT_CHAR = 65533; // 0xfffd
-    field public static final int SUPPLEMENTARY_MIN_VALUE = 65536; // 0x10000
-    field public static final int TITLECASE_NO_BREAK_ADJUSTMENT = 512; // 0x200
-    field public static final int TITLECASE_NO_LOWERCASE = 256; // 0x100
-  }
-
-  public static interface UCharacter.BidiPairedBracketType {
-    field public static final int CLOSE = 2; // 0x2
-    field public static final int NONE = 0; // 0x0
-    field public static final int OPEN = 1; // 0x1
-  }
-
-  public static interface UCharacter.DecompositionType {
-    field public static final int CANONICAL = 1; // 0x1
-    field public static final int CIRCLE = 3; // 0x3
-    field public static final int COMPAT = 2; // 0x2
-    field public static final int FINAL = 4; // 0x4
-    field public static final int FONT = 5; // 0x5
-    field public static final int FRACTION = 6; // 0x6
-    field public static final int INITIAL = 7; // 0x7
-    field public static final int ISOLATED = 8; // 0x8
-    field public static final int MEDIAL = 9; // 0x9
-    field public static final int NARROW = 10; // 0xa
-    field public static final int NOBREAK = 11; // 0xb
-    field public static final int NONE = 0; // 0x0
-    field public static final int SMALL = 12; // 0xc
-    field public static final int SQUARE = 13; // 0xd
-    field public static final int SUB = 14; // 0xe
-    field public static final int SUPER = 15; // 0xf
-    field public static final int VERTICAL = 16; // 0x10
-    field public static final int WIDE = 17; // 0x11
-  }
-
-  public static interface UCharacter.EastAsianWidth {
-    field public static final int AMBIGUOUS = 1; // 0x1
-    field public static final int FULLWIDTH = 3; // 0x3
-    field public static final int HALFWIDTH = 2; // 0x2
-    field public static final int NARROW = 4; // 0x4
-    field public static final int NEUTRAL = 0; // 0x0
-    field public static final int WIDE = 5; // 0x5
-  }
-
-  public static interface UCharacter.GraphemeClusterBreak {
-    field public static final int CONTROL = 1; // 0x1
-    field public static final int CR = 2; // 0x2
-    field public static final int EXTEND = 3; // 0x3
-    field public static final int E_BASE = 13; // 0xd
-    field public static final int E_BASE_GAZ = 14; // 0xe
-    field public static final int E_MODIFIER = 15; // 0xf
-    field public static final int GLUE_AFTER_ZWJ = 16; // 0x10
-    field public static final int L = 4; // 0x4
-    field public static final int LF = 5; // 0x5
-    field public static final int LV = 6; // 0x6
-    field public static final int LVT = 7; // 0x7
-    field public static final int OTHER = 0; // 0x0
-    field public static final int PREPEND = 11; // 0xb
-    field public static final int REGIONAL_INDICATOR = 12; // 0xc
-    field public static final int SPACING_MARK = 10; // 0xa
-    field public static final int T = 8; // 0x8
-    field public static final int V = 9; // 0x9
-    field public static final int ZWJ = 17; // 0x11
-  }
-
-  public static interface UCharacter.HangulSyllableType {
-    field public static final int LEADING_JAMO = 1; // 0x1
-    field public static final int LVT_SYLLABLE = 5; // 0x5
-    field public static final int LV_SYLLABLE = 4; // 0x4
-    field public static final int NOT_APPLICABLE = 0; // 0x0
-    field public static final int TRAILING_JAMO = 3; // 0x3
-    field public static final int VOWEL_JAMO = 2; // 0x2
-  }
-
-  public static interface UCharacter.IndicPositionalCategory {
-    field public static final int BOTTOM = 1; // 0x1
-    field public static final int BOTTOM_AND_LEFT = 2; // 0x2
-    field public static final int BOTTOM_AND_RIGHT = 3; // 0x3
-    field public static final int LEFT = 4; // 0x4
-    field public static final int LEFT_AND_RIGHT = 5; // 0x5
-    field public static final int NA = 0; // 0x0
-    field public static final int OVERSTRUCK = 6; // 0x6
-    field public static final int RIGHT = 7; // 0x7
-    field public static final int TOP = 8; // 0x8
-    field public static final int TOP_AND_BOTTOM = 9; // 0x9
-    field public static final int TOP_AND_BOTTOM_AND_LEFT = 15; // 0xf
-    field public static final int TOP_AND_BOTTOM_AND_RIGHT = 10; // 0xa
-    field public static final int TOP_AND_LEFT = 11; // 0xb
-    field public static final int TOP_AND_LEFT_AND_RIGHT = 12; // 0xc
-    field public static final int TOP_AND_RIGHT = 13; // 0xd
-    field public static final int VISUAL_ORDER_LEFT = 14; // 0xe
-  }
-
-  public static interface UCharacter.IndicSyllabicCategory {
-    field public static final int AVAGRAHA = 1; // 0x1
-    field public static final int BINDU = 2; // 0x2
-    field public static final int BRAHMI_JOINING_NUMBER = 3; // 0x3
-    field public static final int CANTILLATION_MARK = 4; // 0x4
-    field public static final int CONSONANT = 5; // 0x5
-    field public static final int CONSONANT_DEAD = 6; // 0x6
-    field public static final int CONSONANT_FINAL = 7; // 0x7
-    field public static final int CONSONANT_HEAD_LETTER = 8; // 0x8
-    field public static final int CONSONANT_INITIAL_POSTFIXED = 9; // 0x9
-    field public static final int CONSONANT_KILLER = 10; // 0xa
-    field public static final int CONSONANT_MEDIAL = 11; // 0xb
-    field public static final int CONSONANT_PLACEHOLDER = 12; // 0xc
-    field public static final int CONSONANT_PRECEDING_REPHA = 13; // 0xd
-    field public static final int CONSONANT_PREFIXED = 14; // 0xe
-    field public static final int CONSONANT_SUBJOINED = 15; // 0xf
-    field public static final int CONSONANT_SUCCEEDING_REPHA = 16; // 0x10
-    field public static final int CONSONANT_WITH_STACKER = 17; // 0x11
-    field public static final int GEMINATION_MARK = 18; // 0x12
-    field public static final int INVISIBLE_STACKER = 19; // 0x13
-    field public static final int JOINER = 20; // 0x14
-    field public static final int MODIFYING_LETTER = 21; // 0x15
-    field public static final int NON_JOINER = 22; // 0x16
-    field public static final int NUKTA = 23; // 0x17
-    field public static final int NUMBER = 24; // 0x18
-    field public static final int NUMBER_JOINER = 25; // 0x19
-    field public static final int OTHER = 0; // 0x0
-    field public static final int PURE_KILLER = 26; // 0x1a
-    field public static final int REGISTER_SHIFTER = 27; // 0x1b
-    field public static final int SYLLABLE_MODIFIER = 28; // 0x1c
-    field public static final int TONE_LETTER = 29; // 0x1d
-    field public static final int TONE_MARK = 30; // 0x1e
-    field public static final int VIRAMA = 31; // 0x1f
-    field public static final int VISARGA = 32; // 0x20
-    field public static final int VOWEL = 33; // 0x21
-    field public static final int VOWEL_DEPENDENT = 34; // 0x22
-    field public static final int VOWEL_INDEPENDENT = 35; // 0x23
-  }
-
-  public static interface UCharacter.JoiningGroup {
-    field public static final int AFRICAN_FEH = 86; // 0x56
-    field public static final int AFRICAN_NOON = 87; // 0x57
-    field public static final int AFRICAN_QAF = 88; // 0x58
-    field public static final int AIN = 1; // 0x1
-    field public static final int ALAPH = 2; // 0x2
-    field public static final int ALEF = 3; // 0x3
-    field public static final int BEH = 4; // 0x4
-    field public static final int BETH = 5; // 0x5
-    field public static final int BURUSHASKI_YEH_BARREE = 54; // 0x36
-    field public static final int DAL = 6; // 0x6
-    field public static final int DALATH_RISH = 7; // 0x7
-    field public static final int E = 8; // 0x8
-    field public static final int FARSI_YEH = 55; // 0x37
-    field public static final int FE = 51; // 0x33
-    field public static final int FEH = 9; // 0x9
-    field public static final int FINAL_SEMKATH = 10; // 0xa
-    field public static final int GAF = 11; // 0xb
-    field public static final int GAMAL = 12; // 0xc
-    field public static final int HAH = 13; // 0xd
-    field public static final int HAMZA_ON_HEH_GOAL = 14; // 0xe
-    field public static final int HANIFI_ROHINGYA_KINNA_YA = 100; // 0x64
-    field public static final int HANIFI_ROHINGYA_PA = 101; // 0x65
-    field public static final int HE = 15; // 0xf
-    field public static final int HEH = 16; // 0x10
-    field public static final int HEH_GOAL = 17; // 0x11
-    field public static final int HETH = 18; // 0x12
-    field public static final int KAF = 19; // 0x13
-    field public static final int KAPH = 20; // 0x14
-    field public static final int KHAPH = 52; // 0x34
-    field public static final int KNOTTED_HEH = 21; // 0x15
-    field public static final int LAM = 22; // 0x16
-    field public static final int LAMADH = 23; // 0x17
-    field public static final int MALAYALAM_BHA = 89; // 0x59
-    field public static final int MALAYALAM_JA = 90; // 0x5a
-    field public static final int MALAYALAM_LLA = 91; // 0x5b
-    field public static final int MALAYALAM_LLLA = 92; // 0x5c
-    field public static final int MALAYALAM_NGA = 93; // 0x5d
-    field public static final int MALAYALAM_NNA = 94; // 0x5e
-    field public static final int MALAYALAM_NNNA = 95; // 0x5f
-    field public static final int MALAYALAM_NYA = 96; // 0x60
-    field public static final int MALAYALAM_RA = 97; // 0x61
-    field public static final int MALAYALAM_SSA = 98; // 0x62
-    field public static final int MALAYALAM_TTA = 99; // 0x63
-    field public static final int MANICHAEAN_ALEPH = 58; // 0x3a
-    field public static final int MANICHAEAN_AYIN = 59; // 0x3b
-    field public static final int MANICHAEAN_BETH = 60; // 0x3c
-    field public static final int MANICHAEAN_DALETH = 61; // 0x3d
-    field public static final int MANICHAEAN_DHAMEDH = 62; // 0x3e
-    field public static final int MANICHAEAN_FIVE = 63; // 0x3f
-    field public static final int MANICHAEAN_GIMEL = 64; // 0x40
-    field public static final int MANICHAEAN_HETH = 65; // 0x41
-    field public static final int MANICHAEAN_HUNDRED = 66; // 0x42
-    field public static final int MANICHAEAN_KAPH = 67; // 0x43
-    field public static final int MANICHAEAN_LAMEDH = 68; // 0x44
-    field public static final int MANICHAEAN_MEM = 69; // 0x45
-    field public static final int MANICHAEAN_NUN = 70; // 0x46
-    field public static final int MANICHAEAN_ONE = 71; // 0x47
-    field public static final int MANICHAEAN_PE = 72; // 0x48
-    field public static final int MANICHAEAN_QOPH = 73; // 0x49
-    field public static final int MANICHAEAN_RESH = 74; // 0x4a
-    field public static final int MANICHAEAN_SADHE = 75; // 0x4b
-    field public static final int MANICHAEAN_SAMEKH = 76; // 0x4c
-    field public static final int MANICHAEAN_TAW = 77; // 0x4d
-    field public static final int MANICHAEAN_TEN = 78; // 0x4e
-    field public static final int MANICHAEAN_TETH = 79; // 0x4f
-    field public static final int MANICHAEAN_THAMEDH = 80; // 0x50
-    field public static final int MANICHAEAN_TWENTY = 81; // 0x51
-    field public static final int MANICHAEAN_WAW = 82; // 0x52
-    field public static final int MANICHAEAN_YODH = 83; // 0x53
-    field public static final int MANICHAEAN_ZAYIN = 84; // 0x54
-    field public static final int MEEM = 24; // 0x18
-    field public static final int MIM = 25; // 0x19
-    field public static final int NOON = 26; // 0x1a
-    field public static final int NO_JOINING_GROUP = 0; // 0x0
-    field public static final int NUN = 27; // 0x1b
-    field public static final int NYA = 56; // 0x38
-    field public static final int PE = 28; // 0x1c
-    field public static final int QAF = 29; // 0x1d
-    field public static final int QAPH = 30; // 0x1e
-    field public static final int REH = 31; // 0x1f
-    field public static final int REVERSED_PE = 32; // 0x20
-    field public static final int ROHINGYA_YEH = 57; // 0x39
-    field public static final int SAD = 33; // 0x21
-    field public static final int SADHE = 34; // 0x22
-    field public static final int SEEN = 35; // 0x23
-    field public static final int SEMKATH = 36; // 0x24
-    field public static final int SHIN = 37; // 0x25
-    field public static final int STRAIGHT_WAW = 85; // 0x55
-    field public static final int SWASH_KAF = 38; // 0x26
-    field public static final int SYRIAC_WAW = 39; // 0x27
-    field public static final int TAH = 40; // 0x28
-    field public static final int TAW = 41; // 0x29
-    field public static final int TEH_MARBUTA = 42; // 0x2a
-    field public static final int TEH_MARBUTA_GOAL = 14; // 0xe
-    field public static final int TETH = 43; // 0x2b
-    field public static final int WAW = 44; // 0x2c
-    field public static final int YEH = 45; // 0x2d
-    field public static final int YEH_BARREE = 46; // 0x2e
-    field public static final int YEH_WITH_TAIL = 47; // 0x2f
-    field public static final int YUDH = 48; // 0x30
-    field public static final int YUDH_HE = 49; // 0x31
-    field public static final int ZAIN = 50; // 0x32
-    field public static final int ZHAIN = 53; // 0x35
-  }
-
-  public static interface UCharacter.JoiningType {
-    field public static final int DUAL_JOINING = 2; // 0x2
-    field public static final int JOIN_CAUSING = 1; // 0x1
-    field public static final int LEFT_JOINING = 3; // 0x3
-    field public static final int NON_JOINING = 0; // 0x0
-    field public static final int RIGHT_JOINING = 4; // 0x4
-    field public static final int TRANSPARENT = 5; // 0x5
-  }
-
-  public static interface UCharacter.LineBreak {
-    field public static final int ALPHABETIC = 2; // 0x2
-    field public static final int AMBIGUOUS = 1; // 0x1
-    field public static final int BREAK_AFTER = 4; // 0x4
-    field public static final int BREAK_BEFORE = 5; // 0x5
-    field public static final int BREAK_BOTH = 3; // 0x3
-    field public static final int BREAK_SYMBOLS = 27; // 0x1b
-    field public static final int CARRIAGE_RETURN = 10; // 0xa
-    field public static final int CLOSE_PARENTHESIS = 36; // 0x24
-    field public static final int CLOSE_PUNCTUATION = 8; // 0x8
-    field public static final int COMBINING_MARK = 9; // 0x9
-    field public static final int COMPLEX_CONTEXT = 24; // 0x18
-    field public static final int CONDITIONAL_JAPANESE_STARTER = 37; // 0x25
-    field public static final int CONTINGENT_BREAK = 7; // 0x7
-    field public static final int EXCLAMATION = 11; // 0xb
-    field public static final int E_BASE = 40; // 0x28
-    field public static final int E_MODIFIER = 41; // 0x29
-    field public static final int GLUE = 12; // 0xc
-    field public static final int H2 = 31; // 0x1f
-    field public static final int H3 = 32; // 0x20
-    field public static final int HEBREW_LETTER = 38; // 0x26
-    field public static final int HYPHEN = 13; // 0xd
-    field public static final int IDEOGRAPHIC = 14; // 0xe
-    field public static final int INFIX_NUMERIC = 16; // 0x10
-    field public static final int INSEPARABLE = 15; // 0xf
-    field public static final int INSEPERABLE = 15; // 0xf
-    field public static final int JL = 33; // 0x21
-    field public static final int JT = 34; // 0x22
-    field public static final int JV = 35; // 0x23
-    field public static final int LINE_FEED = 17; // 0x11
-    field public static final int MANDATORY_BREAK = 6; // 0x6
-    field public static final int NEXT_LINE = 29; // 0x1d
-    field public static final int NONSTARTER = 18; // 0x12
-    field public static final int NUMERIC = 19; // 0x13
-    field public static final int OPEN_PUNCTUATION = 20; // 0x14
-    field public static final int POSTFIX_NUMERIC = 21; // 0x15
-    field public static final int PREFIX_NUMERIC = 22; // 0x16
-    field public static final int QUOTATION = 23; // 0x17
-    field public static final int REGIONAL_INDICATOR = 39; // 0x27
-    field public static final int SPACE = 26; // 0x1a
-    field public static final int SURROGATE = 25; // 0x19
-    field public static final int UNKNOWN = 0; // 0x0
-    field public static final int WORD_JOINER = 30; // 0x1e
-    field public static final int ZWJ = 42; // 0x2a
-    field public static final int ZWSPACE = 28; // 0x1c
-  }
-
-  public static interface UCharacter.NumericType {
-    field public static final int DECIMAL = 1; // 0x1
-    field public static final int DIGIT = 2; // 0x2
-    field public static final int NONE = 0; // 0x0
-    field public static final int NUMERIC = 3; // 0x3
-  }
-
-  public static interface UCharacter.SentenceBreak {
-    field public static final int ATERM = 1; // 0x1
-    field public static final int CLOSE = 2; // 0x2
-    field public static final int CR = 11; // 0xb
-    field public static final int EXTEND = 12; // 0xc
-    field public static final int FORMAT = 3; // 0x3
-    field public static final int LF = 13; // 0xd
-    field public static final int LOWER = 4; // 0x4
-    field public static final int NUMERIC = 5; // 0x5
-    field public static final int OLETTER = 6; // 0x6
-    field public static final int OTHER = 0; // 0x0
-    field public static final int SCONTINUE = 14; // 0xe
-    field public static final int SEP = 7; // 0x7
-    field public static final int SP = 8; // 0x8
-    field public static final int STERM = 9; // 0x9
-    field public static final int UPPER = 10; // 0xa
-  }
-
-  public static final class UCharacter.UnicodeBlock extends java.lang.Character.Subset {
-    method public static android.icu.lang.UCharacter.UnicodeBlock forName(String);
-    method public int getID();
-    method public static android.icu.lang.UCharacter.UnicodeBlock getInstance(int);
-    method public static android.icu.lang.UCharacter.UnicodeBlock of(int);
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ADLAM;
-    field public static final int ADLAM_ID = 263; // 0x107
-    field public static final android.icu.lang.UCharacter.UnicodeBlock AEGEAN_NUMBERS;
-    field public static final int AEGEAN_NUMBERS_ID = 119; // 0x77
-    field public static final android.icu.lang.UCharacter.UnicodeBlock AHOM;
-    field public static final int AHOM_ID = 253; // 0xfd
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ALCHEMICAL_SYMBOLS;
-    field public static final int ALCHEMICAL_SYMBOLS_ID = 208; // 0xd0
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ALPHABETIC_PRESENTATION_FORMS;
-    field public static final int ALPHABETIC_PRESENTATION_FORMS_ID = 80; // 0x50
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ANATOLIAN_HIEROGLYPHS;
-    field public static final int ANATOLIAN_HIEROGLYPHS_ID = 254; // 0xfe
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ANCIENT_GREEK_MUSICAL_NOTATION;
-    field public static final int ANCIENT_GREEK_MUSICAL_NOTATION_ID = 126; // 0x7e
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ANCIENT_GREEK_NUMBERS;
-    field public static final int ANCIENT_GREEK_NUMBERS_ID = 127; // 0x7f
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ANCIENT_SYMBOLS;
-    field public static final int ANCIENT_SYMBOLS_ID = 165; // 0xa5
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ARABIC;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ARABIC_EXTENDED_A;
-    field public static final int ARABIC_EXTENDED_A_ID = 210; // 0xd2
-    field public static final int ARABIC_ID = 12; // 0xc
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS;
-    field public static final int ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS_ID = 211; // 0xd3
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ARABIC_PRESENTATION_FORMS_A;
-    field public static final int ARABIC_PRESENTATION_FORMS_A_ID = 81; // 0x51
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ARABIC_PRESENTATION_FORMS_B;
-    field public static final int ARABIC_PRESENTATION_FORMS_B_ID = 85; // 0x55
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ARABIC_SUPPLEMENT;
-    field public static final int ARABIC_SUPPLEMENT_ID = 128; // 0x80
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ARMENIAN;
-    field public static final int ARMENIAN_ID = 10; // 0xa
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ARROWS;
-    field public static final int ARROWS_ID = 46; // 0x2e
-    field public static final android.icu.lang.UCharacter.UnicodeBlock AVESTAN;
-    field public static final int AVESTAN_ID = 188; // 0xbc
-    field public static final android.icu.lang.UCharacter.UnicodeBlock BALINESE;
-    field public static final int BALINESE_ID = 147; // 0x93
-    field public static final android.icu.lang.UCharacter.UnicodeBlock BAMUM;
-    field public static final int BAMUM_ID = 177; // 0xb1
-    field public static final android.icu.lang.UCharacter.UnicodeBlock BAMUM_SUPPLEMENT;
-    field public static final int BAMUM_SUPPLEMENT_ID = 202; // 0xca
-    field public static final android.icu.lang.UCharacter.UnicodeBlock BASIC_LATIN;
-    field public static final int BASIC_LATIN_ID = 1; // 0x1
-    field public static final android.icu.lang.UCharacter.UnicodeBlock BASSA_VAH;
-    field public static final int BASSA_VAH_ID = 221; // 0xdd
-    field public static final android.icu.lang.UCharacter.UnicodeBlock BATAK;
-    field public static final int BATAK_ID = 199; // 0xc7
-    field public static final android.icu.lang.UCharacter.UnicodeBlock BENGALI;
-    field public static final int BENGALI_ID = 16; // 0x10
-    field public static final android.icu.lang.UCharacter.UnicodeBlock BHAIKSUKI;
-    field public static final int BHAIKSUKI_ID = 264; // 0x108
-    field public static final android.icu.lang.UCharacter.UnicodeBlock BLOCK_ELEMENTS;
-    field public static final int BLOCK_ELEMENTS_ID = 53; // 0x35
-    field public static final android.icu.lang.UCharacter.UnicodeBlock BOPOMOFO;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock BOPOMOFO_EXTENDED;
-    field public static final int BOPOMOFO_EXTENDED_ID = 67; // 0x43
-    field public static final int BOPOMOFO_ID = 64; // 0x40
-    field public static final android.icu.lang.UCharacter.UnicodeBlock BOX_DRAWING;
-    field public static final int BOX_DRAWING_ID = 52; // 0x34
-    field public static final android.icu.lang.UCharacter.UnicodeBlock BRAHMI;
-    field public static final int BRAHMI_ID = 201; // 0xc9
-    field public static final android.icu.lang.UCharacter.UnicodeBlock BRAILLE_PATTERNS;
-    field public static final int BRAILLE_PATTERNS_ID = 57; // 0x39
-    field public static final android.icu.lang.UCharacter.UnicodeBlock BUGINESE;
-    field public static final int BUGINESE_ID = 129; // 0x81
-    field public static final android.icu.lang.UCharacter.UnicodeBlock BUHID;
-    field public static final int BUHID_ID = 100; // 0x64
-    field public static final android.icu.lang.UCharacter.UnicodeBlock BYZANTINE_MUSICAL_SYMBOLS;
-    field public static final int BYZANTINE_MUSICAL_SYMBOLS_ID = 91; // 0x5b
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CARIAN;
-    field public static final int CARIAN_ID = 168; // 0xa8
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CAUCASIAN_ALBANIAN;
-    field public static final int CAUCASIAN_ALBANIAN_ID = 222; // 0xde
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CHAKMA;
-    field public static final int CHAKMA_ID = 212; // 0xd4
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CHAM;
-    field public static final int CHAM_ID = 164; // 0xa4
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CHEROKEE;
-    field public static final int CHEROKEE_ID = 32; // 0x20
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CHEROKEE_SUPPLEMENT;
-    field public static final int CHEROKEE_SUPPLEMENT_ID = 255; // 0xff
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CHESS_SYMBOLS;
-    field public static final int CHESS_SYMBOLS_ID = 281; // 0x119
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CHORASMIAN;
-    field public static final int CHORASMIAN_ID = 301; // 0x12d
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_COMPATIBILITY;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_COMPATIBILITY_FORMS;
-    field public static final int CJK_COMPATIBILITY_FORMS_ID = 83; // 0x53
-    field public static final int CJK_COMPATIBILITY_ID = 69; // 0x45
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS;
-    field public static final int CJK_COMPATIBILITY_IDEOGRAPHS_ID = 79; // 0x4f
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT;
-    field public static final int CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT_ID = 95; // 0x5f
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_RADICALS_SUPPLEMENT;
-    field public static final int CJK_RADICALS_SUPPLEMENT_ID = 58; // 0x3a
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_STROKES;
-    field public static final int CJK_STROKES_ID = 130; // 0x82
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_SYMBOLS_AND_PUNCTUATION;
-    field public static final int CJK_SYMBOLS_AND_PUNCTUATION_ID = 61; // 0x3d
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A;
-    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A_ID = 70; // 0x46
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B;
-    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B_ID = 94; // 0x5e
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C;
-    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C_ID = 197; // 0xc5
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D;
-    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D_ID = 209; // 0xd1
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E;
-    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E_ID = 256; // 0x100
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F;
-    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F_ID = 274; // 0x112
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G;
-    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G_ID = 302; // 0x12e
-    field public static final int CJK_UNIFIED_IDEOGRAPHS_ID = 71; // 0x47
-    field public static final android.icu.lang.UCharacter.UnicodeBlock COMBINING_DIACRITICAL_MARKS;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock COMBINING_DIACRITICAL_MARKS_EXTENDED;
-    field public static final int COMBINING_DIACRITICAL_MARKS_EXTENDED_ID = 224; // 0xe0
-    field public static final int COMBINING_DIACRITICAL_MARKS_ID = 7; // 0x7
-    field public static final android.icu.lang.UCharacter.UnicodeBlock COMBINING_DIACRITICAL_MARKS_SUPPLEMENT;
-    field public static final int COMBINING_DIACRITICAL_MARKS_SUPPLEMENT_ID = 131; // 0x83
-    field public static final android.icu.lang.UCharacter.UnicodeBlock COMBINING_HALF_MARKS;
-    field public static final int COMBINING_HALF_MARKS_ID = 82; // 0x52
-    field public static final android.icu.lang.UCharacter.UnicodeBlock COMBINING_MARKS_FOR_SYMBOLS;
-    field public static final int COMBINING_MARKS_FOR_SYMBOLS_ID = 43; // 0x2b
-    field public static final android.icu.lang.UCharacter.UnicodeBlock COMMON_INDIC_NUMBER_FORMS;
-    field public static final int COMMON_INDIC_NUMBER_FORMS_ID = 178; // 0xb2
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CONTROL_PICTURES;
-    field public static final int CONTROL_PICTURES_ID = 49; // 0x31
-    field public static final android.icu.lang.UCharacter.UnicodeBlock COPTIC;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock COPTIC_EPACT_NUMBERS;
-    field public static final int COPTIC_EPACT_NUMBERS_ID = 223; // 0xdf
-    field public static final int COPTIC_ID = 132; // 0x84
-    field public static final android.icu.lang.UCharacter.UnicodeBlock COUNTING_ROD_NUMERALS;
-    field public static final int COUNTING_ROD_NUMERALS_ID = 154; // 0x9a
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CUNEIFORM;
-    field public static final int CUNEIFORM_ID = 152; // 0x98
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CUNEIFORM_NUMBERS_AND_PUNCTUATION;
-    field public static final int CUNEIFORM_NUMBERS_AND_PUNCTUATION_ID = 153; // 0x99
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CURRENCY_SYMBOLS;
-    field public static final int CURRENCY_SYMBOLS_ID = 42; // 0x2a
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CYPRIOT_SYLLABARY;
-    field public static final int CYPRIOT_SYLLABARY_ID = 123; // 0x7b
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CYRILLIC;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CYRILLIC_EXTENDED_A;
-    field public static final int CYRILLIC_EXTENDED_A_ID = 158; // 0x9e
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CYRILLIC_EXTENDED_B;
-    field public static final int CYRILLIC_EXTENDED_B_ID = 160; // 0xa0
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CYRILLIC_EXTENDED_C;
-    field public static final int CYRILLIC_EXTENDED_C_ID = 265; // 0x109
-    field public static final int CYRILLIC_ID = 9; // 0x9
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CYRILLIC_SUPPLEMENT;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock CYRILLIC_SUPPLEMENTARY;
-    field public static final int CYRILLIC_SUPPLEMENTARY_ID = 97; // 0x61
-    field public static final int CYRILLIC_SUPPLEMENT_ID = 97; // 0x61
-    field public static final android.icu.lang.UCharacter.UnicodeBlock DESERET;
-    field public static final int DESERET_ID = 90; // 0x5a
-    field public static final android.icu.lang.UCharacter.UnicodeBlock DEVANAGARI;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock DEVANAGARI_EXTENDED;
-    field public static final int DEVANAGARI_EXTENDED_ID = 179; // 0xb3
-    field public static final int DEVANAGARI_ID = 15; // 0xf
-    field public static final android.icu.lang.UCharacter.UnicodeBlock DINGBATS;
-    field public static final int DINGBATS_ID = 56; // 0x38
-    field public static final android.icu.lang.UCharacter.UnicodeBlock DIVES_AKURU;
-    field public static final int DIVES_AKURU_ID = 303; // 0x12f
-    field public static final android.icu.lang.UCharacter.UnicodeBlock DOGRA;
-    field public static final int DOGRA_ID = 282; // 0x11a
-    field public static final android.icu.lang.UCharacter.UnicodeBlock DOMINO_TILES;
-    field public static final int DOMINO_TILES_ID = 171; // 0xab
-    field public static final android.icu.lang.UCharacter.UnicodeBlock DUPLOYAN;
-    field public static final int DUPLOYAN_ID = 225; // 0xe1
-    field public static final android.icu.lang.UCharacter.UnicodeBlock EARLY_DYNASTIC_CUNEIFORM;
-    field public static final int EARLY_DYNASTIC_CUNEIFORM_ID = 257; // 0x101
-    field public static final android.icu.lang.UCharacter.UnicodeBlock EGYPTIAN_HIEROGLYPHS;
-    field public static final int EGYPTIAN_HIEROGLYPHS_ID = 194; // 0xc2
-    field public static final android.icu.lang.UCharacter.UnicodeBlock EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS;
-    field public static final int EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS_ID = 292; // 0x124
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ELBASAN;
-    field public static final int ELBASAN_ID = 226; // 0xe2
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ELYMAIC;
-    field public static final int ELYMAIC_ID = 293; // 0x125
-    field public static final android.icu.lang.UCharacter.UnicodeBlock EMOTICONS;
-    field public static final int EMOTICONS_ID = 206; // 0xce
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ENCLOSED_ALPHANUMERICS;
-    field public static final int ENCLOSED_ALPHANUMERICS_ID = 51; // 0x33
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ENCLOSED_ALPHANUMERIC_SUPPLEMENT;
-    field public static final int ENCLOSED_ALPHANUMERIC_SUPPLEMENT_ID = 195; // 0xc3
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ENCLOSED_CJK_LETTERS_AND_MONTHS;
-    field public static final int ENCLOSED_CJK_LETTERS_AND_MONTHS_ID = 68; // 0x44
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ENCLOSED_IDEOGRAPHIC_SUPPLEMENT;
-    field public static final int ENCLOSED_IDEOGRAPHIC_SUPPLEMENT_ID = 196; // 0xc4
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ETHIOPIC;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ETHIOPIC_EXTENDED;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ETHIOPIC_EXTENDED_A;
-    field public static final int ETHIOPIC_EXTENDED_A_ID = 200; // 0xc8
-    field public static final int ETHIOPIC_EXTENDED_ID = 133; // 0x85
-    field public static final int ETHIOPIC_ID = 31; // 0x1f
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ETHIOPIC_SUPPLEMENT;
-    field public static final int ETHIOPIC_SUPPLEMENT_ID = 134; // 0x86
-    field public static final android.icu.lang.UCharacter.UnicodeBlock GENERAL_PUNCTUATION;
-    field public static final int GENERAL_PUNCTUATION_ID = 40; // 0x28
-    field public static final android.icu.lang.UCharacter.UnicodeBlock GEOMETRIC_SHAPES;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock GEOMETRIC_SHAPES_EXTENDED;
-    field public static final int GEOMETRIC_SHAPES_EXTENDED_ID = 227; // 0xe3
-    field public static final int GEOMETRIC_SHAPES_ID = 54; // 0x36
-    field public static final android.icu.lang.UCharacter.UnicodeBlock GEORGIAN;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock GEORGIAN_EXTENDED;
-    field public static final int GEORGIAN_EXTENDED_ID = 283; // 0x11b
-    field public static final int GEORGIAN_ID = 29; // 0x1d
-    field public static final android.icu.lang.UCharacter.UnicodeBlock GEORGIAN_SUPPLEMENT;
-    field public static final int GEORGIAN_SUPPLEMENT_ID = 135; // 0x87
-    field public static final android.icu.lang.UCharacter.UnicodeBlock GLAGOLITIC;
-    field public static final int GLAGOLITIC_ID = 136; // 0x88
-    field public static final android.icu.lang.UCharacter.UnicodeBlock GLAGOLITIC_SUPPLEMENT;
-    field public static final int GLAGOLITIC_SUPPLEMENT_ID = 266; // 0x10a
-    field public static final android.icu.lang.UCharacter.UnicodeBlock GOTHIC;
-    field public static final int GOTHIC_ID = 89; // 0x59
-    field public static final android.icu.lang.UCharacter.UnicodeBlock GRANTHA;
-    field public static final int GRANTHA_ID = 228; // 0xe4
-    field public static final android.icu.lang.UCharacter.UnicodeBlock GREEK;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock GREEK_EXTENDED;
-    field public static final int GREEK_EXTENDED_ID = 39; // 0x27
-    field public static final int GREEK_ID = 8; // 0x8
-    field public static final android.icu.lang.UCharacter.UnicodeBlock GUJARATI;
-    field public static final int GUJARATI_ID = 18; // 0x12
-    field public static final android.icu.lang.UCharacter.UnicodeBlock GUNJALA_GONDI;
-    field public static final int GUNJALA_GONDI_ID = 284; // 0x11c
-    field public static final android.icu.lang.UCharacter.UnicodeBlock GURMUKHI;
-    field public static final int GURMUKHI_ID = 17; // 0x11
-    field public static final android.icu.lang.UCharacter.UnicodeBlock HALFWIDTH_AND_FULLWIDTH_FORMS;
-    field public static final int HALFWIDTH_AND_FULLWIDTH_FORMS_ID = 87; // 0x57
-    field public static final android.icu.lang.UCharacter.UnicodeBlock HANGUL_COMPATIBILITY_JAMO;
-    field public static final int HANGUL_COMPATIBILITY_JAMO_ID = 65; // 0x41
-    field public static final android.icu.lang.UCharacter.UnicodeBlock HANGUL_JAMO;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock HANGUL_JAMO_EXTENDED_A;
-    field public static final int HANGUL_JAMO_EXTENDED_A_ID = 180; // 0xb4
-    field public static final android.icu.lang.UCharacter.UnicodeBlock HANGUL_JAMO_EXTENDED_B;
-    field public static final int HANGUL_JAMO_EXTENDED_B_ID = 185; // 0xb9
-    field public static final int HANGUL_JAMO_ID = 30; // 0x1e
-    field public static final android.icu.lang.UCharacter.UnicodeBlock HANGUL_SYLLABLES;
-    field public static final int HANGUL_SYLLABLES_ID = 74; // 0x4a
-    field public static final android.icu.lang.UCharacter.UnicodeBlock HANIFI_ROHINGYA;
-    field public static final int HANIFI_ROHINGYA_ID = 285; // 0x11d
-    field public static final android.icu.lang.UCharacter.UnicodeBlock HANUNOO;
-    field public static final int HANUNOO_ID = 99; // 0x63
-    field public static final android.icu.lang.UCharacter.UnicodeBlock HATRAN;
-    field public static final int HATRAN_ID = 258; // 0x102
-    field public static final android.icu.lang.UCharacter.UnicodeBlock HEBREW;
-    field public static final int HEBREW_ID = 11; // 0xb
-    field public static final android.icu.lang.UCharacter.UnicodeBlock HIGH_PRIVATE_USE_SURROGATES;
-    field public static final int HIGH_PRIVATE_USE_SURROGATES_ID = 76; // 0x4c
-    field public static final android.icu.lang.UCharacter.UnicodeBlock HIGH_SURROGATES;
-    field public static final int HIGH_SURROGATES_ID = 75; // 0x4b
-    field public static final android.icu.lang.UCharacter.UnicodeBlock HIRAGANA;
-    field public static final int HIRAGANA_ID = 62; // 0x3e
-    field public static final android.icu.lang.UCharacter.UnicodeBlock IDEOGRAPHIC_DESCRIPTION_CHARACTERS;
-    field public static final int IDEOGRAPHIC_DESCRIPTION_CHARACTERS_ID = 60; // 0x3c
-    field public static final android.icu.lang.UCharacter.UnicodeBlock IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION;
-    field public static final int IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION_ID = 267; // 0x10b
-    field public static final android.icu.lang.UCharacter.UnicodeBlock IMPERIAL_ARAMAIC;
-    field public static final int IMPERIAL_ARAMAIC_ID = 186; // 0xba
-    field public static final android.icu.lang.UCharacter.UnicodeBlock INDIC_SIYAQ_NUMBERS;
-    field public static final int INDIC_SIYAQ_NUMBERS_ID = 286; // 0x11e
-    field public static final android.icu.lang.UCharacter.UnicodeBlock INSCRIPTIONAL_PAHLAVI;
-    field public static final int INSCRIPTIONAL_PAHLAVI_ID = 190; // 0xbe
-    field public static final android.icu.lang.UCharacter.UnicodeBlock INSCRIPTIONAL_PARTHIAN;
-    field public static final int INSCRIPTIONAL_PARTHIAN_ID = 189; // 0xbd
-    field public static final android.icu.lang.UCharacter.UnicodeBlock INVALID_CODE;
-    field public static final int INVALID_CODE_ID = -1; // 0xffffffff
-    field public static final android.icu.lang.UCharacter.UnicodeBlock IPA_EXTENSIONS;
-    field public static final int IPA_EXTENSIONS_ID = 5; // 0x5
-    field public static final android.icu.lang.UCharacter.UnicodeBlock JAVANESE;
-    field public static final int JAVANESE_ID = 181; // 0xb5
-    field public static final android.icu.lang.UCharacter.UnicodeBlock KAITHI;
-    field public static final int KAITHI_ID = 193; // 0xc1
-    field public static final android.icu.lang.UCharacter.UnicodeBlock KANA_EXTENDED_A;
-    field public static final int KANA_EXTENDED_A_ID = 275; // 0x113
-    field public static final android.icu.lang.UCharacter.UnicodeBlock KANA_SUPPLEMENT;
-    field public static final int KANA_SUPPLEMENT_ID = 203; // 0xcb
-    field public static final android.icu.lang.UCharacter.UnicodeBlock KANBUN;
-    field public static final int KANBUN_ID = 66; // 0x42
-    field public static final android.icu.lang.UCharacter.UnicodeBlock KANGXI_RADICALS;
-    field public static final int KANGXI_RADICALS_ID = 59; // 0x3b
-    field public static final android.icu.lang.UCharacter.UnicodeBlock KANNADA;
-    field public static final int KANNADA_ID = 22; // 0x16
-    field public static final android.icu.lang.UCharacter.UnicodeBlock KATAKANA;
-    field public static final int KATAKANA_ID = 63; // 0x3f
-    field public static final android.icu.lang.UCharacter.UnicodeBlock KATAKANA_PHONETIC_EXTENSIONS;
-    field public static final int KATAKANA_PHONETIC_EXTENSIONS_ID = 107; // 0x6b
-    field public static final android.icu.lang.UCharacter.UnicodeBlock KAYAH_LI;
-    field public static final int KAYAH_LI_ID = 162; // 0xa2
-    field public static final android.icu.lang.UCharacter.UnicodeBlock KHAROSHTHI;
-    field public static final int KHAROSHTHI_ID = 137; // 0x89
-    field public static final android.icu.lang.UCharacter.UnicodeBlock KHITAN_SMALL_SCRIPT;
-    field public static final int KHITAN_SMALL_SCRIPT_ID = 304; // 0x130
-    field public static final android.icu.lang.UCharacter.UnicodeBlock KHMER;
-    field public static final int KHMER_ID = 36; // 0x24
-    field public static final android.icu.lang.UCharacter.UnicodeBlock KHMER_SYMBOLS;
-    field public static final int KHMER_SYMBOLS_ID = 113; // 0x71
-    field public static final android.icu.lang.UCharacter.UnicodeBlock KHOJKI;
-    field public static final int KHOJKI_ID = 229; // 0xe5
-    field public static final android.icu.lang.UCharacter.UnicodeBlock KHUDAWADI;
-    field public static final int KHUDAWADI_ID = 230; // 0xe6
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LAO;
-    field public static final int LAO_ID = 26; // 0x1a
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_1_SUPPLEMENT;
-    field public static final int LATIN_1_SUPPLEMENT_ID = 2; // 0x2
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_EXTENDED_A;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_EXTENDED_ADDITIONAL;
-    field public static final int LATIN_EXTENDED_ADDITIONAL_ID = 38; // 0x26
-    field public static final int LATIN_EXTENDED_A_ID = 3; // 0x3
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_EXTENDED_B;
-    field public static final int LATIN_EXTENDED_B_ID = 4; // 0x4
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_EXTENDED_C;
-    field public static final int LATIN_EXTENDED_C_ID = 148; // 0x94
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_EXTENDED_D;
-    field public static final int LATIN_EXTENDED_D_ID = 149; // 0x95
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_EXTENDED_E;
-    field public static final int LATIN_EXTENDED_E_ID = 231; // 0xe7
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LEPCHA;
-    field public static final int LEPCHA_ID = 156; // 0x9c
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LETTERLIKE_SYMBOLS;
-    field public static final int LETTERLIKE_SYMBOLS_ID = 44; // 0x2c
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LIMBU;
-    field public static final int LIMBU_ID = 111; // 0x6f
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LINEAR_A;
-    field public static final int LINEAR_A_ID = 232; // 0xe8
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LINEAR_B_IDEOGRAMS;
-    field public static final int LINEAR_B_IDEOGRAMS_ID = 118; // 0x76
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LINEAR_B_SYLLABARY;
-    field public static final int LINEAR_B_SYLLABARY_ID = 117; // 0x75
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LISU;
-    field public static final int LISU_ID = 176; // 0xb0
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LISU_SUPPLEMENT;
-    field public static final int LISU_SUPPLEMENT_ID = 305; // 0x131
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LOW_SURROGATES;
-    field public static final int LOW_SURROGATES_ID = 77; // 0x4d
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LYCIAN;
-    field public static final int LYCIAN_ID = 167; // 0xa7
-    field public static final android.icu.lang.UCharacter.UnicodeBlock LYDIAN;
-    field public static final int LYDIAN_ID = 169; // 0xa9
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MAHAJANI;
-    field public static final int MAHAJANI_ID = 233; // 0xe9
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MAHJONG_TILES;
-    field public static final int MAHJONG_TILES_ID = 170; // 0xaa
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MAKASAR;
-    field public static final int MAKASAR_ID = 287; // 0x11f
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MALAYALAM;
-    field public static final int MALAYALAM_ID = 23; // 0x17
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MANDAIC;
-    field public static final int MANDAIC_ID = 198; // 0xc6
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MANICHAEAN;
-    field public static final int MANICHAEAN_ID = 234; // 0xea
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MARCHEN;
-    field public static final int MARCHEN_ID = 268; // 0x10c
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MASARAM_GONDI;
-    field public static final int MASARAM_GONDI_ID = 276; // 0x114
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MATHEMATICAL_ALPHANUMERIC_SYMBOLS;
-    field public static final int MATHEMATICAL_ALPHANUMERIC_SYMBOLS_ID = 93; // 0x5d
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MATHEMATICAL_OPERATORS;
-    field public static final int MATHEMATICAL_OPERATORS_ID = 47; // 0x2f
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MAYAN_NUMERALS;
-    field public static final int MAYAN_NUMERALS_ID = 288; // 0x120
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MEDEFAIDRIN;
-    field public static final int MEDEFAIDRIN_ID = 289; // 0x121
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MEETEI_MAYEK;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MEETEI_MAYEK_EXTENSIONS;
-    field public static final int MEETEI_MAYEK_EXTENSIONS_ID = 213; // 0xd5
-    field public static final int MEETEI_MAYEK_ID = 184; // 0xb8
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MENDE_KIKAKUI;
-    field public static final int MENDE_KIKAKUI_ID = 235; // 0xeb
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MEROITIC_CURSIVE;
-    field public static final int MEROITIC_CURSIVE_ID = 214; // 0xd6
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MEROITIC_HIEROGLYPHS;
-    field public static final int MEROITIC_HIEROGLYPHS_ID = 215; // 0xd7
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MIAO;
-    field public static final int MIAO_ID = 216; // 0xd8
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A;
-    field public static final int MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A_ID = 102; // 0x66
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B;
-    field public static final int MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B_ID = 105; // 0x69
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MISCELLANEOUS_SYMBOLS;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_ARROWS;
-    field public static final int MISCELLANEOUS_SYMBOLS_AND_ARROWS_ID = 115; // 0x73
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS;
-    field public static final int MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS_ID = 205; // 0xcd
-    field public static final int MISCELLANEOUS_SYMBOLS_ID = 55; // 0x37
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MISCELLANEOUS_TECHNICAL;
-    field public static final int MISCELLANEOUS_TECHNICAL_ID = 48; // 0x30
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MODI;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MODIFIER_TONE_LETTERS;
-    field public static final int MODIFIER_TONE_LETTERS_ID = 138; // 0x8a
-    field public static final int MODI_ID = 236; // 0xec
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MONGOLIAN;
-    field public static final int MONGOLIAN_ID = 37; // 0x25
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MONGOLIAN_SUPPLEMENT;
-    field public static final int MONGOLIAN_SUPPLEMENT_ID = 269; // 0x10d
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MRO;
-    field public static final int MRO_ID = 237; // 0xed
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MULTANI;
-    field public static final int MULTANI_ID = 259; // 0x103
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MUSICAL_SYMBOLS;
-    field public static final int MUSICAL_SYMBOLS_ID = 92; // 0x5c
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MYANMAR;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MYANMAR_EXTENDED_A;
-    field public static final int MYANMAR_EXTENDED_A_ID = 182; // 0xb6
-    field public static final android.icu.lang.UCharacter.UnicodeBlock MYANMAR_EXTENDED_B;
-    field public static final int MYANMAR_EXTENDED_B_ID = 238; // 0xee
-    field public static final int MYANMAR_ID = 28; // 0x1c
-    field public static final android.icu.lang.UCharacter.UnicodeBlock NABATAEAN;
-    field public static final int NABATAEAN_ID = 239; // 0xef
-    field public static final android.icu.lang.UCharacter.UnicodeBlock NANDINAGARI;
-    field public static final int NANDINAGARI_ID = 294; // 0x126
-    field public static final android.icu.lang.UCharacter.UnicodeBlock NEWA;
-    field public static final int NEWA_ID = 270; // 0x10e
-    field public static final android.icu.lang.UCharacter.UnicodeBlock NEW_TAI_LUE;
-    field public static final int NEW_TAI_LUE_ID = 139; // 0x8b
-    field public static final android.icu.lang.UCharacter.UnicodeBlock NKO;
-    field public static final int NKO_ID = 146; // 0x92
-    field public static final android.icu.lang.UCharacter.UnicodeBlock NO_BLOCK;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock NUMBER_FORMS;
-    field public static final int NUMBER_FORMS_ID = 45; // 0x2d
-    field public static final android.icu.lang.UCharacter.UnicodeBlock NUSHU;
-    field public static final int NUSHU_ID = 277; // 0x115
-    field public static final android.icu.lang.UCharacter.UnicodeBlock NYIAKENG_PUACHUE_HMONG;
-    field public static final int NYIAKENG_PUACHUE_HMONG_ID = 295; // 0x127
-    field public static final android.icu.lang.UCharacter.UnicodeBlock OGHAM;
-    field public static final int OGHAM_ID = 34; // 0x22
-    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_HUNGARIAN;
-    field public static final int OLD_HUNGARIAN_ID = 260; // 0x104
-    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_ITALIC;
-    field public static final int OLD_ITALIC_ID = 88; // 0x58
-    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_NORTH_ARABIAN;
-    field public static final int OLD_NORTH_ARABIAN_ID = 240; // 0xf0
-    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_PERMIC;
-    field public static final int OLD_PERMIC_ID = 241; // 0xf1
-    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_PERSIAN;
-    field public static final int OLD_PERSIAN_ID = 140; // 0x8c
-    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_SOGDIAN;
-    field public static final int OLD_SOGDIAN_ID = 290; // 0x122
-    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_SOUTH_ARABIAN;
-    field public static final int OLD_SOUTH_ARABIAN_ID = 187; // 0xbb
-    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_TURKIC;
-    field public static final int OLD_TURKIC_ID = 191; // 0xbf
-    field public static final android.icu.lang.UCharacter.UnicodeBlock OL_CHIKI;
-    field public static final int OL_CHIKI_ID = 157; // 0x9d
-    field public static final android.icu.lang.UCharacter.UnicodeBlock OPTICAL_CHARACTER_RECOGNITION;
-    field public static final int OPTICAL_CHARACTER_RECOGNITION_ID = 50; // 0x32
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ORIYA;
-    field public static final int ORIYA_ID = 19; // 0x13
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ORNAMENTAL_DINGBATS;
-    field public static final int ORNAMENTAL_DINGBATS_ID = 242; // 0xf2
-    field public static final android.icu.lang.UCharacter.UnicodeBlock OSAGE;
-    field public static final int OSAGE_ID = 271; // 0x10f
-    field public static final android.icu.lang.UCharacter.UnicodeBlock OSMANYA;
-    field public static final int OSMANYA_ID = 122; // 0x7a
-    field public static final android.icu.lang.UCharacter.UnicodeBlock OTTOMAN_SIYAQ_NUMBERS;
-    field public static final int OTTOMAN_SIYAQ_NUMBERS_ID = 296; // 0x128
-    field public static final android.icu.lang.UCharacter.UnicodeBlock PAHAWH_HMONG;
-    field public static final int PAHAWH_HMONG_ID = 243; // 0xf3
-    field public static final android.icu.lang.UCharacter.UnicodeBlock PALMYRENE;
-    field public static final int PALMYRENE_ID = 244; // 0xf4
-    field public static final android.icu.lang.UCharacter.UnicodeBlock PAU_CIN_HAU;
-    field public static final int PAU_CIN_HAU_ID = 245; // 0xf5
-    field public static final android.icu.lang.UCharacter.UnicodeBlock PHAGS_PA;
-    field public static final int PHAGS_PA_ID = 150; // 0x96
-    field public static final android.icu.lang.UCharacter.UnicodeBlock PHAISTOS_DISC;
-    field public static final int PHAISTOS_DISC_ID = 166; // 0xa6
-    field public static final android.icu.lang.UCharacter.UnicodeBlock PHOENICIAN;
-    field public static final int PHOENICIAN_ID = 151; // 0x97
-    field public static final android.icu.lang.UCharacter.UnicodeBlock PHONETIC_EXTENSIONS;
-    field public static final int PHONETIC_EXTENSIONS_ID = 114; // 0x72
-    field public static final android.icu.lang.UCharacter.UnicodeBlock PHONETIC_EXTENSIONS_SUPPLEMENT;
-    field public static final int PHONETIC_EXTENSIONS_SUPPLEMENT_ID = 141; // 0x8d
-    field public static final android.icu.lang.UCharacter.UnicodeBlock PLAYING_CARDS;
-    field public static final int PLAYING_CARDS_ID = 204; // 0xcc
-    field public static final android.icu.lang.UCharacter.UnicodeBlock PRIVATE_USE;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock PRIVATE_USE_AREA;
-    field public static final int PRIVATE_USE_AREA_ID = 78; // 0x4e
-    field public static final int PRIVATE_USE_ID = 78; // 0x4e
-    field public static final android.icu.lang.UCharacter.UnicodeBlock PSALTER_PAHLAVI;
-    field public static final int PSALTER_PAHLAVI_ID = 246; // 0xf6
-    field public static final android.icu.lang.UCharacter.UnicodeBlock REJANG;
-    field public static final int REJANG_ID = 163; // 0xa3
-    field public static final android.icu.lang.UCharacter.UnicodeBlock RUMI_NUMERAL_SYMBOLS;
-    field public static final int RUMI_NUMERAL_SYMBOLS_ID = 192; // 0xc0
-    field public static final android.icu.lang.UCharacter.UnicodeBlock RUNIC;
-    field public static final int RUNIC_ID = 35; // 0x23
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SAMARITAN;
-    field public static final int SAMARITAN_ID = 172; // 0xac
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SAURASHTRA;
-    field public static final int SAURASHTRA_ID = 161; // 0xa1
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SHARADA;
-    field public static final int SHARADA_ID = 217; // 0xd9
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SHAVIAN;
-    field public static final int SHAVIAN_ID = 121; // 0x79
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SHORTHAND_FORMAT_CONTROLS;
-    field public static final int SHORTHAND_FORMAT_CONTROLS_ID = 247; // 0xf7
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SIDDHAM;
-    field public static final int SIDDHAM_ID = 248; // 0xf8
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SINHALA;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SINHALA_ARCHAIC_NUMBERS;
-    field public static final int SINHALA_ARCHAIC_NUMBERS_ID = 249; // 0xf9
-    field public static final int SINHALA_ID = 24; // 0x18
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SMALL_FORM_VARIANTS;
-    field public static final int SMALL_FORM_VARIANTS_ID = 84; // 0x54
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SMALL_KANA_EXTENSION;
-    field public static final int SMALL_KANA_EXTENSION_ID = 297; // 0x129
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SOGDIAN;
-    field public static final int SOGDIAN_ID = 291; // 0x123
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SORA_SOMPENG;
-    field public static final int SORA_SOMPENG_ID = 218; // 0xda
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SOYOMBO;
-    field public static final int SOYOMBO_ID = 278; // 0x116
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SPACING_MODIFIER_LETTERS;
-    field public static final int SPACING_MODIFIER_LETTERS_ID = 6; // 0x6
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SPECIALS;
-    field public static final int SPECIALS_ID = 86; // 0x56
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SUNDANESE;
-    field public static final int SUNDANESE_ID = 155; // 0x9b
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SUNDANESE_SUPPLEMENT;
-    field public static final int SUNDANESE_SUPPLEMENT_ID = 219; // 0xdb
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPERSCRIPTS_AND_SUBSCRIPTS;
-    field public static final int SUPERSCRIPTS_AND_SUBSCRIPTS_ID = 41; // 0x29
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTAL_ARROWS_A;
-    field public static final int SUPPLEMENTAL_ARROWS_A_ID = 103; // 0x67
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTAL_ARROWS_B;
-    field public static final int SUPPLEMENTAL_ARROWS_B_ID = 104; // 0x68
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTAL_ARROWS_C;
-    field public static final int SUPPLEMENTAL_ARROWS_C_ID = 250; // 0xfa
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTAL_MATHEMATICAL_OPERATORS;
-    field public static final int SUPPLEMENTAL_MATHEMATICAL_OPERATORS_ID = 106; // 0x6a
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTAL_PUNCTUATION;
-    field public static final int SUPPLEMENTAL_PUNCTUATION_ID = 142; // 0x8e
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS;
-    field public static final int SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS_ID = 261; // 0x105
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_A;
-    field public static final int SUPPLEMENTARY_PRIVATE_USE_AREA_A_ID = 109; // 0x6d
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_B;
-    field public static final int SUPPLEMENTARY_PRIVATE_USE_AREA_B_ID = 110; // 0x6e
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SUTTON_SIGNWRITING;
-    field public static final int SUTTON_SIGNWRITING_ID = 262; // 0x106
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SYLOTI_NAGRI;
-    field public static final int SYLOTI_NAGRI_ID = 143; // 0x8f
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A;
-    field public static final int SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A_ID = 298; // 0x12a
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SYMBOLS_FOR_LEGACY_COMPUTING;
-    field public static final int SYMBOLS_FOR_LEGACY_COMPUTING_ID = 306; // 0x132
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SYRIAC;
-    field public static final int SYRIAC_ID = 13; // 0xd
-    field public static final android.icu.lang.UCharacter.UnicodeBlock SYRIAC_SUPPLEMENT;
-    field public static final int SYRIAC_SUPPLEMENT_ID = 279; // 0x117
-    field public static final android.icu.lang.UCharacter.UnicodeBlock TAGALOG;
-    field public static final int TAGALOG_ID = 98; // 0x62
-    field public static final android.icu.lang.UCharacter.UnicodeBlock TAGBANWA;
-    field public static final int TAGBANWA_ID = 101; // 0x65
-    field public static final android.icu.lang.UCharacter.UnicodeBlock TAGS;
-    field public static final int TAGS_ID = 96; // 0x60
-    field public static final android.icu.lang.UCharacter.UnicodeBlock TAI_LE;
-    field public static final int TAI_LE_ID = 112; // 0x70
-    field public static final android.icu.lang.UCharacter.UnicodeBlock TAI_THAM;
-    field public static final int TAI_THAM_ID = 174; // 0xae
-    field public static final android.icu.lang.UCharacter.UnicodeBlock TAI_VIET;
-    field public static final int TAI_VIET_ID = 183; // 0xb7
-    field public static final android.icu.lang.UCharacter.UnicodeBlock TAI_XUAN_JING_SYMBOLS;
-    field public static final int TAI_XUAN_JING_SYMBOLS_ID = 124; // 0x7c
-    field public static final android.icu.lang.UCharacter.UnicodeBlock TAKRI;
-    field public static final int TAKRI_ID = 220; // 0xdc
-    field public static final android.icu.lang.UCharacter.UnicodeBlock TAMIL;
-    field public static final int TAMIL_ID = 20; // 0x14
-    field public static final android.icu.lang.UCharacter.UnicodeBlock TAMIL_SUPPLEMENT;
-    field public static final int TAMIL_SUPPLEMENT_ID = 299; // 0x12b
-    field public static final android.icu.lang.UCharacter.UnicodeBlock TANGUT;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock TANGUT_COMPONENTS;
-    field public static final int TANGUT_COMPONENTS_ID = 273; // 0x111
-    field public static final int TANGUT_ID = 272; // 0x110
-    field public static final android.icu.lang.UCharacter.UnicodeBlock TANGUT_SUPPLEMENT;
-    field public static final int TANGUT_SUPPLEMENT_ID = 307; // 0x133
-    field public static final android.icu.lang.UCharacter.UnicodeBlock TELUGU;
-    field public static final int TELUGU_ID = 21; // 0x15
-    field public static final android.icu.lang.UCharacter.UnicodeBlock THAANA;
-    field public static final int THAANA_ID = 14; // 0xe
-    field public static final android.icu.lang.UCharacter.UnicodeBlock THAI;
-    field public static final int THAI_ID = 25; // 0x19
-    field public static final android.icu.lang.UCharacter.UnicodeBlock TIBETAN;
-    field public static final int TIBETAN_ID = 27; // 0x1b
-    field public static final android.icu.lang.UCharacter.UnicodeBlock TIFINAGH;
-    field public static final int TIFINAGH_ID = 144; // 0x90
-    field public static final android.icu.lang.UCharacter.UnicodeBlock TIRHUTA;
-    field public static final int TIRHUTA_ID = 251; // 0xfb
-    field public static final android.icu.lang.UCharacter.UnicodeBlock TRANSPORT_AND_MAP_SYMBOLS;
-    field public static final int TRANSPORT_AND_MAP_SYMBOLS_ID = 207; // 0xcf
-    field public static final android.icu.lang.UCharacter.UnicodeBlock UGARITIC;
-    field public static final int UGARITIC_ID = 120; // 0x78
-    field public static final android.icu.lang.UCharacter.UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS;
-    field public static final android.icu.lang.UCharacter.UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED;
-    field public static final int UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_ID = 173; // 0xad
-    field public static final int UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_ID = 33; // 0x21
-    field public static final android.icu.lang.UCharacter.UnicodeBlock VAI;
-    field public static final int VAI_ID = 159; // 0x9f
-    field public static final android.icu.lang.UCharacter.UnicodeBlock VARIATION_SELECTORS;
-    field public static final int VARIATION_SELECTORS_ID = 108; // 0x6c
-    field public static final android.icu.lang.UCharacter.UnicodeBlock VARIATION_SELECTORS_SUPPLEMENT;
-    field public static final int VARIATION_SELECTORS_SUPPLEMENT_ID = 125; // 0x7d
-    field public static final android.icu.lang.UCharacter.UnicodeBlock VEDIC_EXTENSIONS;
-    field public static final int VEDIC_EXTENSIONS_ID = 175; // 0xaf
-    field public static final android.icu.lang.UCharacter.UnicodeBlock VERTICAL_FORMS;
-    field public static final int VERTICAL_FORMS_ID = 145; // 0x91
-    field public static final android.icu.lang.UCharacter.UnicodeBlock WANCHO;
-    field public static final int WANCHO_ID = 300; // 0x12c
-    field public static final android.icu.lang.UCharacter.UnicodeBlock WARANG_CITI;
-    field public static final int WARANG_CITI_ID = 252; // 0xfc
-    field public static final android.icu.lang.UCharacter.UnicodeBlock YEZIDI;
-    field public static final int YEZIDI_ID = 308; // 0x134
-    field public static final android.icu.lang.UCharacter.UnicodeBlock YIJING_HEXAGRAM_SYMBOLS;
-    field public static final int YIJING_HEXAGRAM_SYMBOLS_ID = 116; // 0x74
-    field public static final android.icu.lang.UCharacter.UnicodeBlock YI_RADICALS;
-    field public static final int YI_RADICALS_ID = 73; // 0x49
-    field public static final android.icu.lang.UCharacter.UnicodeBlock YI_SYLLABLES;
-    field public static final int YI_SYLLABLES_ID = 72; // 0x48
-    field public static final android.icu.lang.UCharacter.UnicodeBlock ZANABAZAR_SQUARE;
-    field public static final int ZANABAZAR_SQUARE_ID = 280; // 0x118
-  }
-
-  public static interface UCharacter.VerticalOrientation {
-    field public static final int ROTATED = 0; // 0x0
-    field public static final int TRANSFORMED_ROTATED = 1; // 0x1
-    field public static final int TRANSFORMED_UPRIGHT = 2; // 0x2
-    field public static final int UPRIGHT = 3; // 0x3
-  }
-
-  public static interface UCharacter.WordBreak {
-    field public static final int ALETTER = 1; // 0x1
-    field public static final int CR = 8; // 0x8
-    field public static final int DOUBLE_QUOTE = 16; // 0x10
-    field public static final int EXTEND = 9; // 0x9
-    field public static final int EXTENDNUMLET = 7; // 0x7
-    field public static final int E_BASE = 17; // 0x11
-    field public static final int E_BASE_GAZ = 18; // 0x12
-    field public static final int E_MODIFIER = 19; // 0x13
-    field public static final int FORMAT = 2; // 0x2
-    field public static final int GLUE_AFTER_ZWJ = 20; // 0x14
-    field public static final int HEBREW_LETTER = 14; // 0xe
-    field public static final int KATAKANA = 3; // 0x3
-    field public static final int LF = 10; // 0xa
-    field public static final int MIDLETTER = 4; // 0x4
-    field public static final int MIDNUM = 5; // 0x5
-    field public static final int MIDNUMLET = 11; // 0xb
-    field public static final int NEWLINE = 12; // 0xc
-    field public static final int NUMERIC = 6; // 0x6
-    field public static final int OTHER = 0; // 0x0
-    field public static final int REGIONAL_INDICATOR = 13; // 0xd
-    field public static final int SINGLE_QUOTE = 15; // 0xf
-    field public static final int WSEGSPACE = 22; // 0x16
-    field public static final int ZWJ = 21; // 0x15
-  }
-
-  public final class UCharacterCategory implements android.icu.lang.UCharacterEnums.ECharacterCategory {
-    method public static String toString(int);
-  }
-
-  public final class UCharacterDirection implements android.icu.lang.UCharacterEnums.ECharacterDirection {
-    method public static String toString(int);
-  }
-
-  public class UCharacterEnums {
-  }
-
-  public static interface UCharacterEnums.ECharacterCategory {
-    field public static final byte COMBINING_SPACING_MARK = 8; // 0x8
-    field public static final byte CONNECTOR_PUNCTUATION = 22; // 0x16
-    field public static final byte CONTROL = 15; // 0xf
-    field public static final byte CURRENCY_SYMBOL = 25; // 0x19
-    field public static final byte DASH_PUNCTUATION = 19; // 0x13
-    field public static final byte DECIMAL_DIGIT_NUMBER = 9; // 0x9
-    field public static final byte ENCLOSING_MARK = 7; // 0x7
-    field public static final byte END_PUNCTUATION = 21; // 0x15
-    field public static final byte FINAL_PUNCTUATION = 29; // 0x1d
-    field public static final byte FINAL_QUOTE_PUNCTUATION = 29; // 0x1d
-    field public static final byte FORMAT = 16; // 0x10
-    field public static final byte GENERAL_OTHER_TYPES = 0; // 0x0
-    field public static final byte INITIAL_PUNCTUATION = 28; // 0x1c
-    field public static final byte INITIAL_QUOTE_PUNCTUATION = 28; // 0x1c
-    field public static final byte LETTER_NUMBER = 10; // 0xa
-    field public static final byte LINE_SEPARATOR = 13; // 0xd
-    field public static final byte LOWERCASE_LETTER = 2; // 0x2
-    field public static final byte MATH_SYMBOL = 24; // 0x18
-    field public static final byte MODIFIER_LETTER = 4; // 0x4
-    field public static final byte MODIFIER_SYMBOL = 26; // 0x1a
-    field public static final byte NON_SPACING_MARK = 6; // 0x6
-    field public static final byte OTHER_LETTER = 5; // 0x5
-    field public static final byte OTHER_NUMBER = 11; // 0xb
-    field public static final byte OTHER_PUNCTUATION = 23; // 0x17
-    field public static final byte OTHER_SYMBOL = 27; // 0x1b
-    field public static final byte PARAGRAPH_SEPARATOR = 14; // 0xe
-    field public static final byte PRIVATE_USE = 17; // 0x11
-    field public static final byte SPACE_SEPARATOR = 12; // 0xc
-    field public static final byte START_PUNCTUATION = 20; // 0x14
-    field public static final byte SURROGATE = 18; // 0x12
-    field public static final byte TITLECASE_LETTER = 3; // 0x3
-    field public static final byte UNASSIGNED = 0; // 0x0
-    field public static final byte UPPERCASE_LETTER = 1; // 0x1
-  }
-
-  public static interface UCharacterEnums.ECharacterDirection {
-    field public static final int ARABIC_NUMBER = 5; // 0x5
-    field public static final int BLOCK_SEPARATOR = 7; // 0x7
-    field public static final int BOUNDARY_NEUTRAL = 18; // 0x12
-    field public static final int COMMON_NUMBER_SEPARATOR = 6; // 0x6
-    field public static final byte DIRECTIONALITY_ARABIC_NUMBER = 5; // 0x5
-    field public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL = 18; // 0x12
-    field public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = 6; // 0x6
-    field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER = 2; // 0x2
-    field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = 3; // 0x3
-    field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = 4; // 0x4
-    field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT = 0; // 0x0
-    field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = 11; // 0xb
-    field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = 12; // 0xc
-    field public static final byte DIRECTIONALITY_NONSPACING_MARK = 17; // 0x11
-    field public static final byte DIRECTIONALITY_OTHER_NEUTRALS = 10; // 0xa
-    field public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR = 7; // 0x7
-    field public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 16; // 0x10
-    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT = 1; // 0x1
-    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = 13; // 0xd
-    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 14; // 0xe
-    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 15; // 0xf
-    field public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR = 8; // 0x8
-    field public static final byte DIRECTIONALITY_UNDEFINED = -1; // 0xffffffff
-    field public static final byte DIRECTIONALITY_WHITESPACE = 9; // 0x9
-    field public static final int DIR_NON_SPACING_MARK = 17; // 0x11
-    field public static final int EUROPEAN_NUMBER = 2; // 0x2
-    field public static final int EUROPEAN_NUMBER_SEPARATOR = 3; // 0x3
-    field public static final int EUROPEAN_NUMBER_TERMINATOR = 4; // 0x4
-    field public static final byte FIRST_STRONG_ISOLATE = 19; // 0x13
-    field public static final int LEFT_TO_RIGHT = 0; // 0x0
-    field public static final int LEFT_TO_RIGHT_EMBEDDING = 11; // 0xb
-    field public static final byte LEFT_TO_RIGHT_ISOLATE = 20; // 0x14
-    field public static final int LEFT_TO_RIGHT_OVERRIDE = 12; // 0xc
-    field public static final int OTHER_NEUTRAL = 10; // 0xa
-    field public static final int POP_DIRECTIONAL_FORMAT = 16; // 0x10
-    field public static final byte POP_DIRECTIONAL_ISOLATE = 22; // 0x16
-    field public static final int RIGHT_TO_LEFT = 1; // 0x1
-    field public static final int RIGHT_TO_LEFT_ARABIC = 13; // 0xd
-    field public static final int RIGHT_TO_LEFT_EMBEDDING = 14; // 0xe
-    field public static final byte RIGHT_TO_LEFT_ISOLATE = 21; // 0x15
-    field public static final int RIGHT_TO_LEFT_OVERRIDE = 15; // 0xf
-    field public static final int SEGMENT_SEPARATOR = 8; // 0x8
-    field public static final int WHITE_SPACE_NEUTRAL = 9; // 0x9
-  }
-
-  public interface UProperty {
-    field public static final int AGE = 16384; // 0x4000
-    field public static final int ALPHABETIC = 0; // 0x0
-    field public static final int ASCII_HEX_DIGIT = 1; // 0x1
-    field public static final int BIDI_CLASS = 4096; // 0x1000
-    field public static final int BIDI_CONTROL = 2; // 0x2
-    field public static final int BIDI_MIRRORED = 3; // 0x3
-    field public static final int BIDI_MIRRORING_GLYPH = 16385; // 0x4001
-    field public static final int BIDI_PAIRED_BRACKET = 16397; // 0x400d
-    field public static final int BIDI_PAIRED_BRACKET_TYPE = 4117; // 0x1015
-    field public static final int BINARY_START = 0; // 0x0
-    field public static final int BLOCK = 4097; // 0x1001
-    field public static final int CANONICAL_COMBINING_CLASS = 4098; // 0x1002
-    field public static final int CASED = 49; // 0x31
-    field public static final int CASE_FOLDING = 16386; // 0x4002
-    field public static final int CASE_IGNORABLE = 50; // 0x32
-    field public static final int CASE_SENSITIVE = 34; // 0x22
-    field public static final int CHANGES_WHEN_CASEFOLDED = 54; // 0x36
-    field public static final int CHANGES_WHEN_CASEMAPPED = 55; // 0x37
-    field public static final int CHANGES_WHEN_LOWERCASED = 51; // 0x33
-    field public static final int CHANGES_WHEN_NFKC_CASEFOLDED = 56; // 0x38
-    field public static final int CHANGES_WHEN_TITLECASED = 53; // 0x35
-    field public static final int CHANGES_WHEN_UPPERCASED = 52; // 0x34
-    field public static final int DASH = 4; // 0x4
-    field public static final int DECOMPOSITION_TYPE = 4099; // 0x1003
-    field public static final int DEFAULT_IGNORABLE_CODE_POINT = 5; // 0x5
-    field public static final int DEPRECATED = 6; // 0x6
-    field public static final int DIACRITIC = 7; // 0x7
-    field public static final int DOUBLE_START = 12288; // 0x3000
-    field public static final int EAST_ASIAN_WIDTH = 4100; // 0x1004
-    field public static final int EMOJI = 57; // 0x39
-    field public static final int EMOJI_COMPONENT = 61; // 0x3d
-    field public static final int EMOJI_MODIFIER = 59; // 0x3b
-    field public static final int EMOJI_MODIFIER_BASE = 60; // 0x3c
-    field public static final int EMOJI_PRESENTATION = 58; // 0x3a
-    field public static final int EXTENDED_PICTOGRAPHIC = 64; // 0x40
-    field public static final int EXTENDER = 8; // 0x8
-    field public static final int FULL_COMPOSITION_EXCLUSION = 9; // 0x9
-    field public static final int GENERAL_CATEGORY = 4101; // 0x1005
-    field public static final int GENERAL_CATEGORY_MASK = 8192; // 0x2000
-    field public static final int GRAPHEME_BASE = 10; // 0xa
-    field public static final int GRAPHEME_CLUSTER_BREAK = 4114; // 0x1012
-    field public static final int GRAPHEME_EXTEND = 11; // 0xb
-    field public static final int GRAPHEME_LINK = 12; // 0xc
-    field public static final int HANGUL_SYLLABLE_TYPE = 4107; // 0x100b
-    field public static final int HEX_DIGIT = 13; // 0xd
-    field public static final int HYPHEN = 14; // 0xe
-    field public static final int IDEOGRAPHIC = 17; // 0x11
-    field public static final int IDS_BINARY_OPERATOR = 18; // 0x12
-    field public static final int IDS_TRINARY_OPERATOR = 19; // 0x13
-    field public static final int ID_CONTINUE = 15; // 0xf
-    field public static final int ID_START = 16; // 0x10
-    field public static final int INDIC_POSITIONAL_CATEGORY = 4118; // 0x1016
-    field public static final int INDIC_SYLLABIC_CATEGORY = 4119; // 0x1017
-    field public static final int INT_START = 4096; // 0x1000
-    field public static final int JOINING_GROUP = 4102; // 0x1006
-    field public static final int JOINING_TYPE = 4103; // 0x1007
-    field public static final int JOIN_CONTROL = 20; // 0x14
-    field public static final int LEAD_CANONICAL_COMBINING_CLASS = 4112; // 0x1010
-    field public static final int LINE_BREAK = 4104; // 0x1008
-    field public static final int LOGICAL_ORDER_EXCEPTION = 21; // 0x15
-    field public static final int LOWERCASE = 22; // 0x16
-    field public static final int LOWERCASE_MAPPING = 16388; // 0x4004
-    field public static final int MASK_START = 8192; // 0x2000
-    field public static final int MATH = 23; // 0x17
-    field public static final int NAME = 16389; // 0x4005
-    field public static final int NFC_INERT = 39; // 0x27
-    field public static final int NFC_QUICK_CHECK = 4110; // 0x100e
-    field public static final int NFD_INERT = 37; // 0x25
-    field public static final int NFD_QUICK_CHECK = 4108; // 0x100c
-    field public static final int NFKC_INERT = 40; // 0x28
-    field public static final int NFKC_QUICK_CHECK = 4111; // 0x100f
-    field public static final int NFKD_INERT = 38; // 0x26
-    field public static final int NFKD_QUICK_CHECK = 4109; // 0x100d
-    field public static final int NONCHARACTER_CODE_POINT = 24; // 0x18
-    field public static final int NUMERIC_TYPE = 4105; // 0x1009
-    field public static final int NUMERIC_VALUE = 12288; // 0x3000
-    field public static final int OTHER_PROPERTY_START = 28672; // 0x7000
-    field public static final int PATTERN_SYNTAX = 42; // 0x2a
-    field public static final int PATTERN_WHITE_SPACE = 43; // 0x2b
-    field public static final int POSIX_ALNUM = 44; // 0x2c
-    field public static final int POSIX_BLANK = 45; // 0x2d
-    field public static final int POSIX_GRAPH = 46; // 0x2e
-    field public static final int POSIX_PRINT = 47; // 0x2f
-    field public static final int POSIX_XDIGIT = 48; // 0x30
-    field public static final int PREPENDED_CONCATENATION_MARK = 63; // 0x3f
-    field public static final int QUOTATION_MARK = 25; // 0x19
-    field public static final int RADICAL = 26; // 0x1a
-    field public static final int REGIONAL_INDICATOR = 62; // 0x3e
-    field public static final int SCRIPT = 4106; // 0x100a
-    field public static final int SCRIPT_EXTENSIONS = 28672; // 0x7000
-    field public static final int SEGMENT_STARTER = 41; // 0x29
-    field public static final int SENTENCE_BREAK = 4115; // 0x1013
-    field public static final int SIMPLE_CASE_FOLDING = 16390; // 0x4006
-    field public static final int SIMPLE_LOWERCASE_MAPPING = 16391; // 0x4007
-    field public static final int SIMPLE_TITLECASE_MAPPING = 16392; // 0x4008
-    field public static final int SIMPLE_UPPERCASE_MAPPING = 16393; // 0x4009
-    field public static final int SOFT_DOTTED = 27; // 0x1b
-    field public static final int STRING_START = 16384; // 0x4000
-    field public static final int S_TERM = 35; // 0x23
-    field public static final int TERMINAL_PUNCTUATION = 28; // 0x1c
-    field public static final int TITLECASE_MAPPING = 16394; // 0x400a
-    field public static final int TRAIL_CANONICAL_COMBINING_CLASS = 4113; // 0x1011
-    field public static final int UNIFIED_IDEOGRAPH = 29; // 0x1d
-    field public static final int UPPERCASE = 30; // 0x1e
-    field public static final int UPPERCASE_MAPPING = 16396; // 0x400c
-    field public static final int VARIATION_SELECTOR = 36; // 0x24
-    field public static final int VERTICAL_ORIENTATION = 4120; // 0x1018
-    field public static final int WHITE_SPACE = 31; // 0x1f
-    field public static final int WORD_BREAK = 4116; // 0x1014
-    field public static final int XID_CONTINUE = 32; // 0x20
-    field public static final int XID_START = 33; // 0x21
-  }
-
-  public static interface UProperty.NameChoice {
-    field public static final int LONG = 1; // 0x1
-    field public static final int SHORT = 0; // 0x0
-  }
-
-  public final class UScript {
-    method public static boolean breaksBetweenLetters(int);
-    method public static int[] getCode(java.util.Locale);
-    method public static int[] getCode(android.icu.util.ULocale);
-    method public static int[] getCode(String);
-    method public static int getCodeFromName(String);
-    method public static String getName(int);
-    method public static String getSampleString(int);
-    method public static int getScript(int);
-    method public static int getScriptExtensions(int, java.util.BitSet);
-    method public static String getShortName(int);
-    method public static android.icu.lang.UScript.ScriptUsage getUsage(int);
-    method public static boolean hasScript(int, int);
-    method public static boolean isCased(int);
-    method public static boolean isRightToLeft(int);
-    field public static final int ADLAM = 167; // 0xa7
-    field public static final int AFAKA = 147; // 0x93
-    field public static final int AHOM = 161; // 0xa1
-    field public static final int ANATOLIAN_HIEROGLYPHS = 156; // 0x9c
-    field public static final int ARABIC = 2; // 0x2
-    field public static final int ARMENIAN = 3; // 0x3
-    field public static final int AVESTAN = 117; // 0x75
-    field public static final int BALINESE = 62; // 0x3e
-    field public static final int BAMUM = 130; // 0x82
-    field public static final int BASSA_VAH = 134; // 0x86
-    field public static final int BATAK = 63; // 0x3f
-    field public static final int BENGALI = 4; // 0x4
-    field public static final int BHAIKSUKI = 168; // 0xa8
-    field public static final int BLISSYMBOLS = 64; // 0x40
-    field public static final int BOOK_PAHLAVI = 124; // 0x7c
-    field public static final int BOPOMOFO = 5; // 0x5
-    field public static final int BRAHMI = 65; // 0x41
-    field public static final int BRAILLE = 46; // 0x2e
-    field public static final int BUGINESE = 55; // 0x37
-    field public static final int BUHID = 44; // 0x2c
-    field public static final int CANADIAN_ABORIGINAL = 40; // 0x28
-    field public static final int CARIAN = 104; // 0x68
-    field public static final int CAUCASIAN_ALBANIAN = 159; // 0x9f
-    field public static final int CHAKMA = 118; // 0x76
-    field public static final int CHAM = 66; // 0x42
-    field public static final int CHEROKEE = 6; // 0x6
-    field public static final int CHORASMIAN = 189; // 0xbd
-    field public static final int CIRTH = 67; // 0x43
-    field public static final int COMMON = 0; // 0x0
-    field public static final int COPTIC = 7; // 0x7
-    field public static final int CUNEIFORM = 101; // 0x65
-    field public static final int CYPRIOT = 47; // 0x2f
-    field public static final int CYRILLIC = 8; // 0x8
-    field public static final int DEMOTIC_EGYPTIAN = 69; // 0x45
-    field public static final int DESERET = 9; // 0x9
-    field public static final int DEVANAGARI = 10; // 0xa
-    field public static final int DIVES_AKURU = 190; // 0xbe
-    field public static final int DOGRA = 178; // 0xb2
-    field public static final int DUPLOYAN = 135; // 0x87
-    field public static final int EASTERN_SYRIAC = 97; // 0x61
-    field public static final int EGYPTIAN_HIEROGLYPHS = 71; // 0x47
-    field public static final int ELBASAN = 136; // 0x88
-    field public static final int ELYMAIC = 185; // 0xb9
-    field public static final int ESTRANGELO_SYRIAC = 95; // 0x5f
-    field public static final int ETHIOPIC = 11; // 0xb
-    field public static final int GEORGIAN = 12; // 0xc
-    field public static final int GLAGOLITIC = 56; // 0x38
-    field public static final int GOTHIC = 13; // 0xd
-    field public static final int GRANTHA = 137; // 0x89
-    field public static final int GREEK = 14; // 0xe
-    field public static final int GUJARATI = 15; // 0xf
-    field public static final int GUNJALA_GONDI = 179; // 0xb3
-    field public static final int GURMUKHI = 16; // 0x10
-    field public static final int HAN = 17; // 0x11
-    field public static final int HANGUL = 18; // 0x12
-    field public static final int HANIFI_ROHINGYA = 182; // 0xb6
-    field public static final int HANUNOO = 43; // 0x2b
-    field public static final int HAN_WITH_BOPOMOFO = 172; // 0xac
-    field public static final int HARAPPAN_INDUS = 77; // 0x4d
-    field public static final int HATRAN = 162; // 0xa2
-    field public static final int HEBREW = 19; // 0x13
-    field public static final int HIERATIC_EGYPTIAN = 70; // 0x46
-    field public static final int HIRAGANA = 20; // 0x14
-    field public static final int IMPERIAL_ARAMAIC = 116; // 0x74
-    field public static final int INHERITED = 1; // 0x1
-    field public static final int INSCRIPTIONAL_PAHLAVI = 122; // 0x7a
-    field public static final int INSCRIPTIONAL_PARTHIAN = 125; // 0x7d
-    field public static final int INVALID_CODE = -1; // 0xffffffff
-    field public static final int JAMO = 173; // 0xad
-    field public static final int JAPANESE = 105; // 0x69
-    field public static final int JAVANESE = 78; // 0x4e
-    field public static final int JURCHEN = 148; // 0x94
-    field public static final int KAITHI = 120; // 0x78
-    field public static final int KANNADA = 21; // 0x15
-    field public static final int KATAKANA = 22; // 0x16
-    field public static final int KATAKANA_OR_HIRAGANA = 54; // 0x36
-    field public static final int KAYAH_LI = 79; // 0x4f
-    field public static final int KHAROSHTHI = 57; // 0x39
-    field public static final int KHITAN_SMALL_SCRIPT = 191; // 0xbf
-    field public static final int KHMER = 23; // 0x17
-    field public static final int KHOJKI = 157; // 0x9d
-    field public static final int KHUDAWADI = 145; // 0x91
-    field public static final int KHUTSURI = 72; // 0x48
-    field public static final int KOREAN = 119; // 0x77
-    field public static final int KPELLE = 138; // 0x8a
-    field public static final int LANNA = 106; // 0x6a
-    field public static final int LAO = 24; // 0x18
-    field public static final int LATIN = 25; // 0x19
-    field public static final int LATIN_FRAKTUR = 80; // 0x50
-    field public static final int LATIN_GAELIC = 81; // 0x51
-    field public static final int LEPCHA = 82; // 0x52
-    field public static final int LIMBU = 48; // 0x30
-    field public static final int LINEAR_A = 83; // 0x53
-    field public static final int LINEAR_B = 49; // 0x31
-    field public static final int LISU = 131; // 0x83
-    field public static final int LOMA = 139; // 0x8b
-    field public static final int LYCIAN = 107; // 0x6b
-    field public static final int LYDIAN = 108; // 0x6c
-    field public static final int MAHAJANI = 160; // 0xa0
-    field public static final int MAKASAR = 180; // 0xb4
-    field public static final int MALAYALAM = 26; // 0x1a
-    field public static final int MANDAEAN = 84; // 0x54
-    field public static final int MANDAIC = 84; // 0x54
-    field public static final int MANICHAEAN = 121; // 0x79
-    field public static final int MARCHEN = 169; // 0xa9
-    field public static final int MASARAM_GONDI = 175; // 0xaf
-    field public static final int MATHEMATICAL_NOTATION = 128; // 0x80
-    field public static final int MAYAN_HIEROGLYPHS = 85; // 0x55
-    field public static final int MEDEFAIDRIN = 181; // 0xb5
-    field public static final int MEITEI_MAYEK = 115; // 0x73
-    field public static final int MENDE = 140; // 0x8c
-    field public static final int MEROITIC = 86; // 0x56
-    field public static final int MEROITIC_CURSIVE = 141; // 0x8d
-    field public static final int MEROITIC_HIEROGLYPHS = 86; // 0x56
-    field public static final int MIAO = 92; // 0x5c
-    field public static final int MODI = 163; // 0xa3
-    field public static final int MONGOLIAN = 27; // 0x1b
-    field public static final int MOON = 114; // 0x72
-    field public static final int MRO = 149; // 0x95
-    field public static final int MULTANI = 164; // 0xa4
-    field public static final int MYANMAR = 28; // 0x1c
-    field public static final int NABATAEAN = 143; // 0x8f
-    field public static final int NAKHI_GEBA = 132; // 0x84
-    field public static final int NANDINAGARI = 187; // 0xbb
-    field public static final int NEWA = 170; // 0xaa
-    field public static final int NEW_TAI_LUE = 59; // 0x3b
-    field public static final int NKO = 87; // 0x57
-    field public static final int NUSHU = 150; // 0x96
-    field public static final int NYIAKENG_PUACHUE_HMONG = 186; // 0xba
-    field public static final int OGHAM = 29; // 0x1d
-    field public static final int OLD_CHURCH_SLAVONIC_CYRILLIC = 68; // 0x44
-    field public static final int OLD_HUNGARIAN = 76; // 0x4c
-    field public static final int OLD_ITALIC = 30; // 0x1e
-    field public static final int OLD_NORTH_ARABIAN = 142; // 0x8e
-    field public static final int OLD_PERMIC = 89; // 0x59
-    field public static final int OLD_PERSIAN = 61; // 0x3d
-    field public static final int OLD_SOGDIAN = 184; // 0xb8
-    field public static final int OLD_SOUTH_ARABIAN = 133; // 0x85
-    field public static final int OL_CHIKI = 109; // 0x6d
-    field public static final int ORIYA = 31; // 0x1f
-    field public static final int ORKHON = 88; // 0x58
-    field public static final int OSAGE = 171; // 0xab
-    field public static final int OSMANYA = 50; // 0x32
-    field public static final int PAHAWH_HMONG = 75; // 0x4b
-    field public static final int PALMYRENE = 144; // 0x90
-    field public static final int PAU_CIN_HAU = 165; // 0xa5
-    field public static final int PHAGS_PA = 90; // 0x5a
-    field public static final int PHOENICIAN = 91; // 0x5b
-    field public static final int PHONETIC_POLLARD = 92; // 0x5c
-    field public static final int PSALTER_PAHLAVI = 123; // 0x7b
-    field public static final int REJANG = 110; // 0x6e
-    field public static final int RONGORONGO = 93; // 0x5d
-    field public static final int RUNIC = 32; // 0x20
-    field public static final int SAMARITAN = 126; // 0x7e
-    field public static final int SARATI = 94; // 0x5e
-    field public static final int SAURASHTRA = 111; // 0x6f
-    field public static final int SHARADA = 151; // 0x97
-    field public static final int SHAVIAN = 51; // 0x33
-    field public static final int SIDDHAM = 166; // 0xa6
-    field public static final int SIGN_WRITING = 112; // 0x70
-    field public static final int SIMPLIFIED_HAN = 73; // 0x49
-    field public static final int SINDHI = 145; // 0x91
-    field public static final int SINHALA = 33; // 0x21
-    field public static final int SOGDIAN = 183; // 0xb7
-    field public static final int SORA_SOMPENG = 152; // 0x98
-    field public static final int SOYOMBO = 176; // 0xb0
-    field public static final int SUNDANESE = 113; // 0x71
-    field public static final int SYLOTI_NAGRI = 58; // 0x3a
-    field public static final int SYMBOLS = 129; // 0x81
-    field public static final int SYMBOLS_EMOJI = 174; // 0xae
-    field public static final int SYRIAC = 34; // 0x22
-    field public static final int TAGALOG = 42; // 0x2a
-    field public static final int TAGBANWA = 45; // 0x2d
-    field public static final int TAI_LE = 52; // 0x34
-    field public static final int TAI_VIET = 127; // 0x7f
-    field public static final int TAKRI = 153; // 0x99
-    field public static final int TAMIL = 35; // 0x23
-    field public static final int TANGUT = 154; // 0x9a
-    field public static final int TELUGU = 36; // 0x24
-    field public static final int TENGWAR = 98; // 0x62
-    field public static final int THAANA = 37; // 0x25
-    field public static final int THAI = 38; // 0x26
-    field public static final int TIBETAN = 39; // 0x27
-    field public static final int TIFINAGH = 60; // 0x3c
-    field public static final int TIRHUTA = 158; // 0x9e
-    field public static final int TRADITIONAL_HAN = 74; // 0x4a
-    field public static final int UCAS = 40; // 0x28
-    field public static final int UGARITIC = 53; // 0x35
-    field public static final int UNKNOWN = 103; // 0x67
-    field public static final int UNWRITTEN_LANGUAGES = 102; // 0x66
-    field public static final int VAI = 99; // 0x63
-    field public static final int VISIBLE_SPEECH = 100; // 0x64
-    field public static final int WANCHO = 188; // 0xbc
-    field public static final int WARANG_CITI = 146; // 0x92
-    field public static final int WESTERN_SYRIAC = 96; // 0x60
-    field public static final int WOLEAI = 155; // 0x9b
-    field public static final int YEZIDI = 192; // 0xc0
-    field public static final int YI = 41; // 0x29
-    field public static final int ZANABAZAR_SQUARE = 177; // 0xb1
-  }
-
-  public enum UScript.ScriptUsage {
-    enum_constant public static final android.icu.lang.UScript.ScriptUsage ASPIRATIONAL;
-    enum_constant public static final android.icu.lang.UScript.ScriptUsage EXCLUDED;
-    enum_constant public static final android.icu.lang.UScript.ScriptUsage LIMITED_USE;
-    enum_constant public static final android.icu.lang.UScript.ScriptUsage NOT_ENCODED;
-    enum_constant public static final android.icu.lang.UScript.ScriptUsage RECOMMENDED;
-    enum_constant public static final android.icu.lang.UScript.ScriptUsage UNKNOWN;
-  }
-
-}
-
-package android.icu.math {
-
-  public class BigDecimal extends java.lang.Number implements java.lang.Comparable<android.icu.math.BigDecimal> java.io.Serializable {
-    ctor public BigDecimal(java.math.BigDecimal);
-    ctor public BigDecimal(java.math.BigInteger);
-    ctor public BigDecimal(java.math.BigInteger, int);
-    ctor public BigDecimal(char[]);
-    ctor public BigDecimal(char[], int, int);
-    ctor public BigDecimal(double);
-    ctor public BigDecimal(int);
-    ctor public BigDecimal(long);
-    ctor public BigDecimal(String);
-    method public android.icu.math.BigDecimal abs();
-    method public android.icu.math.BigDecimal abs(android.icu.math.MathContext);
-    method public android.icu.math.BigDecimal add(android.icu.math.BigDecimal);
-    method public android.icu.math.BigDecimal add(android.icu.math.BigDecimal, android.icu.math.MathContext);
-    method public byte byteValueExact();
-    method public int compareTo(android.icu.math.BigDecimal);
-    method public int compareTo(android.icu.math.BigDecimal, android.icu.math.MathContext);
-    method public android.icu.math.BigDecimal divide(android.icu.math.BigDecimal);
-    method public android.icu.math.BigDecimal divide(android.icu.math.BigDecimal, int);
-    method public android.icu.math.BigDecimal divide(android.icu.math.BigDecimal, int, int);
-    method public android.icu.math.BigDecimal divide(android.icu.math.BigDecimal, android.icu.math.MathContext);
-    method public android.icu.math.BigDecimal divideInteger(android.icu.math.BigDecimal);
-    method public android.icu.math.BigDecimal divideInteger(android.icu.math.BigDecimal, android.icu.math.MathContext);
-    method public double doubleValue();
-    method public float floatValue();
-    method public String format(int, int);
-    method public String format(int, int, int, int, int, int);
-    method public int intValue();
-    method public int intValueExact();
-    method public long longValue();
-    method public long longValueExact();
-    method public android.icu.math.BigDecimal max(android.icu.math.BigDecimal);
-    method public android.icu.math.BigDecimal max(android.icu.math.BigDecimal, android.icu.math.MathContext);
-    method public android.icu.math.BigDecimal min(android.icu.math.BigDecimal);
-    method public android.icu.math.BigDecimal min(android.icu.math.BigDecimal, android.icu.math.MathContext);
-    method public android.icu.math.BigDecimal movePointLeft(int);
-    method public android.icu.math.BigDecimal movePointRight(int);
-    method public android.icu.math.BigDecimal multiply(android.icu.math.BigDecimal);
-    method public android.icu.math.BigDecimal multiply(android.icu.math.BigDecimal, android.icu.math.MathContext);
-    method public android.icu.math.BigDecimal negate();
-    method public android.icu.math.BigDecimal negate(android.icu.math.MathContext);
-    method public android.icu.math.BigDecimal plus();
-    method public android.icu.math.BigDecimal plus(android.icu.math.MathContext);
-    method public android.icu.math.BigDecimal pow(android.icu.math.BigDecimal);
-    method public android.icu.math.BigDecimal pow(android.icu.math.BigDecimal, android.icu.math.MathContext);
-    method public android.icu.math.BigDecimal remainder(android.icu.math.BigDecimal);
-    method public android.icu.math.BigDecimal remainder(android.icu.math.BigDecimal, android.icu.math.MathContext);
-    method public int scale();
-    method public android.icu.math.BigDecimal setScale(int);
-    method public android.icu.math.BigDecimal setScale(int, int);
-    method public short shortValueExact();
-    method public int signum();
-    method public android.icu.math.BigDecimal subtract(android.icu.math.BigDecimal);
-    method public android.icu.math.BigDecimal subtract(android.icu.math.BigDecimal, android.icu.math.MathContext);
-    method public java.math.BigDecimal toBigDecimal();
-    method public java.math.BigInteger toBigInteger();
-    method public java.math.BigInteger toBigIntegerExact();
-    method public char[] toCharArray();
-    method public java.math.BigInteger unscaledValue();
-    method public static android.icu.math.BigDecimal valueOf(double);
-    method public static android.icu.math.BigDecimal valueOf(long);
-    method public static android.icu.math.BigDecimal valueOf(long, int);
-    field public static final android.icu.math.BigDecimal ONE;
-    field public static final int ROUND_CEILING = 2; // 0x2
-    field public static final int ROUND_DOWN = 1; // 0x1
-    field public static final int ROUND_FLOOR = 3; // 0x3
-    field public static final int ROUND_HALF_DOWN = 5; // 0x5
-    field public static final int ROUND_HALF_EVEN = 6; // 0x6
-    field public static final int ROUND_HALF_UP = 4; // 0x4
-    field public static final int ROUND_UNNECESSARY = 7; // 0x7
-    field public static final int ROUND_UP = 0; // 0x0
-    field public static final android.icu.math.BigDecimal TEN;
-    field public static final android.icu.math.BigDecimal ZERO;
-  }
-
-  public final class MathContext implements java.io.Serializable {
-    ctor public MathContext(int);
-    ctor public MathContext(int, int);
-    ctor public MathContext(int, int, boolean);
-    ctor public MathContext(int, int, boolean, int);
-    method public int getDigits();
-    method public int getForm();
-    method public boolean getLostDigits();
-    method public int getRoundingMode();
-    field public static final android.icu.math.MathContext DEFAULT;
-    field public static final int ENGINEERING = 2; // 0x2
-    field public static final int PLAIN = 0; // 0x0
-    field public static final int ROUND_CEILING = 2; // 0x2
-    field public static final int ROUND_DOWN = 1; // 0x1
-    field public static final int ROUND_FLOOR = 3; // 0x3
-    field public static final int ROUND_HALF_DOWN = 5; // 0x5
-    field public static final int ROUND_HALF_EVEN = 6; // 0x6
-    field public static final int ROUND_HALF_UP = 4; // 0x4
-    field public static final int ROUND_UNNECESSARY = 7; // 0x7
-    field public static final int ROUND_UP = 0; // 0x0
-    field public static final int SCIENTIFIC = 1; // 0x1
-  }
-
-}
-
-package android.icu.number {
-
-  public class CompactNotation extends android.icu.number.Notation {
-  }
-
-  public abstract class CurrencyPrecision extends android.icu.number.Precision {
-    method public android.icu.number.Precision withCurrency(android.icu.util.Currency);
-  }
-
-  public class FormattedNumber implements java.lang.CharSequence {
-    method public char charAt(int);
-    method public int length();
-    method public CharSequence subSequence(int, int);
-    method public java.math.BigDecimal toBigDecimal();
-    method public java.text.AttributedCharacterIterator toCharacterIterator();
-  }
-
-  public class FormattedNumberRange implements java.lang.CharSequence {
-    method public char charAt(int);
-    method public java.math.BigDecimal getFirstBigDecimal();
-    method public android.icu.number.NumberRangeFormatter.RangeIdentityResult getIdentityResult();
-    method public java.math.BigDecimal getSecondBigDecimal();
-    method public int length();
-    method public CharSequence subSequence(int, int);
-    method public java.text.AttributedCharacterIterator toCharacterIterator();
-  }
-
-  public abstract class FractionPrecision extends android.icu.number.Precision {
-    method public android.icu.number.Precision withMaxDigits(int);
-    method public android.icu.number.Precision withMinDigits(int);
-  }
-
-  public class IntegerWidth {
-    method public android.icu.number.IntegerWidth truncateAt(int);
-    method public static android.icu.number.IntegerWidth zeroFillTo(int);
-  }
-
-  public class LocalizedNumberFormatter extends android.icu.number.NumberFormatterSettings<android.icu.number.LocalizedNumberFormatter> {
-    method public android.icu.number.FormattedNumber format(long);
-    method public android.icu.number.FormattedNumber format(double);
-    method public android.icu.number.FormattedNumber format(Number);
-    method public android.icu.number.FormattedNumber format(android.icu.util.Measure);
-    method public java.text.Format toFormat();
-  }
-
-  public class LocalizedNumberRangeFormatter extends android.icu.number.NumberRangeFormatterSettings<android.icu.number.LocalizedNumberRangeFormatter> {
-    method public android.icu.number.FormattedNumberRange formatRange(int, int);
-    method public android.icu.number.FormattedNumberRange formatRange(double, double);
-    method public android.icu.number.FormattedNumberRange formatRange(Number, Number);
-  }
-
-  public class Notation {
-    method public static android.icu.number.CompactNotation compactLong();
-    method public static android.icu.number.CompactNotation compactShort();
-    method public static android.icu.number.ScientificNotation engineering();
-    method public static android.icu.number.ScientificNotation scientific();
-    method public static android.icu.number.SimpleNotation simple();
-  }
-
-  public final class NumberFormatter {
-    method public static android.icu.number.UnlocalizedNumberFormatter with();
-    method public static android.icu.number.LocalizedNumberFormatter withLocale(java.util.Locale);
-    method public static android.icu.number.LocalizedNumberFormatter withLocale(android.icu.util.ULocale);
-  }
-
-  public enum NumberFormatter.DecimalSeparatorDisplay {
-    enum_constant public static final android.icu.number.NumberFormatter.DecimalSeparatorDisplay ALWAYS;
-    enum_constant public static final android.icu.number.NumberFormatter.DecimalSeparatorDisplay AUTO;
-  }
-
-  public enum NumberFormatter.GroupingStrategy {
-    enum_constant public static final android.icu.number.NumberFormatter.GroupingStrategy AUTO;
-    enum_constant public static final android.icu.number.NumberFormatter.GroupingStrategy MIN2;
-    enum_constant public static final android.icu.number.NumberFormatter.GroupingStrategy OFF;
-    enum_constant public static final android.icu.number.NumberFormatter.GroupingStrategy ON_ALIGNED;
-    enum_constant public static final android.icu.number.NumberFormatter.GroupingStrategy THOUSANDS;
-  }
-
-  public enum NumberFormatter.SignDisplay {
-    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay ACCOUNTING;
-    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay ACCOUNTING_ALWAYS;
-    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay ACCOUNTING_EXCEPT_ZERO;
-    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay ALWAYS;
-    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay AUTO;
-    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay EXCEPT_ZERO;
-    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay NEVER;
-  }
-
-  public enum NumberFormatter.UnitWidth {
-    enum_constant public static final android.icu.number.NumberFormatter.UnitWidth FULL_NAME;
-    enum_constant public static final android.icu.number.NumberFormatter.UnitWidth HIDDEN;
-    enum_constant public static final android.icu.number.NumberFormatter.UnitWidth ISO_CODE;
-    enum_constant public static final android.icu.number.NumberFormatter.UnitWidth NARROW;
-    enum_constant public static final android.icu.number.NumberFormatter.UnitWidth SHORT;
-  }
-
-  public abstract class NumberFormatterSettings<T extends android.icu.number.NumberFormatterSettings<?>> {
-    method public T decimal(android.icu.number.NumberFormatter.DecimalSeparatorDisplay);
-    method public T grouping(android.icu.number.NumberFormatter.GroupingStrategy);
-    method public T integerWidth(android.icu.number.IntegerWidth);
-    method public T notation(android.icu.number.Notation);
-    method public T perUnit(android.icu.util.MeasureUnit);
-    method public T precision(android.icu.number.Precision);
-    method public T roundingMode(java.math.RoundingMode);
-    method public T scale(android.icu.number.Scale);
-    method public T sign(android.icu.number.NumberFormatter.SignDisplay);
-    method public T symbols(android.icu.text.DecimalFormatSymbols);
-    method public T symbols(android.icu.text.NumberingSystem);
-    method public T unit(android.icu.util.MeasureUnit);
-    method public T unitWidth(android.icu.number.NumberFormatter.UnitWidth);
-  }
-
-  public abstract class NumberRangeFormatter {
-    method public static android.icu.number.UnlocalizedNumberRangeFormatter with();
-    method public static android.icu.number.LocalizedNumberRangeFormatter withLocale(java.util.Locale);
-    method public static android.icu.number.LocalizedNumberRangeFormatter withLocale(android.icu.util.ULocale);
-  }
-
-  public enum NumberRangeFormatter.RangeCollapse {
-    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeCollapse ALL;
-    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeCollapse AUTO;
-    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeCollapse NONE;
-    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeCollapse UNIT;
-  }
-
-  public enum NumberRangeFormatter.RangeIdentityFallback {
-    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityFallback APPROXIMATELY;
-    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityFallback APPROXIMATELY_OR_SINGLE_VALUE;
-    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityFallback RANGE;
-    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityFallback SINGLE_VALUE;
-  }
-
-  public enum NumberRangeFormatter.RangeIdentityResult {
-    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityResult EQUAL_AFTER_ROUNDING;
-    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityResult EQUAL_BEFORE_ROUNDING;
-    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityResult NOT_EQUAL;
-  }
-
-  public abstract class NumberRangeFormatterSettings<T extends android.icu.number.NumberRangeFormatterSettings<?>> {
-    method public T collapse(android.icu.number.NumberRangeFormatter.RangeCollapse);
-    method public T identityFallback(android.icu.number.NumberRangeFormatter.RangeIdentityFallback);
-    method public T numberFormatterBoth(android.icu.number.UnlocalizedNumberFormatter);
-    method public T numberFormatterFirst(android.icu.number.UnlocalizedNumberFormatter);
-    method public T numberFormatterSecond(android.icu.number.UnlocalizedNumberFormatter);
-  }
-
-  public abstract class Precision {
-    method public static android.icu.number.CurrencyPrecision currency(android.icu.util.Currency.CurrencyUsage);
-    method public static android.icu.number.FractionPrecision fixedFraction(int);
-    method public static android.icu.number.Precision fixedSignificantDigits(int);
-    method public static android.icu.number.Precision increment(java.math.BigDecimal);
-    method public static android.icu.number.FractionPrecision integer();
-    method public static android.icu.number.FractionPrecision maxFraction(int);
-    method public static android.icu.number.Precision maxSignificantDigits(int);
-    method public static android.icu.number.FractionPrecision minFraction(int);
-    method public static android.icu.number.FractionPrecision minMaxFraction(int, int);
-    method public static android.icu.number.Precision minMaxSignificantDigits(int, int);
-    method public static android.icu.number.Precision minSignificantDigits(int);
-    method public static android.icu.number.Precision unlimited();
-  }
-
-  public class Scale {
-    method public static android.icu.number.Scale byBigDecimal(java.math.BigDecimal);
-    method public static android.icu.number.Scale byDouble(double);
-    method public static android.icu.number.Scale byDoubleAndPowerOfTen(double, int);
-    method public static android.icu.number.Scale none();
-    method public static android.icu.number.Scale powerOfTen(int);
-  }
-
-  public class ScientificNotation extends android.icu.number.Notation {
-    method public android.icu.number.ScientificNotation withExponentSignDisplay(android.icu.number.NumberFormatter.SignDisplay);
-    method public android.icu.number.ScientificNotation withMinExponentDigits(int);
-  }
-
-  public class SimpleNotation extends android.icu.number.Notation {
-  }
-
-  public class UnlocalizedNumberFormatter extends android.icu.number.NumberFormatterSettings<android.icu.number.UnlocalizedNumberFormatter> {
-    method public android.icu.number.LocalizedNumberFormatter locale(java.util.Locale);
-    method public android.icu.number.LocalizedNumberFormatter locale(android.icu.util.ULocale);
-  }
-
-  public class UnlocalizedNumberRangeFormatter extends android.icu.number.NumberRangeFormatterSettings<android.icu.number.UnlocalizedNumberRangeFormatter> {
-    method public android.icu.number.LocalizedNumberRangeFormatter locale(java.util.Locale);
-    method public android.icu.number.LocalizedNumberRangeFormatter locale(android.icu.util.ULocale);
-  }
-
-}
-
-package android.icu.text {
-
-  public final class AlphabeticIndex<V> implements java.lang.Iterable<android.icu.text.AlphabeticIndex.Bucket<V>> {
-    ctor public AlphabeticIndex(android.icu.util.ULocale);
-    ctor public AlphabeticIndex(java.util.Locale);
-    ctor public AlphabeticIndex(android.icu.text.RuleBasedCollator);
-    method public android.icu.text.AlphabeticIndex<V> addLabels(android.icu.text.UnicodeSet);
-    method public android.icu.text.AlphabeticIndex<V> addLabels(android.icu.util.ULocale...);
-    method public android.icu.text.AlphabeticIndex<V> addLabels(java.util.Locale...);
-    method public android.icu.text.AlphabeticIndex<V> addRecord(CharSequence, V);
-    method public android.icu.text.AlphabeticIndex.ImmutableIndex<V> buildImmutableIndex();
-    method public android.icu.text.AlphabeticIndex<V> clearRecords();
-    method public int getBucketCount();
-    method public int getBucketIndex(CharSequence);
-    method public java.util.List<java.lang.String> getBucketLabels();
-    method public android.icu.text.RuleBasedCollator getCollator();
-    method public String getInflowLabel();
-    method public int getMaxLabelCount();
-    method public String getOverflowLabel();
-    method public int getRecordCount();
-    method public String getUnderflowLabel();
-    method public java.util.Iterator<android.icu.text.AlphabeticIndex.Bucket<V>> iterator();
-    method public android.icu.text.AlphabeticIndex<V> setInflowLabel(String);
-    method public android.icu.text.AlphabeticIndex<V> setMaxLabelCount(int);
-    method public android.icu.text.AlphabeticIndex<V> setOverflowLabel(String);
-    method public android.icu.text.AlphabeticIndex<V> setUnderflowLabel(String);
-  }
-
-  public static class AlphabeticIndex.Bucket<V> implements java.lang.Iterable<android.icu.text.AlphabeticIndex.Record<V>> {
-    method public String getLabel();
-    method public android.icu.text.AlphabeticIndex.Bucket.LabelType getLabelType();
-    method public java.util.Iterator<android.icu.text.AlphabeticIndex.Record<V>> iterator();
-    method public int size();
-  }
-
-  public enum AlphabeticIndex.Bucket.LabelType {
-    enum_constant public static final android.icu.text.AlphabeticIndex.Bucket.LabelType INFLOW;
-    enum_constant public static final android.icu.text.AlphabeticIndex.Bucket.LabelType NORMAL;
-    enum_constant public static final android.icu.text.AlphabeticIndex.Bucket.LabelType OVERFLOW;
-    enum_constant public static final android.icu.text.AlphabeticIndex.Bucket.LabelType UNDERFLOW;
-  }
-
-  public static final class AlphabeticIndex.ImmutableIndex<V> implements java.lang.Iterable<android.icu.text.AlphabeticIndex.Bucket<V>> {
-    method public android.icu.text.AlphabeticIndex.Bucket<V> getBucket(int);
-    method public int getBucketCount();
-    method public int getBucketIndex(CharSequence);
-    method public java.util.Iterator<android.icu.text.AlphabeticIndex.Bucket<V>> iterator();
-  }
-
-  public static class AlphabeticIndex.Record<V> {
-    method public V getData();
-    method public CharSequence getName();
-  }
-
-  public class Bidi {
-    ctor public Bidi();
-    ctor public Bidi(int, int);
-    ctor public Bidi(String, int);
-    ctor public Bidi(java.text.AttributedCharacterIterator);
-    ctor public Bidi(char[], int, byte[], int, int, int);
-    method public boolean baseIsLeftToRight();
-    method public int countParagraphs();
-    method public int countRuns();
-    method public android.icu.text.Bidi createLineBidi(int, int);
-    method public static byte getBaseDirection(CharSequence);
-    method public int getBaseLevel();
-    method public android.icu.text.BidiClassifier getCustomClassifier();
-    method public int getCustomizedClass(int);
-    method public byte getDirection();
-    method public int getLength();
-    method public byte getLevelAt(int);
-    method public byte[] getLevels();
-    method public int getLogicalIndex(int);
-    method public int[] getLogicalMap();
-    method public android.icu.text.BidiRun getLogicalRun(int);
-    method public byte getParaLevel();
-    method public android.icu.text.BidiRun getParagraph(int);
-    method public android.icu.text.BidiRun getParagraphByIndex(int);
-    method public int getParagraphIndex(int);
-    method public int getProcessedLength();
-    method public int getReorderingMode();
-    method public int getReorderingOptions();
-    method public int getResultLength();
-    method public int getRunCount();
-    method public int getRunLevel(int);
-    method public int getRunLimit(int);
-    method public int getRunStart(int);
-    method public char[] getText();
-    method public String getTextAsString();
-    method public int getVisualIndex(int);
-    method public int[] getVisualMap();
-    method public android.icu.text.BidiRun getVisualRun(int);
-    method public static int[] invertMap(int[]);
-    method public boolean isInverse();
-    method public boolean isLeftToRight();
-    method public boolean isMixed();
-    method public boolean isOrderParagraphsLTR();
-    method public boolean isRightToLeft();
-    method public void orderParagraphsLTR(boolean);
-    method public static int[] reorderLogical(byte[]);
-    method public static int[] reorderVisual(byte[]);
-    method public static void reorderVisually(byte[], int, Object[], int, int);
-    method public static boolean requiresBidi(char[], int, int);
-    method public void setContext(String, String);
-    method public void setCustomClassifier(android.icu.text.BidiClassifier);
-    method public void setInverse(boolean);
-    method public android.icu.text.Bidi setLine(int, int);
-    method public void setPara(String, byte, byte[]);
-    method public void setPara(char[], byte, byte[]);
-    method public void setPara(java.text.AttributedCharacterIterator);
-    method public void setReorderingMode(int);
-    method public void setReorderingOptions(int);
-    method public String writeReordered(int);
-    method public static String writeReverse(String, int);
-    field public static final int DIRECTION_DEFAULT_LEFT_TO_RIGHT = 126; // 0x7e
-    field public static final int DIRECTION_DEFAULT_RIGHT_TO_LEFT = 127; // 0x7f
-    field public static final int DIRECTION_LEFT_TO_RIGHT = 0; // 0x0
-    field public static final int DIRECTION_RIGHT_TO_LEFT = 1; // 0x1
-    field public static final short DO_MIRRORING = 2; // 0x2
-    field public static final short INSERT_LRM_FOR_NUMERIC = 4; // 0x4
-    field public static final short KEEP_BASE_COMBINING = 1; // 0x1
-    field public static final byte LEVEL_DEFAULT_LTR = 126; // 0x7e
-    field public static final byte LEVEL_DEFAULT_RTL = 127; // 0x7f
-    field public static final byte LEVEL_OVERRIDE = -128; // 0xffffff80
-    field public static final byte LTR = 0; // 0x0
-    field public static final int MAP_NOWHERE = -1; // 0xffffffff
-    field public static final byte MAX_EXPLICIT_LEVEL = 125; // 0x7d
-    field public static final byte MIXED = 2; // 0x2
-    field public static final byte NEUTRAL = 3; // 0x3
-    field public static final int OPTION_DEFAULT = 0; // 0x0
-    field public static final int OPTION_INSERT_MARKS = 1; // 0x1
-    field public static final int OPTION_REMOVE_CONTROLS = 2; // 0x2
-    field public static final int OPTION_STREAMING = 4; // 0x4
-    field public static final short OUTPUT_REVERSE = 16; // 0x10
-    field public static final short REMOVE_BIDI_CONTROLS = 8; // 0x8
-    field public static final short REORDER_DEFAULT = 0; // 0x0
-    field public static final short REORDER_GROUP_NUMBERS_WITH_R = 2; // 0x2
-    field public static final short REORDER_INVERSE_FOR_NUMBERS_SPECIAL = 6; // 0x6
-    field public static final short REORDER_INVERSE_LIKE_DIRECT = 5; // 0x5
-    field public static final short REORDER_INVERSE_NUMBERS_AS_L = 4; // 0x4
-    field public static final short REORDER_NUMBERS_SPECIAL = 1; // 0x1
-    field public static final short REORDER_RUNS_ONLY = 3; // 0x3
-    field public static final byte RTL = 1; // 0x1
-  }
-
-  public class BidiClassifier {
-    ctor public BidiClassifier(Object);
-    method public int classify(int);
-    method public Object getContext();
-    method public void setContext(Object);
-  }
-
-  public class BidiRun {
-    method public byte getDirection();
-    method public byte getEmbeddingLevel();
-    method public int getLength();
-    method public int getLimit();
-    method public int getStart();
-    method public boolean isEvenRun();
-    method public boolean isOddRun();
-  }
-
-  public abstract class BreakIterator implements java.lang.Cloneable {
-    ctor protected BreakIterator();
-    method public Object clone();
-    method public abstract int current();
-    method public abstract int first();
-    method public abstract int following(int);
-    method public static java.util.Locale[] getAvailableLocales();
-    method public static android.icu.text.BreakIterator getCharacterInstance();
-    method public static android.icu.text.BreakIterator getCharacterInstance(java.util.Locale);
-    method public static android.icu.text.BreakIterator getCharacterInstance(android.icu.util.ULocale);
-    method public static android.icu.text.BreakIterator getLineInstance();
-    method public static android.icu.text.BreakIterator getLineInstance(java.util.Locale);
-    method public static android.icu.text.BreakIterator getLineInstance(android.icu.util.ULocale);
-    method public int getRuleStatus();
-    method public int getRuleStatusVec(int[]);
-    method public static android.icu.text.BreakIterator getSentenceInstance();
-    method public static android.icu.text.BreakIterator getSentenceInstance(java.util.Locale);
-    method public static android.icu.text.BreakIterator getSentenceInstance(android.icu.util.ULocale);
-    method public abstract java.text.CharacterIterator getText();
-    method @Deprecated public static android.icu.text.BreakIterator getTitleInstance();
-    method @Deprecated public static android.icu.text.BreakIterator getTitleInstance(java.util.Locale);
-    method @Deprecated public static android.icu.text.BreakIterator getTitleInstance(android.icu.util.ULocale);
-    method public static android.icu.text.BreakIterator getWordInstance();
-    method public static android.icu.text.BreakIterator getWordInstance(java.util.Locale);
-    method public static android.icu.text.BreakIterator getWordInstance(android.icu.util.ULocale);
-    method public boolean isBoundary(int);
-    method public abstract int last();
-    method public abstract int next(int);
-    method public abstract int next();
-    method public int preceding(int);
-    method public abstract int previous();
-    method public void setText(String);
-    method public void setText(CharSequence);
-    method public abstract void setText(java.text.CharacterIterator);
-    field public static final int DONE = -1; // 0xffffffff
-    field public static final int KIND_CHARACTER = 0; // 0x0
-    field public static final int KIND_LINE = 2; // 0x2
-    field public static final int KIND_SENTENCE = 3; // 0x3
-    field @Deprecated public static final int KIND_TITLE = 4; // 0x4
-    field public static final int KIND_WORD = 1; // 0x1
-    field public static final int WORD_IDEO = 400; // 0x190
-    field public static final int WORD_IDEO_LIMIT = 500; // 0x1f4
-    field public static final int WORD_KANA = 300; // 0x12c
-    field public static final int WORD_KANA_LIMIT = 400; // 0x190
-    field public static final int WORD_LETTER = 200; // 0xc8
-    field public static final int WORD_LETTER_LIMIT = 300; // 0x12c
-    field public static final int WORD_NONE = 0; // 0x0
-    field public static final int WORD_NONE_LIMIT = 100; // 0x64
-    field public static final int WORD_NUMBER = 100; // 0x64
-    field public static final int WORD_NUMBER_LIMIT = 200; // 0xc8
-  }
-
-  public abstract class CaseMap {
-    method public static android.icu.text.CaseMap.Fold fold();
-    method public abstract android.icu.text.CaseMap omitUnchangedText();
-    method public static android.icu.text.CaseMap.Lower toLower();
-    method public static android.icu.text.CaseMap.Title toTitle();
-    method public static android.icu.text.CaseMap.Upper toUpper();
-  }
-
-  public static final class CaseMap.Fold extends android.icu.text.CaseMap {
-    method public String apply(CharSequence);
-    method public <A extends java.lang.Appendable> A apply(CharSequence, A, android.icu.text.Edits);
-    method public android.icu.text.CaseMap.Fold omitUnchangedText();
-    method public android.icu.text.CaseMap.Fold turkic();
-  }
-
-  public static final class CaseMap.Lower extends android.icu.text.CaseMap {
-    method public String apply(java.util.Locale, CharSequence);
-    method public <A extends java.lang.Appendable> A apply(java.util.Locale, CharSequence, A, android.icu.text.Edits);
-    method public android.icu.text.CaseMap.Lower omitUnchangedText();
-  }
-
-  public static final class CaseMap.Title extends android.icu.text.CaseMap {
-    method public android.icu.text.CaseMap.Title adjustToCased();
-    method public String apply(java.util.Locale, android.icu.text.BreakIterator, CharSequence);
-    method public <A extends java.lang.Appendable> A apply(java.util.Locale, android.icu.text.BreakIterator, CharSequence, A, android.icu.text.Edits);
-    method public android.icu.text.CaseMap.Title noBreakAdjustment();
-    method public android.icu.text.CaseMap.Title noLowercase();
-    method public android.icu.text.CaseMap.Title omitUnchangedText();
-    method public android.icu.text.CaseMap.Title sentences();
-    method public android.icu.text.CaseMap.Title wholeString();
-  }
-
-  public static final class CaseMap.Upper extends android.icu.text.CaseMap {
-    method public String apply(java.util.Locale, CharSequence);
-    method public <A extends java.lang.Appendable> A apply(java.util.Locale, CharSequence, A, android.icu.text.Edits);
-    method public android.icu.text.CaseMap.Upper omitUnchangedText();
-  }
-
-  public final class CollationElementIterator {
-    method public int getMaxExpansion(int);
-    method public int getOffset();
-    method public int next();
-    method public int previous();
-    method public static int primaryOrder(int);
-    method public void reset();
-    method public static int secondaryOrder(int);
-    method public void setOffset(int);
-    method public void setText(String);
-    method public void setText(android.icu.text.UCharacterIterator);
-    method public void setText(java.text.CharacterIterator);
-    method public static int tertiaryOrder(int);
-    field public static final int IGNORABLE = 0; // 0x0
-    field public static final int NULLORDER = -1; // 0xffffffff
-  }
-
-  public final class CollationKey implements java.lang.Comparable<android.icu.text.CollationKey> {
-    ctor public CollationKey(String, byte[]);
-    method public int compareTo(android.icu.text.CollationKey);
-    method public boolean equals(android.icu.text.CollationKey);
-    method public android.icu.text.CollationKey getBound(int, int);
-    method public String getSourceString();
-    method public android.icu.text.CollationKey merge(android.icu.text.CollationKey);
-    method public byte[] toByteArray();
-  }
-
-  public static final class CollationKey.BoundMode {
-    field public static final int LOWER = 0; // 0x0
-    field public static final int UPPER = 1; // 0x1
-    field public static final int UPPER_LONG = 2; // 0x2
-  }
-
-  public abstract class Collator implements java.lang.Cloneable java.util.Comparator<java.lang.Object> android.icu.util.Freezable<android.icu.text.Collator> {
-    ctor protected Collator();
-    method public Object clone() throws java.lang.CloneNotSupportedException;
-    method public android.icu.text.Collator cloneAsThawed();
-    method public abstract int compare(String, String);
-    method public int compare(Object, Object);
-    method public boolean equals(String, String);
-    method public android.icu.text.Collator freeze();
-    method public static java.util.Locale[] getAvailableLocales();
-    method public static final android.icu.util.ULocale[] getAvailableULocales();
-    method public abstract android.icu.text.CollationKey getCollationKey(String);
-    method public int getDecomposition();
-    method public static String getDisplayName(java.util.Locale, java.util.Locale);
-    method public static String getDisplayName(android.icu.util.ULocale, android.icu.util.ULocale);
-    method public static String getDisplayName(java.util.Locale);
-    method public static String getDisplayName(android.icu.util.ULocale);
-    method public static int[] getEquivalentReorderCodes(int);
-    method public static final android.icu.util.ULocale getFunctionalEquivalent(String, android.icu.util.ULocale, boolean[]);
-    method public static final android.icu.util.ULocale getFunctionalEquivalent(String, android.icu.util.ULocale);
-    method public static final android.icu.text.Collator getInstance();
-    method public static final android.icu.text.Collator getInstance(android.icu.util.ULocale);
-    method public static final android.icu.text.Collator getInstance(java.util.Locale);
-    method public static final String[] getKeywordValues(String);
-    method public static final String[] getKeywordValuesForLocale(String, android.icu.util.ULocale, boolean);
-    method public static final String[] getKeywords();
-    method public int getMaxVariable();
-    method public int[] getReorderCodes();
-    method public int getStrength();
-    method public android.icu.text.UnicodeSet getTailoredSet();
-    method public abstract android.icu.util.VersionInfo getUCAVersion();
-    method public abstract int getVariableTop();
-    method public abstract android.icu.util.VersionInfo getVersion();
-    method public boolean isFrozen();
-    method public void setDecomposition(int);
-    method public android.icu.text.Collator setMaxVariable(int);
-    method public void setReorderCodes(int...);
-    method public void setStrength(int);
-    field public static final int CANONICAL_DECOMPOSITION = 17; // 0x11
-    field public static final int FULL_DECOMPOSITION = 15; // 0xf
-    field public static final int IDENTICAL = 15; // 0xf
-    field public static final int NO_DECOMPOSITION = 16; // 0x10
-    field public static final int PRIMARY = 0; // 0x0
-    field public static final int QUATERNARY = 3; // 0x3
-    field public static final int SECONDARY = 1; // 0x1
-    field public static final int TERTIARY = 2; // 0x2
-  }
-
-  public static interface Collator.ReorderCodes {
-    field public static final int CURRENCY = 4099; // 0x1003
-    field public static final int DEFAULT = -1; // 0xffffffff
-    field public static final int DIGIT = 4100; // 0x1004
-    field public static final int FIRST = 4096; // 0x1000
-    field public static final int NONE = 103; // 0x67
-    field public static final int OTHERS = 103; // 0x67
-    field public static final int PUNCTUATION = 4097; // 0x1001
-    field public static final int SPACE = 4096; // 0x1000
-    field public static final int SYMBOL = 4098; // 0x1002
-  }
-
-  public class CompactDecimalFormat extends android.icu.text.DecimalFormat {
-    method public static android.icu.text.CompactDecimalFormat getInstance(android.icu.util.ULocale, android.icu.text.CompactDecimalFormat.CompactStyle);
-    method public static android.icu.text.CompactDecimalFormat getInstance(java.util.Locale, android.icu.text.CompactDecimalFormat.CompactStyle);
-  }
-
-  public enum CompactDecimalFormat.CompactStyle {
-    enum_constant public static final android.icu.text.CompactDecimalFormat.CompactStyle LONG;
-    enum_constant public static final android.icu.text.CompactDecimalFormat.CompactStyle SHORT;
-  }
-
-  public class CurrencyPluralInfo implements java.lang.Cloneable java.io.Serializable {
-    ctor public CurrencyPluralInfo();
-    ctor public CurrencyPluralInfo(java.util.Locale);
-    ctor public CurrencyPluralInfo(android.icu.util.ULocale);
-    method public Object clone();
-    method public String getCurrencyPluralPattern(String);
-    method public static android.icu.text.CurrencyPluralInfo getInstance();
-    method public static android.icu.text.CurrencyPluralInfo getInstance(java.util.Locale);
-    method public static android.icu.text.CurrencyPluralInfo getInstance(android.icu.util.ULocale);
-    method public android.icu.util.ULocale getLocale();
-    method public android.icu.text.PluralRules getPluralRules();
-    method public void setCurrencyPluralPattern(String, String);
-    method public void setLocale(android.icu.util.ULocale);
-    method public void setPluralRules(String);
-  }
-
-  public abstract class DateFormat extends android.icu.text.UFormat {
-    ctor protected DateFormat();
-    method public final StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
-    method public abstract StringBuffer format(android.icu.util.Calendar, StringBuffer, java.text.FieldPosition);
-    method public StringBuffer format(java.util.Date, StringBuffer, java.text.FieldPosition);
-    method public final String format(java.util.Date);
-    method public static java.util.Locale[] getAvailableLocales();
-    method public boolean getBooleanAttribute(android.icu.text.DateFormat.BooleanAttribute);
-    method public android.icu.util.Calendar getCalendar();
-    method public android.icu.text.DisplayContext getContext(android.icu.text.DisplayContext.Type);
-    method public static final android.icu.text.DateFormat getDateInstance();
-    method public static final android.icu.text.DateFormat getDateInstance(int);
-    method public static final android.icu.text.DateFormat getDateInstance(int, java.util.Locale);
-    method public static final android.icu.text.DateFormat getDateInstance(int, android.icu.util.ULocale);
-    method public static final android.icu.text.DateFormat getDateInstance(android.icu.util.Calendar, int, java.util.Locale);
-    method public static final android.icu.text.DateFormat getDateInstance(android.icu.util.Calendar, int, android.icu.util.ULocale);
-    method public static final android.icu.text.DateFormat getDateInstance(android.icu.util.Calendar, int);
-    method public static final android.icu.text.DateFormat getDateTimeInstance();
-    method public static final android.icu.text.DateFormat getDateTimeInstance(int, int);
-    method public static final android.icu.text.DateFormat getDateTimeInstance(int, int, java.util.Locale);
-    method public static final android.icu.text.DateFormat getDateTimeInstance(int, int, android.icu.util.ULocale);
-    method public static final android.icu.text.DateFormat getDateTimeInstance(android.icu.util.Calendar, int, int, java.util.Locale);
-    method public static final android.icu.text.DateFormat getDateTimeInstance(android.icu.util.Calendar, int, int, android.icu.util.ULocale);
-    method public static final android.icu.text.DateFormat getDateTimeInstance(android.icu.util.Calendar, int, int);
-    method public static final android.icu.text.DateFormat getInstance();
-    method public static final android.icu.text.DateFormat getInstance(android.icu.util.Calendar, java.util.Locale);
-    method public static final android.icu.text.DateFormat getInstance(android.icu.util.Calendar);
-    method public static final android.icu.text.DateFormat getInstanceForSkeleton(String);
-    method public static final android.icu.text.DateFormat getInstanceForSkeleton(String, java.util.Locale);
-    method public static final android.icu.text.DateFormat getInstanceForSkeleton(String, android.icu.util.ULocale);
-    method public static final android.icu.text.DateFormat getInstanceForSkeleton(android.icu.util.Calendar, String, java.util.Locale);
-    method public static final android.icu.text.DateFormat getInstanceForSkeleton(android.icu.util.Calendar, String, android.icu.util.ULocale);
-    method public android.icu.text.NumberFormat getNumberFormat();
-    method public static final android.icu.text.DateFormat getPatternInstance(String);
-    method public static final android.icu.text.DateFormat getPatternInstance(String, java.util.Locale);
-    method public static final android.icu.text.DateFormat getPatternInstance(String, android.icu.util.ULocale);
-    method public static final android.icu.text.DateFormat getPatternInstance(android.icu.util.Calendar, String, java.util.Locale);
-    method public static final android.icu.text.DateFormat getPatternInstance(android.icu.util.Calendar, String, android.icu.util.ULocale);
-    method public static final android.icu.text.DateFormat getTimeInstance();
-    method public static final android.icu.text.DateFormat getTimeInstance(int);
-    method public static final android.icu.text.DateFormat getTimeInstance(int, java.util.Locale);
-    method public static final android.icu.text.DateFormat getTimeInstance(int, android.icu.util.ULocale);
-    method public static final android.icu.text.DateFormat getTimeInstance(android.icu.util.Calendar, int, java.util.Locale);
-    method public static final android.icu.text.DateFormat getTimeInstance(android.icu.util.Calendar, int, android.icu.util.ULocale);
-    method public static final android.icu.text.DateFormat getTimeInstance(android.icu.util.Calendar, int);
-    method public android.icu.util.TimeZone getTimeZone();
-    method public boolean isCalendarLenient();
-    method public boolean isLenient();
-    method public java.util.Date parse(String) throws java.text.ParseException;
-    method public abstract void parse(String, android.icu.util.Calendar, java.text.ParsePosition);
-    method public java.util.Date parse(String, java.text.ParsePosition);
-    method public Object parseObject(String, java.text.ParsePosition);
-    method public android.icu.text.DateFormat setBooleanAttribute(android.icu.text.DateFormat.BooleanAttribute, boolean);
-    method public void setCalendar(android.icu.util.Calendar);
-    method public void setCalendarLenient(boolean);
-    method public void setContext(android.icu.text.DisplayContext);
-    method public void setLenient(boolean);
-    method public void setNumberFormat(android.icu.text.NumberFormat);
-    method public void setTimeZone(android.icu.util.TimeZone);
-    field public static final String ABBR_GENERIC_TZ = "v";
-    field public static final String ABBR_MONTH = "MMM";
-    field public static final String ABBR_MONTH_DAY = "MMMd";
-    field public static final String ABBR_MONTH_WEEKDAY_DAY = "MMMEd";
-    field public static final String ABBR_QUARTER = "QQQ";
-    field public static final String ABBR_SPECIFIC_TZ = "z";
-    field public static final String ABBR_UTC_TZ = "ZZZZ";
-    field public static final String ABBR_WEEKDAY = "E";
-    field public static final int AM_PM_FIELD = 14; // 0xe
-    field public static final int AM_PM_MIDNIGHT_NOON_FIELD = 35; // 0x23
-    field public static final int DATE_FIELD = 3; // 0x3
-    field public static final String DAY = "d";
-    field public static final int DAY_OF_WEEK_FIELD = 9; // 0x9
-    field public static final int DAY_OF_WEEK_IN_MONTH_FIELD = 11; // 0xb
-    field public static final int DAY_OF_YEAR_FIELD = 10; // 0xa
-    field public static final int DEFAULT = 2; // 0x2
-    field public static final int DOW_LOCAL_FIELD = 19; // 0x13
-    field public static final int ERA_FIELD = 0; // 0x0
-    field public static final int EXTENDED_YEAR_FIELD = 20; // 0x14
-    field public static final int FLEXIBLE_DAY_PERIOD_FIELD = 36; // 0x24
-    field public static final int FRACTIONAL_SECOND_FIELD = 8; // 0x8
-    field public static final int FULL = 0; // 0x0
-    field public static final String GENERIC_TZ = "vvvv";
-    field public static final String HOUR = "j";
-    field public static final int HOUR0_FIELD = 16; // 0x10
-    field public static final int HOUR1_FIELD = 15; // 0xf
-    field public static final String HOUR24 = "H";
-    field public static final String HOUR24_MINUTE = "Hm";
-    field public static final String HOUR24_MINUTE_SECOND = "Hms";
-    field public static final String HOUR_MINUTE = "jm";
-    field public static final String HOUR_MINUTE_SECOND = "jms";
-    field public static final int HOUR_OF_DAY0_FIELD = 5; // 0x5
-    field public static final int HOUR_OF_DAY1_FIELD = 4; // 0x4
-    field public static final int JULIAN_DAY_FIELD = 21; // 0x15
-    field public static final String LOCATION_TZ = "VVVV";
-    field public static final int LONG = 1; // 0x1
-    field public static final int MEDIUM = 2; // 0x2
-    field public static final int MILLISECONDS_IN_DAY_FIELD = 22; // 0x16
-    field public static final int MILLISECOND_FIELD = 8; // 0x8
-    field public static final String MINUTE = "m";
-    field public static final int MINUTE_FIELD = 6; // 0x6
-    field public static final String MINUTE_SECOND = "ms";
-    field public static final String MONTH = "MMMM";
-    field public static final String MONTH_DAY = "MMMMd";
-    field public static final int MONTH_FIELD = 2; // 0x2
-    field public static final String MONTH_WEEKDAY_DAY = "MMMMEEEEd";
-    field public static final int NONE = -1; // 0xffffffff
-    field public static final String NUM_MONTH = "M";
-    field public static final String NUM_MONTH_DAY = "Md";
-    field public static final String NUM_MONTH_WEEKDAY_DAY = "MEd";
-    field public static final String QUARTER = "QQQQ";
-    field public static final int QUARTER_FIELD = 27; // 0x1b
-    field public static final int RELATIVE = 128; // 0x80
-    field public static final int RELATIVE_DEFAULT = 130; // 0x82
-    field public static final int RELATIVE_FULL = 128; // 0x80
-    field public static final int RELATIVE_LONG = 129; // 0x81
-    field public static final int RELATIVE_MEDIUM = 130; // 0x82
-    field public static final int RELATIVE_SHORT = 131; // 0x83
-    field public static final String SECOND = "s";
-    field public static final int SECOND_FIELD = 7; // 0x7
-    field public static final int SHORT = 3; // 0x3
-    field public static final String SPECIFIC_TZ = "zzzz";
-    field public static final int STANDALONE_DAY_FIELD = 25; // 0x19
-    field public static final int STANDALONE_MONTH_FIELD = 26; // 0x1a
-    field public static final int STANDALONE_QUARTER_FIELD = 28; // 0x1c
-    field public static final int TIMEZONE_FIELD = 17; // 0x11
-    field public static final int TIMEZONE_GENERIC_FIELD = 24; // 0x18
-    field public static final int TIMEZONE_ISO_FIELD = 32; // 0x20
-    field public static final int TIMEZONE_ISO_LOCAL_FIELD = 33; // 0x21
-    field public static final int TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD = 31; // 0x1f
-    field public static final int TIMEZONE_RFC_FIELD = 23; // 0x17
-    field public static final int TIMEZONE_SPECIAL_FIELD = 29; // 0x1d
-    field public static final String WEEKDAY = "EEEE";
-    field public static final int WEEK_OF_MONTH_FIELD = 13; // 0xd
-    field public static final int WEEK_OF_YEAR_FIELD = 12; // 0xc
-    field public static final String YEAR = "y";
-    field public static final String YEAR_ABBR_MONTH = "yMMM";
-    field public static final String YEAR_ABBR_MONTH_DAY = "yMMMd";
-    field public static final String YEAR_ABBR_MONTH_WEEKDAY_DAY = "yMMMEd";
-    field public static final String YEAR_ABBR_QUARTER = "yQQQ";
-    field public static final int YEAR_FIELD = 1; // 0x1
-    field public static final String YEAR_MONTH = "yMMMM";
-    field public static final String YEAR_MONTH_DAY = "yMMMMd";
-    field public static final String YEAR_MONTH_WEEKDAY_DAY = "yMMMMEEEEd";
-    field public static final int YEAR_NAME_FIELD = 30; // 0x1e
-    field public static final String YEAR_NUM_MONTH = "yM";
-    field public static final String YEAR_NUM_MONTH_DAY = "yMd";
-    field public static final String YEAR_NUM_MONTH_WEEKDAY_DAY = "yMEd";
-    field public static final String YEAR_QUARTER = "yQQQQ";
-    field public static final int YEAR_WOY_FIELD = 18; // 0x12
-    field protected android.icu.util.Calendar calendar;
-    field protected android.icu.text.NumberFormat numberFormat;
-  }
-
-  public enum DateFormat.BooleanAttribute {
-    enum_constant public static final android.icu.text.DateFormat.BooleanAttribute PARSE_ALLOW_NUMERIC;
-    enum_constant public static final android.icu.text.DateFormat.BooleanAttribute PARSE_ALLOW_WHITESPACE;
-    enum_constant public static final android.icu.text.DateFormat.BooleanAttribute PARSE_MULTIPLE_PATTERNS_FOR_MATCH;
-    enum_constant public static final android.icu.text.DateFormat.BooleanAttribute PARSE_PARTIAL_LITERAL_MATCH;
-  }
-
-  public static class DateFormat.Field extends java.text.Format.Field {
-    ctor protected DateFormat.Field(String, int);
-    method public int getCalendarField();
-    method public static android.icu.text.DateFormat.Field ofCalendarField(int);
-    field public static final android.icu.text.DateFormat.Field AM_PM;
-    field public static final android.icu.text.DateFormat.Field AM_PM_MIDNIGHT_NOON;
-    field public static final android.icu.text.DateFormat.Field DAY_OF_MONTH;
-    field public static final android.icu.text.DateFormat.Field DAY_OF_WEEK;
-    field public static final android.icu.text.DateFormat.Field DAY_OF_WEEK_IN_MONTH;
-    field public static final android.icu.text.DateFormat.Field DAY_OF_YEAR;
-    field public static final android.icu.text.DateFormat.Field DOW_LOCAL;
-    field public static final android.icu.text.DateFormat.Field ERA;
-    field public static final android.icu.text.DateFormat.Field EXTENDED_YEAR;
-    field public static final android.icu.text.DateFormat.Field FLEXIBLE_DAY_PERIOD;
-    field public static final android.icu.text.DateFormat.Field HOUR0;
-    field public static final android.icu.text.DateFormat.Field HOUR1;
-    field public static final android.icu.text.DateFormat.Field HOUR_OF_DAY0;
-    field public static final android.icu.text.DateFormat.Field HOUR_OF_DAY1;
-    field public static final android.icu.text.DateFormat.Field JULIAN_DAY;
-    field public static final android.icu.text.DateFormat.Field MILLISECOND;
-    field public static final android.icu.text.DateFormat.Field MILLISECONDS_IN_DAY;
-    field public static final android.icu.text.DateFormat.Field MINUTE;
-    field public static final android.icu.text.DateFormat.Field MONTH;
-    field public static final android.icu.text.DateFormat.Field QUARTER;
-    field public static final android.icu.text.DateFormat.Field SECOND;
-    field public static final android.icu.text.DateFormat.Field TIME_ZONE;
-    field public static final android.icu.text.DateFormat.Field WEEK_OF_MONTH;
-    field public static final android.icu.text.DateFormat.Field WEEK_OF_YEAR;
-    field public static final android.icu.text.DateFormat.Field YEAR;
-    field public static final android.icu.text.DateFormat.Field YEAR_WOY;
-  }
-
-  public class DateFormatSymbols implements java.lang.Cloneable java.io.Serializable {
-    ctor public DateFormatSymbols();
-    ctor public DateFormatSymbols(java.util.Locale);
-    ctor public DateFormatSymbols(android.icu.util.ULocale);
-    ctor public DateFormatSymbols(android.icu.util.Calendar, java.util.Locale);
-    ctor public DateFormatSymbols(android.icu.util.Calendar, android.icu.util.ULocale);
-    ctor public DateFormatSymbols(Class<? extends android.icu.util.Calendar>, java.util.Locale);
-    ctor public DateFormatSymbols(Class<? extends android.icu.util.Calendar>, android.icu.util.ULocale);
-    ctor public DateFormatSymbols(java.util.ResourceBundle, java.util.Locale);
-    ctor public DateFormatSymbols(java.util.ResourceBundle, android.icu.util.ULocale);
-    method public Object clone();
-    method public String[] getAmPmStrings();
-    method public static java.util.Locale[] getAvailableLocales();
-    method public String[] getEraNames();
-    method public String[] getEras();
-    method public static android.icu.text.DateFormatSymbols getInstance();
-    method public static android.icu.text.DateFormatSymbols getInstance(java.util.Locale);
-    method public static android.icu.text.DateFormatSymbols getInstance(android.icu.util.ULocale);
-    method public String getLocalPatternChars();
-    method public String[] getMonths();
-    method public String[] getMonths(int, int);
-    method public String[] getQuarters(int, int);
-    method public String[] getShortMonths();
-    method public String[] getShortWeekdays();
-    method public String[] getWeekdays();
-    method public String[] getWeekdays(int, int);
-    method public String[] getYearNames(int, int);
-    method public String[] getZodiacNames(int, int);
-    method public String[][] getZoneStrings();
-    method protected void initializeData(android.icu.util.ULocale, String);
-    method public void setAmPmStrings(String[]);
-    method public void setEraNames(String[]);
-    method public void setEras(String[]);
-    method public void setLocalPatternChars(String);
-    method public void setMonths(String[]);
-    method public void setMonths(String[], int, int);
-    method public void setQuarters(String[], int, int);
-    method public void setShortMonths(String[]);
-    method public void setShortWeekdays(String[]);
-    method public void setWeekdays(String[], int, int);
-    method public void setWeekdays(String[]);
-    method public void setYearNames(String[], int, int);
-    method public void setZodiacNames(String[], int, int);
-    method public void setZoneStrings(String[][]);
-    field public static final int ABBREVIATED = 0; // 0x0
-    field public static final int FORMAT = 0; // 0x0
-    field public static final int NARROW = 2; // 0x2
-    field public static final int SHORT = 3; // 0x3
-    field public static final int STANDALONE = 1; // 0x1
-    field public static final int WIDE = 1; // 0x1
-  }
-
-  public class DateIntervalFormat extends android.icu.text.UFormat {
-    method public final StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
-    method public final StringBuffer format(android.icu.util.DateInterval, StringBuffer, java.text.FieldPosition);
-    method public final StringBuffer format(android.icu.util.Calendar, android.icu.util.Calendar, StringBuffer, java.text.FieldPosition);
-    method public android.icu.text.DateFormat getDateFormat();
-    method public android.icu.text.DateIntervalInfo getDateIntervalInfo();
-    method public static final android.icu.text.DateIntervalFormat getInstance(String);
-    method public static final android.icu.text.DateIntervalFormat getInstance(String, java.util.Locale);
-    method public static final android.icu.text.DateIntervalFormat getInstance(String, android.icu.util.ULocale);
-    method public static final android.icu.text.DateIntervalFormat getInstance(String, android.icu.text.DateIntervalInfo);
-    method public static final android.icu.text.DateIntervalFormat getInstance(String, java.util.Locale, android.icu.text.DateIntervalInfo);
-    method public static final android.icu.text.DateIntervalFormat getInstance(String, android.icu.util.ULocale, android.icu.text.DateIntervalInfo);
-    method public android.icu.util.TimeZone getTimeZone();
-    method @Deprecated public Object parseObject(String, java.text.ParsePosition);
-    method public void setDateIntervalInfo(android.icu.text.DateIntervalInfo);
-    method public void setTimeZone(android.icu.util.TimeZone);
-  }
-
-  public class DateIntervalInfo implements java.lang.Cloneable android.icu.util.Freezable<android.icu.text.DateIntervalInfo> java.io.Serializable {
-    ctor public DateIntervalInfo(android.icu.util.ULocale);
-    ctor public DateIntervalInfo(java.util.Locale);
-    method public Object clone();
-    method public android.icu.text.DateIntervalInfo cloneAsThawed();
-    method public android.icu.text.DateIntervalInfo freeze();
-    method public boolean getDefaultOrder();
-    method public String getFallbackIntervalPattern();
-    method public android.icu.text.DateIntervalInfo.PatternInfo getIntervalPattern(String, int);
-    method public boolean isFrozen();
-    method public void setFallbackIntervalPattern(String);
-    method public void setIntervalPattern(String, int, String);
-  }
-
-  public static final class DateIntervalInfo.PatternInfo implements java.lang.Cloneable java.io.Serializable {
-    ctor public DateIntervalInfo.PatternInfo(String, String, boolean);
-    method public boolean firstDateInPtnIsLaterDate();
-    method public String getFirstPart();
-    method public String getSecondPart();
-  }
-
-  public class DateTimePatternGenerator implements java.lang.Cloneable android.icu.util.Freezable<android.icu.text.DateTimePatternGenerator> {
-    ctor protected DateTimePatternGenerator();
-    method public android.icu.text.DateTimePatternGenerator addPattern(String, boolean, android.icu.text.DateTimePatternGenerator.PatternInfo);
-    method public Object clone();
-    method public android.icu.text.DateTimePatternGenerator cloneAsThawed();
-    method public android.icu.text.DateTimePatternGenerator freeze();
-    method public String getAppendItemFormat(int);
-    method public String getAppendItemName(int);
-    method public String getBaseSkeleton(String);
-    method public java.util.Set<java.lang.String> getBaseSkeletons(java.util.Set<java.lang.String>);
-    method public String getBestPattern(String);
-    method public String getBestPattern(String, int);
-    method public String getDateTimeFormat();
-    method public String getDecimal();
-    method public static android.icu.text.DateTimePatternGenerator getEmptyInstance();
-    method public String getFieldDisplayName(int, android.icu.text.DateTimePatternGenerator.DisplayWidth);
-    method public static android.icu.text.DateTimePatternGenerator getInstance();
-    method public static android.icu.text.DateTimePatternGenerator getInstance(android.icu.util.ULocale);
-    method public static android.icu.text.DateTimePatternGenerator getInstance(java.util.Locale);
-    method public String getSkeleton(String);
-    method public java.util.Map<java.lang.String,java.lang.String> getSkeletons(java.util.Map<java.lang.String,java.lang.String>);
-    method public boolean isFrozen();
-    method public String replaceFieldTypes(String, String);
-    method public String replaceFieldTypes(String, String, int);
-    method public void setAppendItemFormat(int, String);
-    method public void setAppendItemName(int, String);
-    method public void setDateTimeFormat(String);
-    method public void setDecimal(String);
-    field public static final int DAY = 7; // 0x7
-    field public static final int DAYPERIOD = 10; // 0xa
-    field public static final int DAY_OF_WEEK_IN_MONTH = 9; // 0x9
-    field public static final int DAY_OF_YEAR = 8; // 0x8
-    field public static final int ERA = 0; // 0x0
-    field public static final int FRACTIONAL_SECOND = 14; // 0xe
-    field public static final int HOUR = 11; // 0xb
-    field public static final int MATCH_ALL_FIELDS_LENGTH = 65535; // 0xffff
-    field public static final int MATCH_HOUR_FIELD_LENGTH = 2048; // 0x800
-    field public static final int MATCH_NO_OPTIONS = 0; // 0x0
-    field public static final int MINUTE = 12; // 0xc
-    field public static final int MONTH = 3; // 0x3
-    field public static final int QUARTER = 2; // 0x2
-    field public static final int SECOND = 13; // 0xd
-    field public static final int WEEKDAY = 6; // 0x6
-    field public static final int WEEK_OF_MONTH = 5; // 0x5
-    field public static final int WEEK_OF_YEAR = 4; // 0x4
-    field public static final int YEAR = 1; // 0x1
-    field public static final int ZONE = 15; // 0xf
-  }
-
-  public enum DateTimePatternGenerator.DisplayWidth {
-    enum_constant public static final android.icu.text.DateTimePatternGenerator.DisplayWidth ABBREVIATED;
-    enum_constant public static final android.icu.text.DateTimePatternGenerator.DisplayWidth NARROW;
-    enum_constant public static final android.icu.text.DateTimePatternGenerator.DisplayWidth WIDE;
-  }
-
-  public static final class DateTimePatternGenerator.PatternInfo {
-    ctor public DateTimePatternGenerator.PatternInfo();
-    field public static final int BASE_CONFLICT = 1; // 0x1
-    field public static final int CONFLICT = 2; // 0x2
-    field public static final int OK = 0; // 0x0
-    field public String conflictingPattern;
-    field public int status;
-  }
-
-  public class DecimalFormat extends android.icu.text.NumberFormat {
-    ctor public DecimalFormat();
-    ctor public DecimalFormat(String);
-    ctor public DecimalFormat(String, android.icu.text.DecimalFormatSymbols);
-    ctor public DecimalFormat(String, android.icu.text.DecimalFormatSymbols, android.icu.text.CurrencyPluralInfo, int);
-    method public void applyLocalizedPattern(String);
-    method public void applyPattern(String);
-    method public boolean areSignificantDigitsUsed();
-    method public StringBuffer format(double, StringBuffer, java.text.FieldPosition);
-    method public StringBuffer format(long, StringBuffer, java.text.FieldPosition);
-    method public StringBuffer format(java.math.BigInteger, StringBuffer, java.text.FieldPosition);
-    method public StringBuffer format(java.math.BigDecimal, StringBuffer, java.text.FieldPosition);
-    method public StringBuffer format(android.icu.math.BigDecimal, StringBuffer, java.text.FieldPosition);
-    method public android.icu.text.CurrencyPluralInfo getCurrencyPluralInfo();
-    method public android.icu.util.Currency.CurrencyUsage getCurrencyUsage();
-    method public android.icu.text.DecimalFormatSymbols getDecimalFormatSymbols();
-    method public int getFormatWidth();
-    method public int getGroupingSize();
-    method public java.math.MathContext getMathContext();
-    method public android.icu.math.MathContext getMathContextICU();
-    method public int getMaximumSignificantDigits();
-    method public byte getMinimumExponentDigits();
-    method public int getMinimumSignificantDigits();
-    method public int getMultiplier();
-    method public String getNegativePrefix();
-    method public String getNegativeSuffix();
-    method public char getPadCharacter();
-    method public int getPadPosition();
-    method @Deprecated public int getParseMaxDigits();
-    method public String getPositivePrefix();
-    method public String getPositiveSuffix();
-    method public java.math.BigDecimal getRoundingIncrement();
-    method public int getSecondaryGroupingSize();
-    method public boolean isDecimalPatternMatchRequired();
-    method public boolean isDecimalSeparatorAlwaysShown();
-    method public boolean isExponentSignAlwaysShown();
-    method public boolean isParseBigDecimal();
-    method public boolean isScientificNotation();
-    method public Number parse(String, java.text.ParsePosition);
-    method public void setCurrencyPluralInfo(android.icu.text.CurrencyPluralInfo);
-    method public void setCurrencyUsage(android.icu.util.Currency.CurrencyUsage);
-    method public void setDecimalFormatSymbols(android.icu.text.DecimalFormatSymbols);
-    method public void setDecimalPatternMatchRequired(boolean);
-    method public void setDecimalSeparatorAlwaysShown(boolean);
-    method public void setExponentSignAlwaysShown(boolean);
-    method public void setFormatWidth(int);
-    method public void setGroupingSize(int);
-    method public void setMathContext(java.math.MathContext);
-    method public void setMathContextICU(android.icu.math.MathContext);
-    method public void setMaximumSignificantDigits(int);
-    method public void setMinimumExponentDigits(byte);
-    method public void setMinimumSignificantDigits(int);
-    method public void setMultiplier(int);
-    method public void setNegativePrefix(String);
-    method public void setNegativeSuffix(String);
-    method public void setPadCharacter(char);
-    method public void setPadPosition(int);
-    method public void setParseBigDecimal(boolean);
-    method @Deprecated public void setParseMaxDigits(int);
-    method public void setPositivePrefix(String);
-    method public void setPositiveSuffix(String);
-    method public void setRoundingIncrement(java.math.BigDecimal);
-    method public void setRoundingIncrement(android.icu.math.BigDecimal);
-    method public void setRoundingIncrement(double);
-    method public void setScientificNotation(boolean);
-    method public void setSecondaryGroupingSize(int);
-    method public void setSignificantDigitsUsed(boolean);
-    method public String toLocalizedPattern();
-    method public String toPattern();
-    field public static final int PAD_AFTER_PREFIX = 1; // 0x1
-    field public static final int PAD_AFTER_SUFFIX = 3; // 0x3
-    field public static final int PAD_BEFORE_PREFIX = 0; // 0x0
-    field public static final int PAD_BEFORE_SUFFIX = 2; // 0x2
-  }
-
-  public class DecimalFormatSymbols implements java.lang.Cloneable java.io.Serializable {
-    ctor public DecimalFormatSymbols();
-    ctor public DecimalFormatSymbols(java.util.Locale);
-    ctor public DecimalFormatSymbols(android.icu.util.ULocale);
-    method public Object clone();
-    method public static android.icu.text.DecimalFormatSymbols forNumberingSystem(java.util.Locale, android.icu.text.NumberingSystem);
-    method public static android.icu.text.DecimalFormatSymbols forNumberingSystem(android.icu.util.ULocale, android.icu.text.NumberingSystem);
-    method public static java.util.Locale[] getAvailableLocales();
-    method public android.icu.util.Currency getCurrency();
-    method public String getCurrencySymbol();
-    method public char getDecimalSeparator();
-    method public String getDecimalSeparatorString();
-    method public char getDigit();
-    method public String[] getDigitStrings();
-    method public char[] getDigits();
-    method public String getExponentMultiplicationSign();
-    method public String getExponentSeparator();
-    method public char getGroupingSeparator();
-    method public String getGroupingSeparatorString();
-    method public String getInfinity();
-    method public static android.icu.text.DecimalFormatSymbols getInstance();
-    method public static android.icu.text.DecimalFormatSymbols getInstance(java.util.Locale);
-    method public static android.icu.text.DecimalFormatSymbols getInstance(android.icu.util.ULocale);
-    method public String getInternationalCurrencySymbol();
-    method public java.util.Locale getLocale();
-    method public char getMinusSign();
-    method public String getMinusSignString();
-    method public char getMonetaryDecimalSeparator();
-    method public String getMonetaryDecimalSeparatorString();
-    method public char getMonetaryGroupingSeparator();
-    method public String getMonetaryGroupingSeparatorString();
-    method public String getNaN();
-    method public char getPadEscape();
-    method public String getPatternForCurrencySpacing(int, boolean);
-    method public char getPatternSeparator();
-    method public char getPerMill();
-    method public String getPerMillString();
-    method public char getPercent();
-    method public String getPercentString();
-    method public char getPlusSign();
-    method public String getPlusSignString();
-    method public char getSignificantDigit();
-    method public android.icu.util.ULocale getULocale();
-    method public char getZeroDigit();
-    method public void setCurrency(android.icu.util.Currency);
-    method public void setCurrencySymbol(String);
-    method public void setDecimalSeparator(char);
-    method public void setDecimalSeparatorString(String);
-    method public void setDigit(char);
-    method public void setDigitStrings(String[]);
-    method public void setExponentMultiplicationSign(String);
-    method public void setExponentSeparator(String);
-    method public void setGroupingSeparator(char);
-    method public void setGroupingSeparatorString(String);
-    method public void setInfinity(String);
-    method public void setInternationalCurrencySymbol(String);
-    method public void setMinusSign(char);
-    method public void setMinusSignString(String);
-    method public void setMonetaryDecimalSeparator(char);
-    method public void setMonetaryDecimalSeparatorString(String);
-    method public void setMonetaryGroupingSeparator(char);
-    method public void setMonetaryGroupingSeparatorString(String);
-    method public void setNaN(String);
-    method public void setPadEscape(char);
-    method public void setPatternForCurrencySpacing(int, boolean, String);
-    method public void setPatternSeparator(char);
-    method public void setPerMill(char);
-    method public void setPerMillString(String);
-    method public void setPercent(char);
-    method public void setPercentString(String);
-    method public void setPlusSign(char);
-    method public void setPlusSignString(String);
-    method public void setSignificantDigit(char);
-    method public void setZeroDigit(char);
-    field public static final int CURRENCY_SPC_CURRENCY_MATCH = 0; // 0x0
-    field public static final int CURRENCY_SPC_INSERT = 2; // 0x2
-    field public static final int CURRENCY_SPC_SURROUNDING_MATCH = 1; // 0x1
-  }
-
-  public enum DisplayContext {
-    method public android.icu.text.DisplayContext.Type type();
-    method public int value();
-    enum_constant public static final android.icu.text.DisplayContext CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE;
-    enum_constant public static final android.icu.text.DisplayContext CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE;
-    enum_constant public static final android.icu.text.DisplayContext CAPITALIZATION_FOR_STANDALONE;
-    enum_constant public static final android.icu.text.DisplayContext CAPITALIZATION_FOR_UI_LIST_OR_MENU;
-    enum_constant public static final android.icu.text.DisplayContext CAPITALIZATION_NONE;
-    enum_constant public static final android.icu.text.DisplayContext DIALECT_NAMES;
-    enum_constant public static final android.icu.text.DisplayContext LENGTH_FULL;
-    enum_constant public static final android.icu.text.DisplayContext LENGTH_SHORT;
-    enum_constant public static final android.icu.text.DisplayContext NO_SUBSTITUTE;
-    enum_constant public static final android.icu.text.DisplayContext STANDARD_NAMES;
-    enum_constant public static final android.icu.text.DisplayContext SUBSTITUTE;
-  }
-
-  public enum DisplayContext.Type {
-    enum_constant public static final android.icu.text.DisplayContext.Type CAPITALIZATION;
-    enum_constant public static final android.icu.text.DisplayContext.Type DIALECT_HANDLING;
-    enum_constant public static final android.icu.text.DisplayContext.Type DISPLAY_LENGTH;
-    enum_constant public static final android.icu.text.DisplayContext.Type SUBSTITUTE_HANDLING;
-  }
-
-  public final class Edits {
-    ctor public Edits();
-    method public void addReplace(int, int);
-    method public void addUnchanged(int);
-    method public android.icu.text.Edits.Iterator getCoarseChangesIterator();
-    method public android.icu.text.Edits.Iterator getCoarseIterator();
-    method public android.icu.text.Edits.Iterator getFineChangesIterator();
-    method public android.icu.text.Edits.Iterator getFineIterator();
-    method public boolean hasChanges();
-    method public int lengthDelta();
-    method public android.icu.text.Edits mergeAndAppend(android.icu.text.Edits, android.icu.text.Edits);
-    method public int numberOfChanges();
-    method public void reset();
-  }
-
-  public static final class Edits.Iterator {
-    method public int destinationIndex();
-    method public int destinationIndexFromSourceIndex(int);
-    method public boolean findDestinationIndex(int);
-    method public boolean findSourceIndex(int);
-    method public boolean hasChange();
-    method public int newLength();
-    method public boolean next();
-    method public int oldLength();
-    method public int replacementIndex();
-    method public int sourceIndex();
-    method public int sourceIndexFromDestinationIndex(int);
-  }
-
-  public abstract class IDNA {
-    method public static android.icu.text.IDNA getUTS46Instance(int);
-    method public abstract StringBuilder labelToASCII(CharSequence, StringBuilder, android.icu.text.IDNA.Info);
-    method public abstract StringBuilder labelToUnicode(CharSequence, StringBuilder, android.icu.text.IDNA.Info);
-    method public abstract StringBuilder nameToASCII(CharSequence, StringBuilder, android.icu.text.IDNA.Info);
-    method public abstract StringBuilder nameToUnicode(CharSequence, StringBuilder, android.icu.text.IDNA.Info);
-    field public static final int CHECK_BIDI = 4; // 0x4
-    field public static final int CHECK_CONTEXTJ = 8; // 0x8
-    field public static final int CHECK_CONTEXTO = 64; // 0x40
-    field public static final int DEFAULT = 0; // 0x0
-    field public static final int NONTRANSITIONAL_TO_ASCII = 16; // 0x10
-    field public static final int NONTRANSITIONAL_TO_UNICODE = 32; // 0x20
-    field public static final int USE_STD3_RULES = 2; // 0x2
-  }
-
-  public enum IDNA.Error {
-    enum_constant public static final android.icu.text.IDNA.Error BIDI;
-    enum_constant public static final android.icu.text.IDNA.Error CONTEXTJ;
-    enum_constant public static final android.icu.text.IDNA.Error CONTEXTO_DIGITS;
-    enum_constant public static final android.icu.text.IDNA.Error CONTEXTO_PUNCTUATION;
-    enum_constant public static final android.icu.text.IDNA.Error DISALLOWED;
-    enum_constant public static final android.icu.text.IDNA.Error DOMAIN_NAME_TOO_LONG;
-    enum_constant public static final android.icu.text.IDNA.Error EMPTY_LABEL;
-    enum_constant public static final android.icu.text.IDNA.Error HYPHEN_3_4;
-    enum_constant public static final android.icu.text.IDNA.Error INVALID_ACE_LABEL;
-    enum_constant public static final android.icu.text.IDNA.Error LABEL_HAS_DOT;
-    enum_constant public static final android.icu.text.IDNA.Error LABEL_TOO_LONG;
-    enum_constant public static final android.icu.text.IDNA.Error LEADING_COMBINING_MARK;
-    enum_constant public static final android.icu.text.IDNA.Error LEADING_HYPHEN;
-    enum_constant public static final android.icu.text.IDNA.Error PUNYCODE;
-    enum_constant public static final android.icu.text.IDNA.Error TRAILING_HYPHEN;
-  }
-
-  public static final class IDNA.Info {
-    ctor public IDNA.Info();
-    method public java.util.Set<android.icu.text.IDNA.Error> getErrors();
-    method public boolean hasErrors();
-    method public boolean isTransitionalDifferent();
-  }
-
-  public final class ListFormatter {
-    method public String format(java.lang.Object...);
-    method public String format(java.util.Collection<?>);
-    method public static android.icu.text.ListFormatter getInstance(android.icu.util.ULocale);
-    method public static android.icu.text.ListFormatter getInstance(java.util.Locale);
-    method public static android.icu.text.ListFormatter getInstance();
-    method public String getPatternForNumItems(int);
-  }
-
-  public abstract class LocaleDisplayNames {
-    method public abstract android.icu.text.DisplayContext getContext(android.icu.text.DisplayContext.Type);
-    method public abstract android.icu.text.LocaleDisplayNames.DialectHandling getDialectHandling();
-    method public static android.icu.text.LocaleDisplayNames getInstance(android.icu.util.ULocale);
-    method public static android.icu.text.LocaleDisplayNames getInstance(java.util.Locale);
-    method public static android.icu.text.LocaleDisplayNames getInstance(android.icu.util.ULocale, android.icu.text.LocaleDisplayNames.DialectHandling);
-    method public static android.icu.text.LocaleDisplayNames getInstance(android.icu.util.ULocale, android.icu.text.DisplayContext...);
-    method public static android.icu.text.LocaleDisplayNames getInstance(java.util.Locale, android.icu.text.DisplayContext...);
-    method public abstract android.icu.util.ULocale getLocale();
-    method public java.util.List<android.icu.text.LocaleDisplayNames.UiListItem> getUiList(java.util.Set<android.icu.util.ULocale>, boolean, java.util.Comparator<java.lang.Object>);
-    method public abstract java.util.List<android.icu.text.LocaleDisplayNames.UiListItem> getUiListCompareWholeItems(java.util.Set<android.icu.util.ULocale>, java.util.Comparator<android.icu.text.LocaleDisplayNames.UiListItem>);
-    method public abstract String keyDisplayName(String);
-    method public abstract String keyValueDisplayName(String, String);
-    method public abstract String languageDisplayName(String);
-    method public abstract String localeDisplayName(android.icu.util.ULocale);
-    method public abstract String localeDisplayName(java.util.Locale);
-    method public abstract String localeDisplayName(String);
-    method public abstract String regionDisplayName(String);
-    method public abstract String scriptDisplayName(String);
-    method public abstract String scriptDisplayName(int);
-    method public abstract String variantDisplayName(String);
-  }
-
-  public enum LocaleDisplayNames.DialectHandling {
-    enum_constant public static final android.icu.text.LocaleDisplayNames.DialectHandling DIALECT_NAMES;
-    enum_constant public static final android.icu.text.LocaleDisplayNames.DialectHandling STANDARD_NAMES;
-  }
-
-  public static class LocaleDisplayNames.UiListItem {
-    ctor public LocaleDisplayNames.UiListItem(android.icu.util.ULocale, android.icu.util.ULocale, String, String);
-    method public static java.util.Comparator<android.icu.text.LocaleDisplayNames.UiListItem> getComparator(java.util.Comparator<java.lang.Object>, boolean);
-    field public final android.icu.util.ULocale minimized;
-    field public final android.icu.util.ULocale modified;
-    field public final String nameInDisplayLocale;
-    field public final String nameInSelf;
-  }
-
-  public class MeasureFormat extends android.icu.text.UFormat {
-    method public final boolean equals(Object);
-    method public StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
-    method public StringBuilder formatMeasurePerUnit(android.icu.util.Measure, android.icu.util.MeasureUnit, StringBuilder, java.text.FieldPosition);
-    method public final String formatMeasures(android.icu.util.Measure...);
-    method public StringBuilder formatMeasures(StringBuilder, java.text.FieldPosition, android.icu.util.Measure...);
-    method public static android.icu.text.MeasureFormat getCurrencyFormat(android.icu.util.ULocale);
-    method public static android.icu.text.MeasureFormat getCurrencyFormat(java.util.Locale);
-    method public static android.icu.text.MeasureFormat getCurrencyFormat();
-    method public static android.icu.text.MeasureFormat getInstance(android.icu.util.ULocale, android.icu.text.MeasureFormat.FormatWidth);
-    method public static android.icu.text.MeasureFormat getInstance(java.util.Locale, android.icu.text.MeasureFormat.FormatWidth);
-    method public static android.icu.text.MeasureFormat getInstance(android.icu.util.ULocale, android.icu.text.MeasureFormat.FormatWidth, android.icu.text.NumberFormat);
-    method public static android.icu.text.MeasureFormat getInstance(java.util.Locale, android.icu.text.MeasureFormat.FormatWidth, android.icu.text.NumberFormat);
-    method public final android.icu.util.ULocale getLocale();
-    method public android.icu.text.NumberFormat getNumberFormat();
-    method public String getUnitDisplayName(android.icu.util.MeasureUnit);
-    method public android.icu.text.MeasureFormat.FormatWidth getWidth();
-    method public final int hashCode();
-    method public android.icu.util.Measure parseObject(String, java.text.ParsePosition);
-  }
-
-  public enum MeasureFormat.FormatWidth {
-    enum_constant public static final android.icu.text.MeasureFormat.FormatWidth NARROW;
-    enum_constant public static final android.icu.text.MeasureFormat.FormatWidth NUMERIC;
-    enum_constant public static final android.icu.text.MeasureFormat.FormatWidth SHORT;
-    enum_constant public static final android.icu.text.MeasureFormat.FormatWidth WIDE;
-  }
-
-  public class MessageFormat extends android.icu.text.UFormat {
-    ctor public MessageFormat(String);
-    ctor public MessageFormat(String, java.util.Locale);
-    ctor public MessageFormat(String, android.icu.util.ULocale);
-    method public void applyPattern(String);
-    method public void applyPattern(String, android.icu.text.MessagePattern.ApostropheMode);
-    method public static String autoQuoteApostrophe(String);
-    method public final StringBuffer format(Object[], StringBuffer, java.text.FieldPosition);
-    method public final StringBuffer format(java.util.Map<java.lang.String,java.lang.Object>, StringBuffer, java.text.FieldPosition);
-    method public static String format(String, java.lang.Object...);
-    method public static String format(String, java.util.Map<java.lang.String,java.lang.Object>);
-    method public final StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
-    method public android.icu.text.MessagePattern.ApostropheMode getApostropheMode();
-    method public java.util.Set<java.lang.String> getArgumentNames();
-    method public java.text.Format getFormatByArgumentName(String);
-    method public java.text.Format[] getFormats();
-    method public java.text.Format[] getFormatsByArgumentIndex();
-    method public java.util.Locale getLocale();
-    method public android.icu.util.ULocale getULocale();
-    method public Object[] parse(String, java.text.ParsePosition);
-    method public Object[] parse(String) throws java.text.ParseException;
-    method public Object parseObject(String, java.text.ParsePosition);
-    method public java.util.Map<java.lang.String,java.lang.Object> parseToMap(String, java.text.ParsePosition);
-    method public java.util.Map<java.lang.String,java.lang.Object> parseToMap(String) throws java.text.ParseException;
-    method public void setFormat(int, java.text.Format);
-    method public void setFormatByArgumentIndex(int, java.text.Format);
-    method public void setFormatByArgumentName(String, java.text.Format);
-    method public void setFormats(java.text.Format[]);
-    method public void setFormatsByArgumentIndex(java.text.Format[]);
-    method public void setFormatsByArgumentName(java.util.Map<java.lang.String,java.text.Format>);
-    method public void setLocale(java.util.Locale);
-    method public void setLocale(android.icu.util.ULocale);
-    method public String toPattern();
-    method public boolean usesNamedArguments();
-  }
-
-  public static class MessageFormat.Field extends java.text.Format.Field {
-    ctor protected MessageFormat.Field(String);
-    field public static final android.icu.text.MessageFormat.Field ARGUMENT;
-  }
-
-  public final class MessagePattern implements java.lang.Cloneable android.icu.util.Freezable<android.icu.text.MessagePattern> {
-    ctor public MessagePattern();
-    ctor public MessagePattern(android.icu.text.MessagePattern.ApostropheMode);
-    ctor public MessagePattern(String);
-    method public String autoQuoteApostropheDeep();
-    method public void clear();
-    method public void clearPatternAndSetApostropheMode(android.icu.text.MessagePattern.ApostropheMode);
-    method public Object clone();
-    method public android.icu.text.MessagePattern cloneAsThawed();
-    method public int countParts();
-    method public android.icu.text.MessagePattern freeze();
-    method public android.icu.text.MessagePattern.ApostropheMode getApostropheMode();
-    method public int getLimitPartIndex(int);
-    method public double getNumericValue(android.icu.text.MessagePattern.Part);
-    method public android.icu.text.MessagePattern.Part getPart(int);
-    method public android.icu.text.MessagePattern.Part.Type getPartType(int);
-    method public int getPatternIndex(int);
-    method public String getPatternString();
-    method public double getPluralOffset(int);
-    method public String getSubstring(android.icu.text.MessagePattern.Part);
-    method public boolean hasNamedArguments();
-    method public boolean hasNumberedArguments();
-    method public boolean isFrozen();
-    method public android.icu.text.MessagePattern parse(String);
-    method public android.icu.text.MessagePattern parseChoiceStyle(String);
-    method public android.icu.text.MessagePattern parsePluralStyle(String);
-    method public android.icu.text.MessagePattern parseSelectStyle(String);
-    method public boolean partSubstringMatches(android.icu.text.MessagePattern.Part, String);
-    method public static int validateArgumentName(String);
-    field public static final int ARG_NAME_NOT_NUMBER = -1; // 0xffffffff
-    field public static final int ARG_NAME_NOT_VALID = -2; // 0xfffffffe
-    field public static final double NO_NUMERIC_VALUE = -1.23456789E8;
-  }
-
-  public enum MessagePattern.ApostropheMode {
-    enum_constant public static final android.icu.text.MessagePattern.ApostropheMode DOUBLE_OPTIONAL;
-    enum_constant public static final android.icu.text.MessagePattern.ApostropheMode DOUBLE_REQUIRED;
-  }
-
-  public enum MessagePattern.ArgType {
-    method public boolean hasPluralStyle();
-    enum_constant public static final android.icu.text.MessagePattern.ArgType CHOICE;
-    enum_constant public static final android.icu.text.MessagePattern.ArgType NONE;
-    enum_constant public static final android.icu.text.MessagePattern.ArgType PLURAL;
-    enum_constant public static final android.icu.text.MessagePattern.ArgType SELECT;
-    enum_constant public static final android.icu.text.MessagePattern.ArgType SELECTORDINAL;
-    enum_constant public static final android.icu.text.MessagePattern.ArgType SIMPLE;
-  }
-
-  public static final class MessagePattern.Part {
-    method public android.icu.text.MessagePattern.ArgType getArgType();
-    method public int getIndex();
-    method public int getLength();
-    method public int getLimit();
-    method public android.icu.text.MessagePattern.Part.Type getType();
-    method public int getValue();
-  }
-
-  public enum MessagePattern.Part.Type {
-    method public boolean hasNumericValue();
-    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_DOUBLE;
-    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_INT;
-    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_LIMIT;
-    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_NAME;
-    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_NUMBER;
-    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_SELECTOR;
-    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_START;
-    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_STYLE;
-    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_TYPE;
-    enum_constant public static final android.icu.text.MessagePattern.Part.Type INSERT_CHAR;
-    enum_constant public static final android.icu.text.MessagePattern.Part.Type MSG_LIMIT;
-    enum_constant public static final android.icu.text.MessagePattern.Part.Type MSG_START;
-    enum_constant public static final android.icu.text.MessagePattern.Part.Type REPLACE_NUMBER;
-    enum_constant public static final android.icu.text.MessagePattern.Part.Type SKIP_SYNTAX;
-  }
-
-  public final class Normalizer implements java.lang.Cloneable {
-    method @Deprecated public Object clone();
-    method public static int compare(char[], int, int, char[], int, int, int);
-    method public static int compare(String, String, int);
-    method public static int compare(char[], char[], int);
-    method public static int compare(int, int, int);
-    method public static int compare(int, String, int);
-    field public static final int COMPARE_CODE_POINT_ORDER = 32768; // 0x8000
-    field public static final int COMPARE_IGNORE_CASE = 65536; // 0x10000
-    field public static final int FOLD_CASE_DEFAULT = 0; // 0x0
-    field public static final int FOLD_CASE_EXCLUDE_SPECIAL_I = 1; // 0x1
-    field public static final int INPUT_IS_FCD = 131072; // 0x20000
-    field public static final android.icu.text.Normalizer.QuickCheckResult MAYBE;
-    field public static final android.icu.text.Normalizer.QuickCheckResult NO;
-    field public static final android.icu.text.Normalizer.QuickCheckResult YES;
-  }
-
-  public static final class Normalizer.QuickCheckResult {
-  }
-
-  public abstract class Normalizer2 {
-    method public abstract StringBuilder append(StringBuilder, CharSequence);
-    method public int composePair(int, int);
-    method public int getCombiningClass(int);
-    method public abstract String getDecomposition(int);
-    method public static android.icu.text.Normalizer2 getInstance(java.io.InputStream, String, android.icu.text.Normalizer2.Mode);
-    method public static android.icu.text.Normalizer2 getNFCInstance();
-    method public static android.icu.text.Normalizer2 getNFDInstance();
-    method public static android.icu.text.Normalizer2 getNFKCCasefoldInstance();
-    method public static android.icu.text.Normalizer2 getNFKCInstance();
-    method public static android.icu.text.Normalizer2 getNFKDInstance();
-    method public String getRawDecomposition(int);
-    method public abstract boolean hasBoundaryAfter(int);
-    method public abstract boolean hasBoundaryBefore(int);
-    method public abstract boolean isInert(int);
-    method public abstract boolean isNormalized(CharSequence);
-    method public String normalize(CharSequence);
-    method public abstract StringBuilder normalize(CharSequence, StringBuilder);
-    method public abstract Appendable normalize(CharSequence, Appendable);
-    method public abstract StringBuilder normalizeSecondAndAppend(StringBuilder, CharSequence);
-    method public abstract android.icu.text.Normalizer.QuickCheckResult quickCheck(CharSequence);
-    method public abstract int spanQuickCheckYes(CharSequence);
-  }
-
-  public enum Normalizer2.Mode {
-    enum_constant public static final android.icu.text.Normalizer2.Mode COMPOSE;
-    enum_constant public static final android.icu.text.Normalizer2.Mode COMPOSE_CONTIGUOUS;
-    enum_constant public static final android.icu.text.Normalizer2.Mode DECOMPOSE;
-    enum_constant public static final android.icu.text.Normalizer2.Mode FCD;
-  }
-
-  public abstract class NumberFormat extends android.icu.text.UFormat {
-    ctor public NumberFormat();
-    method public StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
-    method public final String format(double);
-    method public final String format(long);
-    method public final String format(java.math.BigInteger);
-    method public final String format(java.math.BigDecimal);
-    method public final String format(android.icu.math.BigDecimal);
-    method public final String format(android.icu.util.CurrencyAmount);
-    method public abstract StringBuffer format(double, StringBuffer, java.text.FieldPosition);
-    method public abstract StringBuffer format(long, StringBuffer, java.text.FieldPosition);
-    method public abstract StringBuffer format(java.math.BigInteger, StringBuffer, java.text.FieldPosition);
-    method public abstract StringBuffer format(java.math.BigDecimal, StringBuffer, java.text.FieldPosition);
-    method public abstract StringBuffer format(android.icu.math.BigDecimal, StringBuffer, java.text.FieldPosition);
-    method public StringBuffer format(android.icu.util.CurrencyAmount, StringBuffer, java.text.FieldPosition);
-    method public static java.util.Locale[] getAvailableLocales();
-    method public android.icu.text.DisplayContext getContext(android.icu.text.DisplayContext.Type);
-    method public android.icu.util.Currency getCurrency();
-    method public static final android.icu.text.NumberFormat getCurrencyInstance();
-    method public static android.icu.text.NumberFormat getCurrencyInstance(java.util.Locale);
-    method public static android.icu.text.NumberFormat getCurrencyInstance(android.icu.util.ULocale);
-    method public static final android.icu.text.NumberFormat getInstance();
-    method public static android.icu.text.NumberFormat getInstance(java.util.Locale);
-    method public static android.icu.text.NumberFormat getInstance(android.icu.util.ULocale);
-    method public static final android.icu.text.NumberFormat getInstance(int);
-    method public static android.icu.text.NumberFormat getInstance(java.util.Locale, int);
-    method public static android.icu.text.NumberFormat getInstance(android.icu.util.ULocale, int);
-    method public static final android.icu.text.NumberFormat getIntegerInstance();
-    method public static android.icu.text.NumberFormat getIntegerInstance(java.util.Locale);
-    method public static android.icu.text.NumberFormat getIntegerInstance(android.icu.util.ULocale);
-    method public int getMaximumFractionDigits();
-    method public int getMaximumIntegerDigits();
-    method public int getMinimumFractionDigits();
-    method public int getMinimumIntegerDigits();
-    method public static final android.icu.text.NumberFormat getNumberInstance();
-    method public static android.icu.text.NumberFormat getNumberInstance(java.util.Locale);
-    method public static android.icu.text.NumberFormat getNumberInstance(android.icu.util.ULocale);
-    method protected static String getPattern(android.icu.util.ULocale, int);
-    method public static final android.icu.text.NumberFormat getPercentInstance();
-    method public static android.icu.text.NumberFormat getPercentInstance(java.util.Locale);
-    method public static android.icu.text.NumberFormat getPercentInstance(android.icu.util.ULocale);
-    method public int getRoundingMode();
-    method public static final android.icu.text.NumberFormat getScientificInstance();
-    method public static android.icu.text.NumberFormat getScientificInstance(java.util.Locale);
-    method public static android.icu.text.NumberFormat getScientificInstance(android.icu.util.ULocale);
-    method public boolean isGroupingUsed();
-    method public boolean isParseIntegerOnly();
-    method public boolean isParseStrict();
-    method public abstract Number parse(String, java.text.ParsePosition);
-    method public Number parse(String) throws java.text.ParseException;
-    method public android.icu.util.CurrencyAmount parseCurrency(CharSequence, java.text.ParsePosition);
-    method public final Object parseObject(String, java.text.ParsePosition);
-    method public void setContext(android.icu.text.DisplayContext);
-    method public void setCurrency(android.icu.util.Currency);
-    method public void setGroupingUsed(boolean);
-    method public void setMaximumFractionDigits(int);
-    method public void setMaximumIntegerDigits(int);
-    method public void setMinimumFractionDigits(int);
-    method public void setMinimumIntegerDigits(int);
-    method public void setParseIntegerOnly(boolean);
-    method public void setParseStrict(boolean);
-    method public void setRoundingMode(int);
-    field public static final int ACCOUNTINGCURRENCYSTYLE = 7; // 0x7
-    field public static final int CASHCURRENCYSTYLE = 8; // 0x8
-    field public static final int CURRENCYSTYLE = 1; // 0x1
-    field public static final int FRACTION_FIELD = 1; // 0x1
-    field public static final int INTEGERSTYLE = 4; // 0x4
-    field public static final int INTEGER_FIELD = 0; // 0x0
-    field public static final int ISOCURRENCYSTYLE = 5; // 0x5
-    field public static final int NUMBERSTYLE = 0; // 0x0
-    field public static final int PERCENTSTYLE = 2; // 0x2
-    field public static final int PLURALCURRENCYSTYLE = 6; // 0x6
-    field public static final int SCIENTIFICSTYLE = 3; // 0x3
-    field public static final int STANDARDCURRENCYSTYLE = 9; // 0x9
-  }
-
-  public static class NumberFormat.Field extends java.text.Format.Field {
-    ctor protected NumberFormat.Field(String);
-    field public static final android.icu.text.NumberFormat.Field CURRENCY;
-    field public static final android.icu.text.NumberFormat.Field DECIMAL_SEPARATOR;
-    field public static final android.icu.text.NumberFormat.Field EXPONENT;
-    field public static final android.icu.text.NumberFormat.Field EXPONENT_SIGN;
-    field public static final android.icu.text.NumberFormat.Field EXPONENT_SYMBOL;
-    field public static final android.icu.text.NumberFormat.Field FRACTION;
-    field public static final android.icu.text.NumberFormat.Field GROUPING_SEPARATOR;
-    field public static final android.icu.text.NumberFormat.Field INTEGER;
-    field public static final android.icu.text.NumberFormat.Field PERCENT;
-    field public static final android.icu.text.NumberFormat.Field PERMILLE;
-    field public static final android.icu.text.NumberFormat.Field SIGN;
-  }
-
-  public class NumberingSystem {
-    ctor public NumberingSystem();
-    method public static String[] getAvailableNames();
-    method public String getDescription();
-    method public static android.icu.text.NumberingSystem getInstance(int, boolean, String);
-    method public static android.icu.text.NumberingSystem getInstance(java.util.Locale);
-    method public static android.icu.text.NumberingSystem getInstance(android.icu.util.ULocale);
-    method public static android.icu.text.NumberingSystem getInstance();
-    method public static android.icu.text.NumberingSystem getInstanceByName(String);
-    method public String getName();
-    method public int getRadix();
-    method public boolean isAlgorithmic();
-    method public static boolean isValidDigitString(String);
-    field public static final android.icu.text.NumberingSystem LATIN;
-  }
-
-  public class PluralFormat extends android.icu.text.UFormat {
-    ctor public PluralFormat();
-    ctor public PluralFormat(android.icu.util.ULocale);
-    ctor public PluralFormat(java.util.Locale);
-    ctor public PluralFormat(android.icu.text.PluralRules);
-    ctor public PluralFormat(android.icu.util.ULocale, android.icu.text.PluralRules);
-    ctor public PluralFormat(java.util.Locale, android.icu.text.PluralRules);
-    ctor public PluralFormat(android.icu.util.ULocale, android.icu.text.PluralRules.PluralType);
-    ctor public PluralFormat(java.util.Locale, android.icu.text.PluralRules.PluralType);
-    ctor public PluralFormat(String);
-    ctor public PluralFormat(android.icu.util.ULocale, String);
-    ctor public PluralFormat(android.icu.text.PluralRules, String);
-    ctor public PluralFormat(android.icu.util.ULocale, android.icu.text.PluralRules, String);
-    ctor public PluralFormat(android.icu.util.ULocale, android.icu.text.PluralRules.PluralType, String);
-    method public void applyPattern(String);
-    method public boolean equals(android.icu.text.PluralFormat);
-    method public final String format(double);
-    method public StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
-    method public Number parse(String, java.text.ParsePosition);
-    method public Object parseObject(String, java.text.ParsePosition);
-    method public void setNumberFormat(android.icu.text.NumberFormat);
-    method public String toPattern();
-  }
-
-  public class PluralRules implements java.io.Serializable {
-    method public static android.icu.text.PluralRules createRules(String);
-    method public boolean equals(android.icu.text.PluralRules);
-    method public static android.icu.text.PluralRules forLocale(android.icu.util.ULocale);
-    method public static android.icu.text.PluralRules forLocale(java.util.Locale);
-    method public static android.icu.text.PluralRules forLocale(android.icu.util.ULocale, android.icu.text.PluralRules.PluralType);
-    method public static android.icu.text.PluralRules forLocale(java.util.Locale, android.icu.text.PluralRules.PluralType);
-    method public java.util.Collection<java.lang.Double> getAllKeywordValues(String);
-    method public java.util.Set<java.lang.String> getKeywords();
-    method public java.util.Collection<java.lang.Double> getSamples(String);
-    method public double getUniqueKeywordValue(String);
-    method public static android.icu.text.PluralRules parseDescription(String) throws java.text.ParseException;
-    method public String select(double);
-    field public static final android.icu.text.PluralRules DEFAULT;
-    field public static final String KEYWORD_FEW = "few";
-    field public static final String KEYWORD_MANY = "many";
-    field public static final String KEYWORD_ONE = "one";
-    field public static final String KEYWORD_OTHER = "other";
-    field public static final String KEYWORD_TWO = "two";
-    field public static final String KEYWORD_ZERO = "zero";
-    field public static final double NO_UNIQUE_VALUE = -0.00123456777;
-  }
-
-  public enum PluralRules.PluralType {
-    enum_constant public static final android.icu.text.PluralRules.PluralType CARDINAL;
-    enum_constant public static final android.icu.text.PluralRules.PluralType ORDINAL;
-  }
-
-  public final class RelativeDateTimeFormatter {
-    method public String combineDateAndTime(String, String);
-    method public String format(double, android.icu.text.RelativeDateTimeFormatter.Direction, android.icu.text.RelativeDateTimeFormatter.RelativeUnit);
-    method public String format(android.icu.text.RelativeDateTimeFormatter.Direction, android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit);
-    method public String format(double, android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit);
-    method public String formatNumeric(double, android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit);
-    method public android.icu.text.DisplayContext getCapitalizationContext();
-    method public android.icu.text.RelativeDateTimeFormatter.Style getFormatStyle();
-    method public static android.icu.text.RelativeDateTimeFormatter getInstance();
-    method public static android.icu.text.RelativeDateTimeFormatter getInstance(android.icu.util.ULocale);
-    method public static android.icu.text.RelativeDateTimeFormatter getInstance(java.util.Locale);
-    method public static android.icu.text.RelativeDateTimeFormatter getInstance(android.icu.util.ULocale, android.icu.text.NumberFormat);
-    method public static android.icu.text.RelativeDateTimeFormatter getInstance(android.icu.util.ULocale, android.icu.text.NumberFormat, android.icu.text.RelativeDateTimeFormatter.Style, android.icu.text.DisplayContext);
-    method public static android.icu.text.RelativeDateTimeFormatter getInstance(java.util.Locale, android.icu.text.NumberFormat);
-    method public android.icu.text.NumberFormat getNumberFormat();
-  }
-
-  public enum RelativeDateTimeFormatter.AbsoluteUnit {
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit DAY;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit FRIDAY;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit MONDAY;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit MONTH;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit NOW;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit SATURDAY;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit SUNDAY;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit THURSDAY;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit TUESDAY;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit WEDNESDAY;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit WEEK;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit YEAR;
-  }
-
-  public enum RelativeDateTimeFormatter.Direction {
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Direction LAST;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Direction LAST_2;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Direction NEXT;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Direction NEXT_2;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Direction PLAIN;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Direction THIS;
-  }
-
-  public enum RelativeDateTimeFormatter.RelativeDateTimeUnit {
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit DAY;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit FRIDAY;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit HOUR;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit MINUTE;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit MONDAY;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit MONTH;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit QUARTER;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit SATURDAY;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit SECOND;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit SUNDAY;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit THURSDAY;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit TUESDAY;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit WEDNESDAY;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit WEEK;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit YEAR;
-  }
-
-  public enum RelativeDateTimeFormatter.RelativeUnit {
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit DAYS;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit HOURS;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit MINUTES;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit MONTHS;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit SECONDS;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit WEEKS;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit YEARS;
-  }
-
-  public enum RelativeDateTimeFormatter.Style {
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Style LONG;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Style NARROW;
-    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Style SHORT;
-  }
-
-  public interface Replaceable {
-    method public int char32At(int);
-    method public char charAt(int);
-    method public void copy(int, int, int);
-    method public void getChars(int, int, char[], int);
-    method public boolean hasMetaData();
-    method public int length();
-    method public void replace(int, int, String);
-    method public void replace(int, int, char[], int, int);
-  }
-
-  public final class RuleBasedCollator extends android.icu.text.Collator {
-    ctor public RuleBasedCollator(String) throws java.lang.Exception;
-    method public android.icu.text.RuleBasedCollator cloneAsThawed();
-    method public int compare(String, String);
-    method public android.icu.text.CollationElementIterator getCollationElementIterator(String);
-    method public android.icu.text.CollationElementIterator getCollationElementIterator(java.text.CharacterIterator);
-    method public android.icu.text.CollationElementIterator getCollationElementIterator(android.icu.text.UCharacterIterator);
-    method public android.icu.text.CollationKey getCollationKey(String);
-    method public void getContractionsAndExpansions(android.icu.text.UnicodeSet, android.icu.text.UnicodeSet, boolean) throws java.lang.Exception;
-    method public boolean getNumericCollation();
-    method public String getRules();
-    method public String getRules(boolean);
-    method public android.icu.util.VersionInfo getUCAVersion();
-    method public int getVariableTop();
-    method public android.icu.util.VersionInfo getVersion();
-    method public boolean isAlternateHandlingShifted();
-    method public boolean isCaseLevel();
-    method public boolean isFrenchCollation();
-    method public boolean isLowerCaseFirst();
-    method public boolean isUpperCaseFirst();
-    method public void setAlternateHandlingDefault();
-    method public void setAlternateHandlingShifted(boolean);
-    method public void setCaseFirstDefault();
-    method public void setCaseLevel(boolean);
-    method public void setCaseLevelDefault();
-    method public void setDecompositionDefault();
-    method public void setFrenchCollation(boolean);
-    method public void setFrenchCollationDefault();
-    method public void setLowerCaseFirst(boolean);
-    method public android.icu.text.RuleBasedCollator setMaxVariable(int);
-    method public void setNumericCollation(boolean);
-    method public void setNumericCollationDefault();
-    method public void setStrengthDefault();
-    method public void setUpperCaseFirst(boolean);
-  }
-
-  public final class ScientificNumberFormatter {
-    method public String format(Object);
-    method public static android.icu.text.ScientificNumberFormatter getMarkupInstance(android.icu.util.ULocale, String, String);
-    method public static android.icu.text.ScientificNumberFormatter getMarkupInstance(android.icu.text.DecimalFormat, String, String);
-    method public static android.icu.text.ScientificNumberFormatter getSuperscriptInstance(android.icu.util.ULocale);
-    method public static android.icu.text.ScientificNumberFormatter getSuperscriptInstance(android.icu.text.DecimalFormat);
-  }
-
-  public abstract class SearchIterator {
-    ctor protected SearchIterator(java.text.CharacterIterator, android.icu.text.BreakIterator);
-    method public final int first();
-    method public final int following(int);
-    method public android.icu.text.BreakIterator getBreakIterator();
-    method public android.icu.text.SearchIterator.ElementComparisonType getElementComparisonType();
-    method public abstract int getIndex();
-    method public int getMatchLength();
-    method public int getMatchStart();
-    method public String getMatchedText();
-    method public java.text.CharacterIterator getTarget();
-    method protected abstract int handleNext(int);
-    method protected abstract int handlePrevious(int);
-    method public boolean isOverlapping();
-    method public final int last();
-    method public int next();
-    method public final int preceding(int);
-    method public int previous();
-    method public void reset();
-    method public void setBreakIterator(android.icu.text.BreakIterator);
-    method public void setElementComparisonType(android.icu.text.SearchIterator.ElementComparisonType);
-    method public void setIndex(int);
-    method protected void setMatchLength(int);
-    method public void setOverlapping(boolean);
-    method public void setTarget(java.text.CharacterIterator);
-    field public static final int DONE = -1; // 0xffffffff
-    field protected android.icu.text.BreakIterator breakIterator;
-    field protected int matchLength;
-    field protected java.text.CharacterIterator targetText;
-  }
-
-  public enum SearchIterator.ElementComparisonType {
-    enum_constant public static final android.icu.text.SearchIterator.ElementComparisonType ANY_BASE_WEIGHT_IS_WILDCARD;
-    enum_constant public static final android.icu.text.SearchIterator.ElementComparisonType PATTERN_BASE_WEIGHT_IS_WILDCARD;
-    enum_constant public static final android.icu.text.SearchIterator.ElementComparisonType STANDARD_ELEMENT_COMPARISON;
-  }
-
-  public class SelectFormat extends java.text.Format {
-    ctor public SelectFormat(String);
-    method public void applyPattern(String);
-    method public final String format(String);
-    method public StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
-    method public Object parseObject(String, java.text.ParsePosition);
-    method public String toPattern();
-  }
-
-  public class SimpleDateFormat extends android.icu.text.DateFormat {
-    ctor public SimpleDateFormat();
-    ctor public SimpleDateFormat(String);
-    ctor public SimpleDateFormat(String, java.util.Locale);
-    ctor public SimpleDateFormat(String, android.icu.util.ULocale);
-    ctor public SimpleDateFormat(String, String, android.icu.util.ULocale);
-    ctor public SimpleDateFormat(String, android.icu.text.DateFormatSymbols);
-    method public void applyLocalizedPattern(String);
-    method public void applyPattern(String);
-    method public StringBuffer format(android.icu.util.Calendar, StringBuffer, java.text.FieldPosition);
-    method public java.util.Date get2DigitYearStart();
-    method public android.icu.text.DateFormatSymbols getDateFormatSymbols();
-    method public android.icu.text.NumberFormat getNumberFormat(char);
-    method protected android.icu.text.DateFormatSymbols getSymbols();
-    method public android.icu.text.TimeZoneFormat getTimeZoneFormat();
-    method protected int matchQuarterString(String, int, int, String[], android.icu.util.Calendar);
-    method protected int matchString(String, int, int, String[], android.icu.util.Calendar);
-    method public void parse(String, android.icu.util.Calendar, java.text.ParsePosition);
-    method protected android.icu.text.DateFormat.Field patternCharToDateFormatField(char);
-    method public void set2DigitYearStart(java.util.Date);
-    method public void setDateFormatSymbols(android.icu.text.DateFormatSymbols);
-    method public void setNumberFormat(String, android.icu.text.NumberFormat);
-    method public void setTimeZoneFormat(android.icu.text.TimeZoneFormat);
-    method protected String subFormat(char, int, int, java.text.FieldPosition, android.icu.text.DateFormatSymbols, android.icu.util.Calendar) throws java.lang.IllegalArgumentException;
-    method protected int subParse(String, int, char, int, boolean, boolean, boolean[], android.icu.util.Calendar);
-    method public String toLocalizedPattern();
-    method public String toPattern();
-    method protected String zeroPaddingNumber(long, int, int);
-  }
-
-  public class StringPrepParseException extends java.text.ParseException {
-    ctor public StringPrepParseException(String, int);
-    ctor public StringPrepParseException(String, int, String, int);
-    ctor public StringPrepParseException(String, int, String, int, int);
-    method public int getError();
-    field public static final int ACE_PREFIX_ERROR = 6; // 0x6
-    field public static final int BUFFER_OVERFLOW_ERROR = 9; // 0x9
-    field public static final int CHECK_BIDI_ERROR = 4; // 0x4
-    field public static final int DOMAIN_NAME_TOO_LONG_ERROR = 11; // 0xb
-    field public static final int ILLEGAL_CHAR_FOUND = 1; // 0x1
-    field public static final int INVALID_CHAR_FOUND = 0; // 0x0
-    field public static final int LABEL_TOO_LONG_ERROR = 8; // 0x8
-    field public static final int PROHIBITED_ERROR = 2; // 0x2
-    field public static final int STD3_ASCII_RULES_ERROR = 5; // 0x5
-    field public static final int UNASSIGNED_ERROR = 3; // 0x3
-    field public static final int VERIFICATION_ERROR = 7; // 0x7
-    field public static final int ZERO_LENGTH_LABEL = 10; // 0xa
-  }
-
-  public final class StringSearch extends android.icu.text.SearchIterator {
-    ctor public StringSearch(String, java.text.CharacterIterator, android.icu.text.RuleBasedCollator, android.icu.text.BreakIterator);
-    ctor public StringSearch(String, java.text.CharacterIterator, android.icu.text.RuleBasedCollator);
-    ctor public StringSearch(String, java.text.CharacterIterator, java.util.Locale);
-    ctor public StringSearch(String, java.text.CharacterIterator, android.icu.util.ULocale);
-    ctor public StringSearch(String, String);
-    method public android.icu.text.RuleBasedCollator getCollator();
-    method public int getIndex();
-    method public String getPattern();
-    method protected int handleNext(int);
-    method protected int handlePrevious(int);
-    method public boolean isCanonical();
-    method public void setCanonical(boolean);
-    method public void setCollator(android.icu.text.RuleBasedCollator);
-    method public void setPattern(String);
-  }
-
-  public interface SymbolTable {
-    method public char[] lookup(String);
-    method public android.icu.text.UnicodeMatcher lookupMatcher(int);
-    method public String parseReference(String, java.text.ParsePosition, int);
-    field public static final char SYMBOL_REF = 36; // 0x0024 '$'
-  }
-
-  public class TimeZoneFormat extends android.icu.text.UFormat implements android.icu.util.Freezable<android.icu.text.TimeZoneFormat> java.io.Serializable {
-    ctor protected TimeZoneFormat(android.icu.util.ULocale);
-    method public android.icu.text.TimeZoneFormat cloneAsThawed();
-    method public final String format(android.icu.text.TimeZoneFormat.Style, android.icu.util.TimeZone, long);
-    method public String format(android.icu.text.TimeZoneFormat.Style, android.icu.util.TimeZone, long, android.icu.util.Output<android.icu.text.TimeZoneFormat.TimeType>);
-    method public StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
-    method public final String formatOffsetISO8601Basic(int, boolean, boolean, boolean);
-    method public final String formatOffsetISO8601Extended(int, boolean, boolean, boolean);
-    method public String formatOffsetLocalizedGMT(int);
-    method public String formatOffsetShortLocalizedGMT(int);
-    method public android.icu.text.TimeZoneFormat freeze();
-    method public java.util.EnumSet<android.icu.text.TimeZoneFormat.ParseOption> getDefaultParseOptions();
-    method public String getGMTOffsetDigits();
-    method public String getGMTOffsetPattern(android.icu.text.TimeZoneFormat.GMTOffsetPatternType);
-    method public String getGMTPattern();
-    method public String getGMTZeroFormat();
-    method public static android.icu.text.TimeZoneFormat getInstance(android.icu.util.ULocale);
-    method public static android.icu.text.TimeZoneFormat getInstance(java.util.Locale);
-    method public android.icu.text.TimeZoneNames getTimeZoneNames();
-    method public boolean isFrozen();
-    method public android.icu.util.TimeZone parse(android.icu.text.TimeZoneFormat.Style, String, java.text.ParsePosition, java.util.EnumSet<android.icu.text.TimeZoneFormat.ParseOption>, android.icu.util.Output<android.icu.text.TimeZoneFormat.TimeType>);
-    method public android.icu.util.TimeZone parse(android.icu.text.TimeZoneFormat.Style, String, java.text.ParsePosition, android.icu.util.Output<android.icu.text.TimeZoneFormat.TimeType>);
-    method public final android.icu.util.TimeZone parse(String, java.text.ParsePosition);
-    method public final android.icu.util.TimeZone parse(String) throws java.text.ParseException;
-    method public Object parseObject(String, java.text.ParsePosition);
-    method public final int parseOffsetISO8601(String, java.text.ParsePosition);
-    method public int parseOffsetLocalizedGMT(String, java.text.ParsePosition);
-    method public int parseOffsetShortLocalizedGMT(String, java.text.ParsePosition);
-    method public android.icu.text.TimeZoneFormat setDefaultParseOptions(java.util.EnumSet<android.icu.text.TimeZoneFormat.ParseOption>);
-    method public android.icu.text.TimeZoneFormat setGMTOffsetDigits(String);
-    method public android.icu.text.TimeZoneFormat setGMTOffsetPattern(android.icu.text.TimeZoneFormat.GMTOffsetPatternType, String);
-    method public android.icu.text.TimeZoneFormat setGMTPattern(String);
-    method public android.icu.text.TimeZoneFormat setGMTZeroFormat(String);
-    method public android.icu.text.TimeZoneFormat setTimeZoneNames(android.icu.text.TimeZoneNames);
-  }
-
-  public enum TimeZoneFormat.GMTOffsetPatternType {
-    enum_constant public static final android.icu.text.TimeZoneFormat.GMTOffsetPatternType NEGATIVE_H;
-    enum_constant public static final android.icu.text.TimeZoneFormat.GMTOffsetPatternType NEGATIVE_HM;
-    enum_constant public static final android.icu.text.TimeZoneFormat.GMTOffsetPatternType NEGATIVE_HMS;
-    enum_constant public static final android.icu.text.TimeZoneFormat.GMTOffsetPatternType POSITIVE_H;
-    enum_constant public static final android.icu.text.TimeZoneFormat.GMTOffsetPatternType POSITIVE_HM;
-    enum_constant public static final android.icu.text.TimeZoneFormat.GMTOffsetPatternType POSITIVE_HMS;
-  }
-
-  public enum TimeZoneFormat.ParseOption {
-    enum_constant public static final android.icu.text.TimeZoneFormat.ParseOption ALL_STYLES;
-    enum_constant public static final android.icu.text.TimeZoneFormat.ParseOption TZ_DATABASE_ABBREVIATIONS;
-  }
-
-  public enum TimeZoneFormat.Style {
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style EXEMPLAR_LOCATION;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style GENERIC_LOCATION;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style GENERIC_LONG;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style GENERIC_SHORT;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_BASIC_FIXED;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_BASIC_FULL;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_BASIC_LOCAL_FIXED;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_BASIC_LOCAL_FULL;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_BASIC_LOCAL_SHORT;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_BASIC_SHORT;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_EXTENDED_FIXED;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_EXTENDED_FULL;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_EXTENDED_LOCAL_FIXED;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_EXTENDED_LOCAL_FULL;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style LOCALIZED_GMT;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style LOCALIZED_GMT_SHORT;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style SPECIFIC_LONG;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style SPECIFIC_SHORT;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style ZONE_ID;
-    enum_constant public static final android.icu.text.TimeZoneFormat.Style ZONE_ID_SHORT;
-  }
-
-  public enum TimeZoneFormat.TimeType {
-    enum_constant public static final android.icu.text.TimeZoneFormat.TimeType DAYLIGHT;
-    enum_constant public static final android.icu.text.TimeZoneFormat.TimeType STANDARD;
-    enum_constant public static final android.icu.text.TimeZoneFormat.TimeType UNKNOWN;
-  }
-
-  public abstract class TimeZoneNames implements java.io.Serializable {
-    method public abstract java.util.Set<java.lang.String> getAvailableMetaZoneIDs();
-    method public abstract java.util.Set<java.lang.String> getAvailableMetaZoneIDs(String);
-    method public final String getDisplayName(String, android.icu.text.TimeZoneNames.NameType, long);
-    method public String getExemplarLocationName(String);
-    method public static android.icu.text.TimeZoneNames getInstance(android.icu.util.ULocale);
-    method public static android.icu.text.TimeZoneNames getInstance(java.util.Locale);
-    method public abstract String getMetaZoneDisplayName(String, android.icu.text.TimeZoneNames.NameType);
-    method public abstract String getMetaZoneID(String, long);
-    method public abstract String getReferenceZoneID(String, String);
-    method public static android.icu.text.TimeZoneNames getTZDBInstance(android.icu.util.ULocale);
-    method public abstract String getTimeZoneDisplayName(String, android.icu.text.TimeZoneNames.NameType);
-  }
-
-  public enum TimeZoneNames.NameType {
-    enum_constant public static final android.icu.text.TimeZoneNames.NameType EXEMPLAR_LOCATION;
-    enum_constant public static final android.icu.text.TimeZoneNames.NameType LONG_DAYLIGHT;
-    enum_constant public static final android.icu.text.TimeZoneNames.NameType LONG_GENERIC;
-    enum_constant public static final android.icu.text.TimeZoneNames.NameType LONG_STANDARD;
-    enum_constant public static final android.icu.text.TimeZoneNames.NameType SHORT_DAYLIGHT;
-    enum_constant public static final android.icu.text.TimeZoneNames.NameType SHORT_GENERIC;
-    enum_constant public static final android.icu.text.TimeZoneNames.NameType SHORT_STANDARD;
-  }
-
-  public abstract class Transliterator {
-    method public static final android.icu.text.Transliterator createFromRules(String, String, int);
-    method public void filteredTransliterate(android.icu.text.Replaceable, android.icu.text.Transliterator.Position, boolean);
-    method public final void finishTransliteration(android.icu.text.Replaceable, android.icu.text.Transliterator.Position);
-    method public static final java.util.Enumeration<java.lang.String> getAvailableIDs();
-    method public static final java.util.Enumeration<java.lang.String> getAvailableSources();
-    method public static final java.util.Enumeration<java.lang.String> getAvailableTargets(String);
-    method public static final java.util.Enumeration<java.lang.String> getAvailableVariants(String, String);
-    method public static final String getDisplayName(String);
-    method public static String getDisplayName(String, java.util.Locale);
-    method public static String getDisplayName(String, android.icu.util.ULocale);
-    method public android.icu.text.Transliterator[] getElements();
-    method public final android.icu.text.UnicodeFilter getFilter();
-    method public final String getID();
-    method public static final android.icu.text.Transliterator getInstance(String);
-    method public static android.icu.text.Transliterator getInstance(String, int);
-    method public final android.icu.text.Transliterator getInverse();
-    method public final int getMaximumContextLength();
-    method public final android.icu.text.UnicodeSet getSourceSet();
-    method public android.icu.text.UnicodeSet getTargetSet();
-    method public void setFilter(android.icu.text.UnicodeFilter);
-    method public String toRules(boolean);
-    method public final int transliterate(android.icu.text.Replaceable, int, int);
-    method public final void transliterate(android.icu.text.Replaceable);
-    method public final String transliterate(String);
-    method public final void transliterate(android.icu.text.Replaceable, android.icu.text.Transliterator.Position, String);
-    method public final void transliterate(android.icu.text.Replaceable, android.icu.text.Transliterator.Position, int);
-    method public final void transliterate(android.icu.text.Replaceable, android.icu.text.Transliterator.Position);
-    field public static final int FORWARD = 0; // 0x0
-    field public static final int REVERSE = 1; // 0x1
-  }
-
-  public static class Transliterator.Position {
-    ctor public Transliterator.Position();
-    ctor public Transliterator.Position(int, int, int);
-    ctor public Transliterator.Position(int, int, int, int);
-    ctor public Transliterator.Position(android.icu.text.Transliterator.Position);
-    method public void set(android.icu.text.Transliterator.Position);
-    method public final void validate(int);
-    field public int contextLimit;
-    field public int contextStart;
-    field public int limit;
-    field public int start;
-  }
-
-  public abstract class UCharacterIterator implements java.lang.Cloneable {
-    ctor protected UCharacterIterator();
-    method public Object clone() throws java.lang.CloneNotSupportedException;
-    method public abstract int current();
-    method public int currentCodePoint();
-    method public java.text.CharacterIterator getCharacterIterator();
-    method public abstract int getIndex();
-    method public static final android.icu.text.UCharacterIterator getInstance(android.icu.text.Replaceable);
-    method public static final android.icu.text.UCharacterIterator getInstance(String);
-    method public static final android.icu.text.UCharacterIterator getInstance(char[]);
-    method public static final android.icu.text.UCharacterIterator getInstance(char[], int, int);
-    method public static final android.icu.text.UCharacterIterator getInstance(StringBuffer);
-    method public static final android.icu.text.UCharacterIterator getInstance(java.text.CharacterIterator);
-    method public abstract int getLength();
-    method public abstract int getText(char[], int);
-    method public final int getText(char[]);
-    method public String getText();
-    method public int moveCodePointIndex(int);
-    method public int moveIndex(int);
-    method public abstract int next();
-    method public int nextCodePoint();
-    method public abstract int previous();
-    method public int previousCodePoint();
-    method public abstract void setIndex(int);
-    method public void setToLimit();
-    method public void setToStart();
-    field public static final int DONE = -1; // 0xffffffff
-  }
-
-  public abstract class UFormat extends java.text.Format {
-    ctor public UFormat();
-  }
-
-  public abstract class UnicodeFilter implements android.icu.text.UnicodeMatcher {
-    method public abstract boolean contains(int);
-    method public int matches(android.icu.text.Replaceable, int[], int, boolean);
-  }
-
-  public interface UnicodeMatcher {
-    method public void addMatchSetTo(android.icu.text.UnicodeSet);
-    method public int matches(android.icu.text.Replaceable, int[], int, boolean);
-    method public boolean matchesIndexValue(int);
-    method public String toPattern(boolean);
-    field public static final char ETHER = 65535; // 0xffff '\uffff'
-    field public static final int U_MATCH = 2; // 0x2
-    field public static final int U_MISMATCH = 0; // 0x0
-    field public static final int U_PARTIAL_MATCH = 1; // 0x1
-  }
-
-  public class UnicodeSet extends android.icu.text.UnicodeFilter implements java.lang.Comparable<android.icu.text.UnicodeSet> android.icu.util.Freezable<android.icu.text.UnicodeSet> java.lang.Iterable<java.lang.String> {
-    ctor public UnicodeSet();
-    ctor public UnicodeSet(android.icu.text.UnicodeSet);
-    ctor public UnicodeSet(int, int);
-    ctor public UnicodeSet(int...);
-    ctor public UnicodeSet(String);
-    ctor public UnicodeSet(String, boolean);
-    ctor public UnicodeSet(String, int);
-    ctor public UnicodeSet(String, java.text.ParsePosition, android.icu.text.SymbolTable);
-    ctor public UnicodeSet(String, java.text.ParsePosition, android.icu.text.SymbolTable, int);
-    method public StringBuffer _generatePattern(StringBuffer, boolean);
-    method public StringBuffer _generatePattern(StringBuffer, boolean, boolean);
-    method public android.icu.text.UnicodeSet add(int, int);
-    method public final android.icu.text.UnicodeSet add(int);
-    method public final android.icu.text.UnicodeSet add(CharSequence);
-    method public android.icu.text.UnicodeSet add(Iterable<?>);
-    method public android.icu.text.UnicodeSet addAll(int, int);
-    method public final android.icu.text.UnicodeSet addAll(CharSequence);
-    method public android.icu.text.UnicodeSet addAll(android.icu.text.UnicodeSet);
-    method public android.icu.text.UnicodeSet addAll(Iterable<?>);
-    method public <T extends java.lang.CharSequence> android.icu.text.UnicodeSet addAll(T...);
-    method public <T extends java.util.Collection<java.lang.String>> T addAllTo(T);
-    method public void addMatchSetTo(android.icu.text.UnicodeSet);
-    method public android.icu.text.UnicodeSet applyIntPropertyValue(int, int);
-    method public final android.icu.text.UnicodeSet applyPattern(String);
-    method public android.icu.text.UnicodeSet applyPattern(String, boolean);
-    method public android.icu.text.UnicodeSet applyPattern(String, int);
-    method public android.icu.text.UnicodeSet applyPropertyAlias(String, String);
-    method public android.icu.text.UnicodeSet applyPropertyAlias(String, String, android.icu.text.SymbolTable);
-    method public int charAt(int);
-    method public android.icu.text.UnicodeSet clear();
-    method public Object clone();
-    method public android.icu.text.UnicodeSet cloneAsThawed();
-    method public android.icu.text.UnicodeSet closeOver(int);
-    method public android.icu.text.UnicodeSet compact();
-    method public int compareTo(android.icu.text.UnicodeSet);
-    method public int compareTo(android.icu.text.UnicodeSet, android.icu.text.UnicodeSet.ComparisonStyle);
-    method public int compareTo(Iterable<java.lang.String>);
-    method public android.icu.text.UnicodeSet complement(int, int);
-    method public final android.icu.text.UnicodeSet complement(int);
-    method public android.icu.text.UnicodeSet complement();
-    method public final android.icu.text.UnicodeSet complement(CharSequence);
-    method public final android.icu.text.UnicodeSet complementAll(CharSequence);
-    method public android.icu.text.UnicodeSet complementAll(android.icu.text.UnicodeSet);
-    method public boolean contains(int);
-    method public boolean contains(int, int);
-    method public final boolean contains(CharSequence);
-    method public boolean containsAll(android.icu.text.UnicodeSet);
-    method public boolean containsAll(String);
-    method public <T extends java.lang.CharSequence> boolean containsAll(Iterable<T>);
-    method public boolean containsNone(int, int);
-    method public boolean containsNone(android.icu.text.UnicodeSet);
-    method public boolean containsNone(CharSequence);
-    method public <T extends java.lang.CharSequence> boolean containsNone(Iterable<T>);
-    method public final boolean containsSome(int, int);
-    method public final boolean containsSome(android.icu.text.UnicodeSet);
-    method public final boolean containsSome(CharSequence);
-    method public final <T extends java.lang.CharSequence> boolean containsSome(Iterable<T>);
-    method public android.icu.text.UnicodeSet freeze();
-    method public static android.icu.text.UnicodeSet from(CharSequence);
-    method public static android.icu.text.UnicodeSet fromAll(CharSequence);
-    method public int getRangeCount();
-    method public int getRangeEnd(int);
-    method public int getRangeStart(int);
-    method public int indexOf(int);
-    method public boolean isEmpty();
-    method public boolean isFrozen();
-    method public java.util.Iterator<java.lang.String> iterator();
-    method public boolean matchesIndexValue(int);
-    method public Iterable<android.icu.text.UnicodeSet.EntryRange> ranges();
-    method public android.icu.text.UnicodeSet remove(int, int);
-    method public final android.icu.text.UnicodeSet remove(int);
-    method public final android.icu.text.UnicodeSet remove(CharSequence);
-    method public final android.icu.text.UnicodeSet removeAll(CharSequence);
-    method public android.icu.text.UnicodeSet removeAll(android.icu.text.UnicodeSet);
-    method public <T extends java.lang.CharSequence> android.icu.text.UnicodeSet removeAll(Iterable<T>);
-    method public final android.icu.text.UnicodeSet removeAllStrings();
-    method public android.icu.text.UnicodeSet retain(int, int);
-    method public final android.icu.text.UnicodeSet retain(int);
-    method public final android.icu.text.UnicodeSet retain(CharSequence);
-    method public final android.icu.text.UnicodeSet retainAll(CharSequence);
-    method public android.icu.text.UnicodeSet retainAll(android.icu.text.UnicodeSet);
-    method public <T extends java.lang.CharSequence> android.icu.text.UnicodeSet retainAll(Iterable<T>);
-    method public android.icu.text.UnicodeSet set(int, int);
-    method public android.icu.text.UnicodeSet set(android.icu.text.UnicodeSet);
-    method public int size();
-    method public int span(CharSequence, android.icu.text.UnicodeSet.SpanCondition);
-    method public int span(CharSequence, int, android.icu.text.UnicodeSet.SpanCondition);
-    method public int spanBack(CharSequence, android.icu.text.UnicodeSet.SpanCondition);
-    method public int spanBack(CharSequence, int, android.icu.text.UnicodeSet.SpanCondition);
-    method public java.util.Collection<java.lang.String> strings();
-    method public String toPattern(boolean);
-    field public static final int ADD_CASE_MAPPINGS = 4; // 0x4
-    field public static final android.icu.text.UnicodeSet ALL_CODE_POINTS;
-    field public static final int CASE = 2; // 0x2
-    field public static final int CASE_INSENSITIVE = 2; // 0x2
-    field public static final android.icu.text.UnicodeSet EMPTY;
-    field public static final int IGNORE_SPACE = 1; // 0x1
-    field public static final int MAX_VALUE = 1114111; // 0x10ffff
-    field public static final int MIN_VALUE = 0; // 0x0
-  }
-
-  public enum UnicodeSet.ComparisonStyle {
-    enum_constant public static final android.icu.text.UnicodeSet.ComparisonStyle LEXICOGRAPHIC;
-    enum_constant public static final android.icu.text.UnicodeSet.ComparisonStyle LONGER_FIRST;
-    enum_constant public static final android.icu.text.UnicodeSet.ComparisonStyle SHORTER_FIRST;
-  }
-
-  public static class UnicodeSet.EntryRange {
-    field public int codepoint;
-    field public int codepointEnd;
-  }
-
-  public enum UnicodeSet.SpanCondition {
-    enum_constant public static final android.icu.text.UnicodeSet.SpanCondition CONDITION_COUNT;
-    enum_constant public static final android.icu.text.UnicodeSet.SpanCondition CONTAINED;
-    enum_constant public static final android.icu.text.UnicodeSet.SpanCondition NOT_CONTAINED;
-    enum_constant public static final android.icu.text.UnicodeSet.SpanCondition SIMPLE;
-  }
-
-  public class UnicodeSetIterator {
-    ctor public UnicodeSetIterator(android.icu.text.UnicodeSet);
-    ctor public UnicodeSetIterator();
-    method public String getString();
-    method public boolean next();
-    method public boolean nextRange();
-    method public void reset(android.icu.text.UnicodeSet);
-    method public void reset();
-    field public static int IS_STRING;
-    field public int codepoint;
-    field public int codepointEnd;
-    field public String string;
-  }
-
-  public class UnicodeSetSpanner {
-    ctor public UnicodeSetSpanner(android.icu.text.UnicodeSet);
-    method public int countIn(CharSequence);
-    method public int countIn(CharSequence, android.icu.text.UnicodeSetSpanner.CountMethod);
-    method public int countIn(CharSequence, android.icu.text.UnicodeSetSpanner.CountMethod, android.icu.text.UnicodeSet.SpanCondition);
-    method public String deleteFrom(CharSequence);
-    method public String deleteFrom(CharSequence, android.icu.text.UnicodeSet.SpanCondition);
-    method public android.icu.text.UnicodeSet getUnicodeSet();
-    method public String replaceFrom(CharSequence, CharSequence);
-    method public String replaceFrom(CharSequence, CharSequence, android.icu.text.UnicodeSetSpanner.CountMethod);
-    method public String replaceFrom(CharSequence, CharSequence, android.icu.text.UnicodeSetSpanner.CountMethod, android.icu.text.UnicodeSet.SpanCondition);
-    method public CharSequence trim(CharSequence);
-    method public CharSequence trim(CharSequence, android.icu.text.UnicodeSetSpanner.TrimOption);
-    method public CharSequence trim(CharSequence, android.icu.text.UnicodeSetSpanner.TrimOption, android.icu.text.UnicodeSet.SpanCondition);
-  }
-
-  public enum UnicodeSetSpanner.CountMethod {
-    enum_constant public static final android.icu.text.UnicodeSetSpanner.CountMethod MIN_ELEMENTS;
-    enum_constant public static final android.icu.text.UnicodeSetSpanner.CountMethod WHOLE_SPAN;
-  }
-
-  public enum UnicodeSetSpanner.TrimOption {
-    enum_constant public static final android.icu.text.UnicodeSetSpanner.TrimOption BOTH;
-    enum_constant public static final android.icu.text.UnicodeSetSpanner.TrimOption LEADING;
-    enum_constant public static final android.icu.text.UnicodeSetSpanner.TrimOption TRAILING;
-  }
-
-}
-
-package android.icu.util {
-
-  public class BuddhistCalendar extends android.icu.util.GregorianCalendar {
-    ctor public BuddhistCalendar();
-    ctor public BuddhistCalendar(android.icu.util.TimeZone);
-    ctor public BuddhistCalendar(java.util.Locale);
-    ctor public BuddhistCalendar(android.icu.util.ULocale);
-    ctor public BuddhistCalendar(android.icu.util.TimeZone, java.util.Locale);
-    ctor public BuddhistCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
-    ctor public BuddhistCalendar(java.util.Date);
-    ctor public BuddhistCalendar(int, int, int);
-    ctor public BuddhistCalendar(int, int, int, int, int, int);
-    field public static final int BE = 0; // 0x0
-  }
-
-  public abstract class Calendar implements java.lang.Cloneable java.lang.Comparable<android.icu.util.Calendar> java.io.Serializable {
-    ctor protected Calendar();
-    ctor protected Calendar(android.icu.util.TimeZone, java.util.Locale);
-    ctor protected Calendar(android.icu.util.TimeZone, android.icu.util.ULocale);
-    method public void add(int, int);
-    method public boolean after(Object);
-    method public boolean before(Object);
-    method public final void clear();
-    method public final void clear(int);
-    method public Object clone();
-    method public int compareTo(android.icu.util.Calendar);
-    method protected void complete();
-    method protected void computeFields();
-    method protected final void computeGregorianFields(int);
-    method protected int computeGregorianMonthStart(int, int);
-    method protected int computeJulianDay();
-    method @Deprecated protected int computeMillisInDay();
-    method protected void computeTime();
-    method @Deprecated protected int computeZoneOffset(long, int);
-    method public int fieldDifference(java.util.Date, int);
-    method protected String fieldName(int);
-    method protected static final long floorDivide(long, long);
-    method protected static final int floorDivide(int, int);
-    method protected static final int floorDivide(int, int, int[]);
-    method protected static final int floorDivide(long, int, int[]);
-    method public final int get(int);
-    method public int getActualMaximum(int);
-    method public int getActualMinimum(int);
-    method public static java.util.Locale[] getAvailableLocales();
-    method public android.icu.text.DateFormat getDateTimeFormat(int, int, java.util.Locale);
-    method public android.icu.text.DateFormat getDateTimeFormat(int, int, android.icu.util.ULocale);
-    method public String getDisplayName(java.util.Locale);
-    method public String getDisplayName(android.icu.util.ULocale);
-    method public final int getFieldCount();
-    method protected int[][][] getFieldResolutionTable();
-    method public int getFirstDayOfWeek();
-    method public final int getGreatestMinimum(int);
-    method protected final int getGregorianDayOfMonth();
-    method protected final int getGregorianDayOfYear();
-    method protected final int getGregorianMonth();
-    method protected final int getGregorianYear();
-    method public static android.icu.util.Calendar getInstance();
-    method public static android.icu.util.Calendar getInstance(android.icu.util.TimeZone);
-    method public static android.icu.util.Calendar getInstance(java.util.Locale);
-    method public static android.icu.util.Calendar getInstance(android.icu.util.ULocale);
-    method public static android.icu.util.Calendar getInstance(android.icu.util.TimeZone, java.util.Locale);
-    method public static android.icu.util.Calendar getInstance(android.icu.util.TimeZone, android.icu.util.ULocale);
-    method public static final String[] getKeywordValuesForLocale(String, android.icu.util.ULocale, boolean);
-    method public final int getLeastMaximum(int);
-    method protected int getLimit(int, int);
-    method public final int getMaximum(int);
-    method public int getMinimalDaysInFirstWeek();
-    method public final int getMinimum(int);
-    method public int getRepeatedWallTimeOption();
-    method public int getSkippedWallTimeOption();
-    method protected final int getStamp(int);
-    method public final java.util.Date getTime();
-    method public long getTimeInMillis();
-    method public android.icu.util.TimeZone getTimeZone();
-    method public String getType();
-    method public android.icu.util.Calendar.WeekData getWeekData();
-    method public static android.icu.util.Calendar.WeekData getWeekDataForRegion(String);
-    method protected static final int gregorianMonthLength(int, int);
-    method protected static final int gregorianPreviousMonthLength(int, int);
-    method protected void handleComputeFields(int);
-    method protected int handleComputeJulianDay(int);
-    method protected abstract int handleComputeMonthStart(int, int, boolean);
-    method protected int[] handleCreateFields();
-    method protected android.icu.text.DateFormat handleGetDateFormat(String, java.util.Locale);
-    method protected android.icu.text.DateFormat handleGetDateFormat(String, String, java.util.Locale);
-    method protected android.icu.text.DateFormat handleGetDateFormat(String, android.icu.util.ULocale);
-    method protected abstract int handleGetExtendedYear();
-    method protected abstract int handleGetLimit(int, int);
-    method protected int handleGetMonthLength(int, int);
-    method protected int handleGetYearLength(int);
-    method protected final int internalGet(int);
-    method protected final int internalGet(int, int);
-    method protected final long internalGetTimeInMillis();
-    method protected final void internalSet(int, int);
-    method public boolean isEquivalentTo(android.icu.util.Calendar);
-    method protected static final boolean isGregorianLeapYear(int);
-    method public boolean isLenient();
-    method public final boolean isSet(int);
-    method public boolean isWeekend(java.util.Date);
-    method public boolean isWeekend();
-    method protected static final int julianDayToDayOfWeek(int);
-    method protected static final long julianDayToMillis(int);
-    method protected static final int millisToJulianDay(long);
-    method protected int newerField(int, int);
-    method protected int newestStamp(int, int, int);
-    method protected void pinField(int);
-    method protected void prepareGetActual(int, boolean);
-    method protected int resolveFields(int[][][]);
-    method public final void roll(int, boolean);
-    method public void roll(int, int);
-    method public final void set(int, int);
-    method public final void set(int, int, int);
-    method public final void set(int, int, int, int, int);
-    method public final void set(int, int, int, int, int, int);
-    method public void setFirstDayOfWeek(int);
-    method public void setLenient(boolean);
-    method public void setMinimalDaysInFirstWeek(int);
-    method public void setRepeatedWallTimeOption(int);
-    method public void setSkippedWallTimeOption(int);
-    method public final void setTime(java.util.Date);
-    method public void setTimeInMillis(long);
-    method public void setTimeZone(android.icu.util.TimeZone);
-    method public android.icu.util.Calendar setWeekData(android.icu.util.Calendar.WeekData);
-    method protected void validateField(int);
-    method protected final void validateField(int, int, int);
-    method protected void validateFields();
-    method protected int weekNumber(int, int, int);
-    method protected final int weekNumber(int, int);
-    field public static final int AM = 0; // 0x0
-    field public static final int AM_PM = 9; // 0x9
-    field public static final int APRIL = 3; // 0x3
-    field public static final int AUGUST = 7; // 0x7
-    field @Deprecated protected static final int BASE_FIELD_COUNT = 23; // 0x17
-    field public static final int DATE = 5; // 0x5
-    field public static final int DAY_OF_MONTH = 5; // 0x5
-    field public static final int DAY_OF_WEEK = 7; // 0x7
-    field public static final int DAY_OF_WEEK_IN_MONTH = 8; // 0x8
-    field public static final int DAY_OF_YEAR = 6; // 0x6
-    field public static final int DECEMBER = 11; // 0xb
-    field public static final int DOW_LOCAL = 18; // 0x12
-    field public static final int DST_OFFSET = 16; // 0x10
-    field protected static final int EPOCH_JULIAN_DAY = 2440588; // 0x253d8c
-    field public static final int ERA = 0; // 0x0
-    field public static final int EXTENDED_YEAR = 19; // 0x13
-    field public static final int FEBRUARY = 1; // 0x1
-    field public static final int FRIDAY = 6; // 0x6
-    field protected static final int GREATEST_MINIMUM = 1; // 0x1
-    field public static final int HOUR = 10; // 0xa
-    field public static final int HOUR_OF_DAY = 11; // 0xb
-    field protected static final int INTERNALLY_SET = 1; // 0x1
-    field public static final int IS_LEAP_MONTH = 22; // 0x16
-    field public static final int JANUARY = 0; // 0x0
-    field protected static final int JAN_1_1_JULIAN_DAY = 1721426; // 0x1a4452
-    field public static final int JULIAN_DAY = 20; // 0x14
-    field public static final int JULY = 6; // 0x6
-    field public static final int JUNE = 5; // 0x5
-    field protected static final int LEAST_MAXIMUM = 2; // 0x2
-    field public static final int MARCH = 2; // 0x2
-    field protected static final int MAXIMUM = 3; // 0x3
-    field protected static final java.util.Date MAX_DATE;
-    field @Deprecated protected static final int MAX_FIELD_COUNT = 32; // 0x20
-    field protected static final int MAX_JULIAN = 2130706432; // 0x7f000000
-    field protected static final long MAX_MILLIS = 183882168921600000L; // 0x28d47dbbf19b000L
-    field public static final int MAY = 4; // 0x4
-    field public static final int MILLISECOND = 14; // 0xe
-    field public static final int MILLISECONDS_IN_DAY = 21; // 0x15
-    field protected static final int MINIMUM = 0; // 0x0
-    field protected static final int MINIMUM_USER_STAMP = 2; // 0x2
-    field public static final int MINUTE = 12; // 0xc
-    field protected static final java.util.Date MIN_DATE;
-    field protected static final int MIN_JULIAN = -2130706432; // 0x81000000
-    field protected static final long MIN_MILLIS = -184303902528000000L; // 0xfd713893bf19b000L
-    field public static final int MONDAY = 2; // 0x2
-    field public static final int MONTH = 2; // 0x2
-    field public static final int NOVEMBER = 10; // 0xa
-    field public static final int OCTOBER = 9; // 0x9
-    field protected static final long ONE_DAY = 86400000L; // 0x5265c00L
-    field protected static final int ONE_HOUR = 3600000; // 0x36ee80
-    field protected static final int ONE_MINUTE = 60000; // 0xea60
-    field protected static final int ONE_SECOND = 1000; // 0x3e8
-    field protected static final long ONE_WEEK = 604800000L; // 0x240c8400L
-    field public static final int PM = 1; // 0x1
-    field protected static final int RESOLVE_REMAP = 32; // 0x20
-    field public static final int SATURDAY = 7; // 0x7
-    field public static final int SECOND = 13; // 0xd
-    field public static final int SEPTEMBER = 8; // 0x8
-    field public static final int SUNDAY = 1; // 0x1
-    field public static final int THURSDAY = 5; // 0x5
-    field public static final int TUESDAY = 3; // 0x3
-    field public static final int UNDECIMBER = 12; // 0xc
-    field protected static final int UNSET = 0; // 0x0
-    field public static final int WALLTIME_FIRST = 1; // 0x1
-    field public static final int WALLTIME_LAST = 0; // 0x0
-    field public static final int WALLTIME_NEXT_VALID = 2; // 0x2
-    field public static final int WEDNESDAY = 4; // 0x4
-    field public static final int WEEK_OF_MONTH = 4; // 0x4
-    field public static final int WEEK_OF_YEAR = 3; // 0x3
-    field public static final int YEAR = 1; // 0x1
-    field public static final int YEAR_WOY = 17; // 0x11
-    field public static final int ZONE_OFFSET = 15; // 0xf
-  }
-
-  public static final class Calendar.WeekData {
-    ctor public Calendar.WeekData(int, int, int, int, int, int);
-    field public final int firstDayOfWeek;
-    field public final int minimalDaysInFirstWeek;
-    field public final int weekendCease;
-    field public final int weekendCeaseMillis;
-    field public final int weekendOnset;
-    field public final int weekendOnsetMillis;
-  }
-
-  public class ChineseCalendar extends android.icu.util.Calendar {
-    ctor public ChineseCalendar();
-    ctor public ChineseCalendar(java.util.Date);
-    ctor public ChineseCalendar(int, int, int, int);
-    ctor public ChineseCalendar(int, int, int, int, int, int, int);
-    ctor public ChineseCalendar(int, int, int, int, int);
-    ctor public ChineseCalendar(int, int, int, int, int, int, int, int);
-    ctor public ChineseCalendar(java.util.Locale);
-    ctor public ChineseCalendar(android.icu.util.TimeZone);
-    ctor public ChineseCalendar(android.icu.util.TimeZone, java.util.Locale);
-    ctor public ChineseCalendar(android.icu.util.ULocale);
-    ctor public ChineseCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
-    method protected int handleComputeMonthStart(int, int, boolean);
-    method protected android.icu.text.DateFormat handleGetDateFormat(String, String, android.icu.util.ULocale);
-    method protected int handleGetExtendedYear();
-    method protected int handleGetLimit(int, int);
-  }
-
-  public final class CopticCalendar extends android.icu.util.Calendar {
-    ctor public CopticCalendar();
-    ctor public CopticCalendar(android.icu.util.TimeZone);
-    ctor public CopticCalendar(java.util.Locale);
-    ctor public CopticCalendar(android.icu.util.ULocale);
-    ctor public CopticCalendar(android.icu.util.TimeZone, java.util.Locale);
-    ctor public CopticCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
-    ctor public CopticCalendar(int, int, int);
-    ctor public CopticCalendar(java.util.Date);
-    ctor public CopticCalendar(int, int, int, int, int, int);
-    method @Deprecated protected void handleComputeFields(int);
-    method protected int handleComputeMonthStart(int, int, boolean);
-    method @Deprecated protected int handleGetExtendedYear();
-    method protected int handleGetLimit(int, int);
-    field public static final int AMSHIR = 5; // 0x5
-    field public static final int BABA = 1; // 0x1
-    field public static final int BARAMHAT = 6; // 0x6
-    field public static final int BARAMOUDA = 7; // 0x7
-    field public static final int BASHANS = 8; // 0x8
-    field public static final int EPEP = 10; // 0xa
-    field public static final int HATOR = 2; // 0x2
-    field public static final int KIAHK = 3; // 0x3
-    field public static final int MESRA = 11; // 0xb
-    field public static final int NASIE = 12; // 0xc
-    field public static final int PAONA = 9; // 0x9
-    field public static final int TOBA = 4; // 0x4
-    field public static final int TOUT = 0; // 0x0
-  }
-
-  public class Currency extends android.icu.util.MeasureUnit {
-    ctor protected Currency(String);
-    method public static android.icu.util.Currency fromJavaCurrency(java.util.Currency);
-    method public static java.util.Set<android.icu.util.Currency> getAvailableCurrencies();
-    method public static String[] getAvailableCurrencyCodes(android.icu.util.ULocale, java.util.Date);
-    method public static String[] getAvailableCurrencyCodes(java.util.Locale, java.util.Date);
-    method public static java.util.Locale[] getAvailableLocales();
-    method public static android.icu.util.ULocale[] getAvailableULocales();
-    method public String getCurrencyCode();
-    method public int getDefaultFractionDigits();
-    method public int getDefaultFractionDigits(android.icu.util.Currency.CurrencyUsage);
-    method public String getDisplayName();
-    method public String getDisplayName(java.util.Locale);
-    method public static android.icu.util.Currency getInstance(java.util.Locale);
-    method public static android.icu.util.Currency getInstance(android.icu.util.ULocale);
-    method public static android.icu.util.Currency getInstance(String);
-    method public static final String[] getKeywordValuesForLocale(String, android.icu.util.ULocale, boolean);
-    method public String getName(java.util.Locale, int, boolean[]);
-    method public String getName(android.icu.util.ULocale, int, boolean[]);
-    method public String getName(java.util.Locale, int, String, boolean[]);
-    method public String getName(android.icu.util.ULocale, int, String, boolean[]);
-    method public int getNumericCode();
-    method public double getRoundingIncrement();
-    method public double getRoundingIncrement(android.icu.util.Currency.CurrencyUsage);
-    method public String getSymbol();
-    method public String getSymbol(java.util.Locale);
-    method public String getSymbol(android.icu.util.ULocale);
-    method public static boolean isAvailable(String, java.util.Date, java.util.Date);
-    method public java.util.Currency toJavaCurrency();
-    field public static final int LONG_NAME = 1; // 0x1
-    field public static final int NARROW_SYMBOL_NAME = 3; // 0x3
-    field public static final int PLURAL_LONG_NAME = 2; // 0x2
-    field public static final int SYMBOL_NAME = 0; // 0x0
-  }
-
-  public enum Currency.CurrencyUsage {
-    enum_constant public static final android.icu.util.Currency.CurrencyUsage CASH;
-    enum_constant public static final android.icu.util.Currency.CurrencyUsage STANDARD;
-  }
-
-  public class CurrencyAmount extends android.icu.util.Measure {
-    ctor public CurrencyAmount(Number, android.icu.util.Currency);
-    ctor public CurrencyAmount(double, android.icu.util.Currency);
-    ctor public CurrencyAmount(Number, java.util.Currency);
-    ctor public CurrencyAmount(double, java.util.Currency);
-    method public android.icu.util.Currency getCurrency();
-  }
-
-  public final class DateInterval implements java.io.Serializable {
-    ctor public DateInterval(long, long);
-    method public long getFromDate();
-    method public long getToDate();
-  }
-
-  public final class EthiopicCalendar extends android.icu.util.Calendar {
-    ctor public EthiopicCalendar();
-    ctor public EthiopicCalendar(android.icu.util.TimeZone);
-    ctor public EthiopicCalendar(java.util.Locale);
-    ctor public EthiopicCalendar(android.icu.util.ULocale);
-    ctor public EthiopicCalendar(android.icu.util.TimeZone, java.util.Locale);
-    ctor public EthiopicCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
-    ctor public EthiopicCalendar(int, int, int);
-    ctor public EthiopicCalendar(java.util.Date);
-    ctor public EthiopicCalendar(int, int, int, int, int, int);
-    method @Deprecated protected void handleComputeFields(int);
-    method protected int handleComputeMonthStart(int, int, boolean);
-    method @Deprecated protected int handleGetExtendedYear();
-    method @Deprecated protected int handleGetLimit(int, int);
-    method public boolean isAmeteAlemEra();
-    method public void setAmeteAlemEra(boolean);
-    field public static final int GENBOT = 8; // 0x8
-    field public static final int HAMLE = 10; // 0xa
-    field public static final int HEDAR = 2; // 0x2
-    field public static final int MEGABIT = 6; // 0x6
-    field public static final int MESKEREM = 0; // 0x0
-    field public static final int MIAZIA = 7; // 0x7
-    field public static final int NEHASSE = 11; // 0xb
-    field public static final int PAGUMEN = 12; // 0xc
-    field public static final int SENE = 9; // 0x9
-    field public static final int TAHSAS = 3; // 0x3
-    field public static final int TEKEMT = 1; // 0x1
-    field public static final int TER = 4; // 0x4
-    field public static final int YEKATIT = 5; // 0x5
-  }
-
-  public interface Freezable<T> extends java.lang.Cloneable {
-    method public T cloneAsThawed();
-    method public T freeze();
-    method public boolean isFrozen();
-  }
-
-  public class GregorianCalendar extends android.icu.util.Calendar {
-    ctor public GregorianCalendar();
-    ctor public GregorianCalendar(android.icu.util.TimeZone);
-    ctor public GregorianCalendar(java.util.Locale);
-    ctor public GregorianCalendar(android.icu.util.ULocale);
-    ctor public GregorianCalendar(android.icu.util.TimeZone, java.util.Locale);
-    ctor public GregorianCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
-    ctor public GregorianCalendar(int, int, int);
-    ctor public GregorianCalendar(int, int, int, int, int);
-    ctor public GregorianCalendar(int, int, int, int, int, int);
-    method public final java.util.Date getGregorianChange();
-    method protected int handleComputeMonthStart(int, int, boolean);
-    method protected int handleGetExtendedYear();
-    method protected int handleGetLimit(int, int);
-    method public boolean isLeapYear(int);
-    method public void setGregorianChange(java.util.Date);
-    field public static final int AD = 1; // 0x1
-    field public static final int BC = 0; // 0x0
-    field protected transient boolean invertGregorian;
-    field protected transient boolean isGregorian;
-  }
-
-  public class HebrewCalendar extends android.icu.util.Calendar {
-    ctor public HebrewCalendar();
-    ctor public HebrewCalendar(android.icu.util.TimeZone);
-    ctor public HebrewCalendar(java.util.Locale);
-    ctor public HebrewCalendar(android.icu.util.ULocale);
-    ctor public HebrewCalendar(android.icu.util.TimeZone, java.util.Locale);
-    ctor public HebrewCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
-    ctor public HebrewCalendar(int, int, int);
-    ctor public HebrewCalendar(java.util.Date);
-    ctor public HebrewCalendar(int, int, int, int, int, int);
-    method protected int handleComputeMonthStart(int, int, boolean);
-    method protected int handleGetExtendedYear();
-    method protected int handleGetLimit(int, int);
-    method @Deprecated protected void validateField(int);
-    field public static final int ADAR = 6; // 0x6
-    field public static final int ADAR_1 = 5; // 0x5
-    field public static final int AV = 11; // 0xb
-    field public static final int ELUL = 12; // 0xc
-    field public static final int HESHVAN = 1; // 0x1
-    field public static final int IYAR = 8; // 0x8
-    field public static final int KISLEV = 2; // 0x2
-    field public static final int NISAN = 7; // 0x7
-    field public static final int SHEVAT = 4; // 0x4
-    field public static final int SIVAN = 9; // 0x9
-    field public static final int TAMUZ = 10; // 0xa
-    field public static final int TEVET = 3; // 0x3
-    field public static final int TISHRI = 0; // 0x0
-  }
-
-  public class ICUUncheckedIOException extends java.lang.RuntimeException {
-    ctor public ICUUncheckedIOException();
-    ctor public ICUUncheckedIOException(String);
-    ctor public ICUUncheckedIOException(Throwable);
-    ctor public ICUUncheckedIOException(String, Throwable);
-  }
-
-  public class IllformedLocaleException extends java.lang.RuntimeException {
-    ctor public IllformedLocaleException();
-    ctor public IllformedLocaleException(String);
-    ctor public IllformedLocaleException(String, int);
-    method public int getErrorIndex();
-  }
-
-  public class IndianCalendar extends android.icu.util.Calendar {
-    ctor public IndianCalendar();
-    ctor public IndianCalendar(android.icu.util.TimeZone);
-    ctor public IndianCalendar(java.util.Locale);
-    ctor public IndianCalendar(android.icu.util.ULocale);
-    ctor public IndianCalendar(android.icu.util.TimeZone, java.util.Locale);
-    ctor public IndianCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
-    ctor public IndianCalendar(java.util.Date);
-    ctor public IndianCalendar(int, int, int);
-    ctor public IndianCalendar(int, int, int, int, int, int);
-    method protected int handleComputeMonthStart(int, int, boolean);
-    method protected int handleGetExtendedYear();
-    method protected int handleGetLimit(int, int);
-    field public static final int AGRAHAYANA = 8; // 0x8
-    field public static final int ASADHA = 3; // 0x3
-    field public static final int ASVINA = 6; // 0x6
-    field public static final int BHADRA = 5; // 0x5
-    field public static final int CHAITRA = 0; // 0x0
-    field public static final int IE = 0; // 0x0
-    field public static final int JYAISTHA = 2; // 0x2
-    field public static final int KARTIKA = 7; // 0x7
-    field public static final int MAGHA = 10; // 0xa
-    field public static final int PAUSA = 9; // 0x9
-    field public static final int PHALGUNA = 11; // 0xb
-    field public static final int SRAVANA = 4; // 0x4
-    field public static final int VAISAKHA = 1; // 0x1
-  }
-
-  public class IslamicCalendar extends android.icu.util.Calendar {
-    ctor public IslamicCalendar();
-    ctor public IslamicCalendar(android.icu.util.TimeZone);
-    ctor public IslamicCalendar(java.util.Locale);
-    ctor public IslamicCalendar(android.icu.util.ULocale);
-    ctor public IslamicCalendar(android.icu.util.TimeZone, java.util.Locale);
-    ctor public IslamicCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
-    ctor public IslamicCalendar(java.util.Date);
-    ctor public IslamicCalendar(int, int, int);
-    ctor public IslamicCalendar(int, int, int, int, int, int);
-    method public android.icu.util.IslamicCalendar.CalculationType getCalculationType();
-    method protected int handleComputeMonthStart(int, int, boolean);
-    method protected int handleGetExtendedYear();
-    method protected int handleGetLimit(int, int);
-    method public void setCalculationType(android.icu.util.IslamicCalendar.CalculationType);
-    field public static final int DHU_AL_HIJJAH = 11; // 0xb
-    field public static final int DHU_AL_QIDAH = 10; // 0xa
-    field public static final int JUMADA_1 = 4; // 0x4
-    field public static final int JUMADA_2 = 5; // 0x5
-    field public static final int MUHARRAM = 0; // 0x0
-    field public static final int RABI_1 = 2; // 0x2
-    field public static final int RABI_2 = 3; // 0x3
-    field public static final int RAJAB = 6; // 0x6
-    field public static final int RAMADAN = 8; // 0x8
-    field public static final int SAFAR = 1; // 0x1
-    field public static final int SHABAN = 7; // 0x7
-    field public static final int SHAWWAL = 9; // 0x9
-  }
-
-  public enum IslamicCalendar.CalculationType {
-    enum_constant public static final android.icu.util.IslamicCalendar.CalculationType ISLAMIC;
-    enum_constant public static final android.icu.util.IslamicCalendar.CalculationType ISLAMIC_CIVIL;
-    enum_constant public static final android.icu.util.IslamicCalendar.CalculationType ISLAMIC_TBLA;
-    enum_constant public static final android.icu.util.IslamicCalendar.CalculationType ISLAMIC_UMALQURA;
-  }
-
-  public class JapaneseCalendar extends android.icu.util.GregorianCalendar {
-    ctor public JapaneseCalendar();
-    ctor public JapaneseCalendar(android.icu.util.TimeZone);
-    ctor public JapaneseCalendar(java.util.Locale);
-    ctor public JapaneseCalendar(android.icu.util.ULocale);
-    ctor public JapaneseCalendar(android.icu.util.TimeZone, java.util.Locale);
-    ctor public JapaneseCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
-    ctor public JapaneseCalendar(java.util.Date);
-    ctor public JapaneseCalendar(int, int, int, int);
-    ctor public JapaneseCalendar(int, int, int);
-    ctor public JapaneseCalendar(int, int, int, int, int, int);
-    field public static final int HEISEI;
-    field public static final int MEIJI;
-    field public static final int REIWA;
-    field public static final int SHOWA;
-    field public static final int TAISHO;
-  }
-
-  public final class LocaleData {
-    method public static android.icu.util.VersionInfo getCLDRVersion();
-    method public String getDelimiter(int);
-    method public static android.icu.util.LocaleData getInstance(android.icu.util.ULocale);
-    method public static android.icu.util.LocaleData getInstance();
-    method public static android.icu.util.LocaleData.MeasurementSystem getMeasurementSystem(android.icu.util.ULocale);
-    method public boolean getNoSubstitute();
-    method public static android.icu.util.LocaleData.PaperSize getPaperSize(android.icu.util.ULocale);
-    method public void setNoSubstitute(boolean);
-    field public static final int ALT_QUOTATION_END = 3; // 0x3
-    field public static final int ALT_QUOTATION_START = 2; // 0x2
-    field public static final int QUOTATION_END = 1; // 0x1
-    field public static final int QUOTATION_START = 0; // 0x0
-  }
-
-  public static final class LocaleData.MeasurementSystem {
-    field public static final android.icu.util.LocaleData.MeasurementSystem SI;
-    field public static final android.icu.util.LocaleData.MeasurementSystem UK;
-    field public static final android.icu.util.LocaleData.MeasurementSystem US;
-  }
-
-  public static final class LocaleData.PaperSize {
-    method public int getHeight();
-    method public int getWidth();
-  }
-
-  public class Measure {
-    ctor public Measure(Number, android.icu.util.MeasureUnit);
-    method public Number getNumber();
-    method public android.icu.util.MeasureUnit getUnit();
-  }
-
-  public class MeasureUnit implements java.io.Serializable {
-    method public static java.util.Set<android.icu.util.MeasureUnit> getAvailable(String);
-    method public static java.util.Set<android.icu.util.MeasureUnit> getAvailable();
-    method public static java.util.Set<java.lang.String> getAvailableTypes();
-    method public String getSubtype();
-    method public String getType();
-    field public static final android.icu.util.MeasureUnit ACRE;
-    field public static final android.icu.util.MeasureUnit ACRE_FOOT;
-    field public static final android.icu.util.MeasureUnit AMPERE;
-    field public static final android.icu.util.MeasureUnit ARC_MINUTE;
-    field public static final android.icu.util.MeasureUnit ARC_SECOND;
-    field public static final android.icu.util.MeasureUnit ASTRONOMICAL_UNIT;
-    field public static final android.icu.util.MeasureUnit ATMOSPHERE;
-    field public static final android.icu.util.MeasureUnit BIT;
-    field public static final android.icu.util.MeasureUnit BUSHEL;
-    field public static final android.icu.util.MeasureUnit BYTE;
-    field public static final android.icu.util.MeasureUnit CALORIE;
-    field public static final android.icu.util.MeasureUnit CARAT;
-    field public static final android.icu.util.MeasureUnit CELSIUS;
-    field public static final android.icu.util.MeasureUnit CENTILITER;
-    field public static final android.icu.util.MeasureUnit CENTIMETER;
-    field public static final android.icu.util.MeasureUnit CENTURY;
-    field public static final android.icu.util.MeasureUnit CUBIC_CENTIMETER;
-    field public static final android.icu.util.MeasureUnit CUBIC_FOOT;
-    field public static final android.icu.util.MeasureUnit CUBIC_INCH;
-    field public static final android.icu.util.MeasureUnit CUBIC_KILOMETER;
-    field public static final android.icu.util.MeasureUnit CUBIC_METER;
-    field public static final android.icu.util.MeasureUnit CUBIC_MILE;
-    field public static final android.icu.util.MeasureUnit CUBIC_YARD;
-    field public static final android.icu.util.MeasureUnit CUP;
-    field public static final android.icu.util.MeasureUnit CUP_METRIC;
-    field public static final android.icu.util.TimeUnit DAY;
-    field public static final android.icu.util.MeasureUnit DECILITER;
-    field public static final android.icu.util.MeasureUnit DECIMETER;
-    field public static final android.icu.util.MeasureUnit DEGREE;
-    field public static final android.icu.util.MeasureUnit FAHRENHEIT;
-    field public static final android.icu.util.MeasureUnit FATHOM;
-    field public static final android.icu.util.MeasureUnit FLUID_OUNCE;
-    field public static final android.icu.util.MeasureUnit FOODCALORIE;
-    field public static final android.icu.util.MeasureUnit FOOT;
-    field public static final android.icu.util.MeasureUnit FURLONG;
-    field public static final android.icu.util.MeasureUnit GALLON;
-    field public static final android.icu.util.MeasureUnit GALLON_IMPERIAL;
-    field public static final android.icu.util.MeasureUnit GENERIC_TEMPERATURE;
-    field public static final android.icu.util.MeasureUnit GIGABIT;
-    field public static final android.icu.util.MeasureUnit GIGABYTE;
-    field public static final android.icu.util.MeasureUnit GIGAHERTZ;
-    field public static final android.icu.util.MeasureUnit GIGAWATT;
-    field public static final android.icu.util.MeasureUnit GRAM;
-    field public static final android.icu.util.MeasureUnit G_FORCE;
-    field public static final android.icu.util.MeasureUnit HECTARE;
-    field public static final android.icu.util.MeasureUnit HECTOLITER;
-    field public static final android.icu.util.MeasureUnit HECTOPASCAL;
-    field public static final android.icu.util.MeasureUnit HERTZ;
-    field public static final android.icu.util.MeasureUnit HORSEPOWER;
-    field public static final android.icu.util.TimeUnit HOUR;
-    field public static final android.icu.util.MeasureUnit INCH;
-    field public static final android.icu.util.MeasureUnit INCH_HG;
-    field public static final android.icu.util.MeasureUnit JOULE;
-    field public static final android.icu.util.MeasureUnit KARAT;
-    field public static final android.icu.util.MeasureUnit KELVIN;
-    field public static final android.icu.util.MeasureUnit KILOBIT;
-    field public static final android.icu.util.MeasureUnit KILOBYTE;
-    field public static final android.icu.util.MeasureUnit KILOCALORIE;
-    field public static final android.icu.util.MeasureUnit KILOGRAM;
-    field public static final android.icu.util.MeasureUnit KILOHERTZ;
-    field public static final android.icu.util.MeasureUnit KILOJOULE;
-    field public static final android.icu.util.MeasureUnit KILOMETER;
-    field public static final android.icu.util.MeasureUnit KILOMETER_PER_HOUR;
-    field public static final android.icu.util.MeasureUnit KILOWATT;
-    field public static final android.icu.util.MeasureUnit KILOWATT_HOUR;
-    field public static final android.icu.util.MeasureUnit KNOT;
-    field public static final android.icu.util.MeasureUnit LIGHT_YEAR;
-    field public static final android.icu.util.MeasureUnit LITER;
-    field public static final android.icu.util.MeasureUnit LITER_PER_100KILOMETERS;
-    field public static final android.icu.util.MeasureUnit LITER_PER_KILOMETER;
-    field public static final android.icu.util.MeasureUnit LUX;
-    field public static final android.icu.util.MeasureUnit MEGABIT;
-    field public static final android.icu.util.MeasureUnit MEGABYTE;
-    field public static final android.icu.util.MeasureUnit MEGAHERTZ;
-    field public static final android.icu.util.MeasureUnit MEGALITER;
-    field public static final android.icu.util.MeasureUnit MEGAWATT;
-    field public static final android.icu.util.MeasureUnit METER;
-    field public static final android.icu.util.MeasureUnit METER_PER_SECOND;
-    field public static final android.icu.util.MeasureUnit METER_PER_SECOND_SQUARED;
-    field public static final android.icu.util.MeasureUnit METRIC_TON;
-    field public static final android.icu.util.MeasureUnit MICROGRAM;
-    field public static final android.icu.util.MeasureUnit MICROMETER;
-    field public static final android.icu.util.MeasureUnit MICROSECOND;
-    field public static final android.icu.util.MeasureUnit MILE;
-    field public static final android.icu.util.MeasureUnit MILE_PER_GALLON;
-    field public static final android.icu.util.MeasureUnit MILE_PER_GALLON_IMPERIAL;
-    field public static final android.icu.util.MeasureUnit MILE_PER_HOUR;
-    field public static final android.icu.util.MeasureUnit MILE_SCANDINAVIAN;
-    field public static final android.icu.util.MeasureUnit MILLIAMPERE;
-    field public static final android.icu.util.MeasureUnit MILLIBAR;
-    field public static final android.icu.util.MeasureUnit MILLIGRAM;
-    field public static final android.icu.util.MeasureUnit MILLIGRAM_PER_DECILITER;
-    field public static final android.icu.util.MeasureUnit MILLILITER;
-    field public static final android.icu.util.MeasureUnit MILLIMETER;
-    field public static final android.icu.util.MeasureUnit MILLIMETER_OF_MERCURY;
-    field public static final android.icu.util.MeasureUnit MILLIMOLE_PER_LITER;
-    field public static final android.icu.util.MeasureUnit MILLISECOND;
-    field public static final android.icu.util.MeasureUnit MILLIWATT;
-    field public static final android.icu.util.TimeUnit MINUTE;
-    field public static final android.icu.util.TimeUnit MONTH;
-    field public static final android.icu.util.MeasureUnit NANOMETER;
-    field public static final android.icu.util.MeasureUnit NANOSECOND;
-    field public static final android.icu.util.MeasureUnit NAUTICAL_MILE;
-    field public static final android.icu.util.MeasureUnit OHM;
-    field public static final android.icu.util.MeasureUnit OUNCE;
-    field public static final android.icu.util.MeasureUnit OUNCE_TROY;
-    field public static final android.icu.util.MeasureUnit PARSEC;
-    field public static final android.icu.util.MeasureUnit PART_PER_MILLION;
-    field public static final android.icu.util.MeasureUnit PERCENT;
-    field public static final android.icu.util.MeasureUnit PERMILLE;
-    field public static final android.icu.util.MeasureUnit PETABYTE;
-    field public static final android.icu.util.MeasureUnit PICOMETER;
-    field public static final android.icu.util.MeasureUnit PINT;
-    field public static final android.icu.util.MeasureUnit PINT_METRIC;
-    field public static final android.icu.util.MeasureUnit POINT;
-    field public static final android.icu.util.MeasureUnit POUND;
-    field public static final android.icu.util.MeasureUnit POUND_PER_SQUARE_INCH;
-    field public static final android.icu.util.MeasureUnit QUART;
-    field public static final android.icu.util.MeasureUnit RADIAN;
-    field public static final android.icu.util.MeasureUnit REVOLUTION_ANGLE;
-    field public static final android.icu.util.TimeUnit SECOND;
-    field public static final android.icu.util.MeasureUnit SQUARE_CENTIMETER;
-    field public static final android.icu.util.MeasureUnit SQUARE_FOOT;
-    field public static final android.icu.util.MeasureUnit SQUARE_INCH;
-    field public static final android.icu.util.MeasureUnit SQUARE_KILOMETER;
-    field public static final android.icu.util.MeasureUnit SQUARE_METER;
-    field public static final android.icu.util.MeasureUnit SQUARE_MILE;
-    field public static final android.icu.util.MeasureUnit SQUARE_YARD;
-    field public static final android.icu.util.MeasureUnit STONE;
-    field public static final android.icu.util.MeasureUnit TABLESPOON;
-    field public static final android.icu.util.MeasureUnit TEASPOON;
-    field public static final android.icu.util.MeasureUnit TERABIT;
-    field public static final android.icu.util.MeasureUnit TERABYTE;
-    field public static final android.icu.util.MeasureUnit TON;
-    field public static final android.icu.util.MeasureUnit VOLT;
-    field public static final android.icu.util.MeasureUnit WATT;
-    field public static final android.icu.util.TimeUnit WEEK;
-    field public static final android.icu.util.MeasureUnit YARD;
-    field public static final android.icu.util.TimeUnit YEAR;
-  }
-
-  public class Output<T> {
-    ctor public Output();
-    ctor public Output(T);
-    field public T value;
-  }
-
-  public interface RangeValueIterator {
-    method public boolean next(android.icu.util.RangeValueIterator.Element);
-    method public void reset();
-  }
-
-  public static class RangeValueIterator.Element {
-    ctor public RangeValueIterator.Element();
-    field public int limit;
-    field public int start;
-    field public int value;
-  }
-
-  public class TaiwanCalendar extends android.icu.util.GregorianCalendar {
-    ctor public TaiwanCalendar();
-    ctor public TaiwanCalendar(android.icu.util.TimeZone);
-    ctor public TaiwanCalendar(java.util.Locale);
-    ctor public TaiwanCalendar(android.icu.util.ULocale);
-    ctor public TaiwanCalendar(android.icu.util.TimeZone, java.util.Locale);
-    ctor public TaiwanCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
-    ctor public TaiwanCalendar(java.util.Date);
-    ctor public TaiwanCalendar(int, int, int);
-    ctor public TaiwanCalendar(int, int, int, int, int, int);
-    field public static final int BEFORE_MINGUO = 0; // 0x0
-    field public static final int MINGUO = 1; // 0x1
-  }
-
-  public class TimeUnit extends android.icu.util.MeasureUnit {
-    method public static android.icu.util.TimeUnit[] values();
-  }
-
-  public abstract class TimeZone implements java.lang.Cloneable android.icu.util.Freezable<android.icu.util.TimeZone> java.io.Serializable {
-    ctor public TimeZone();
-    method public Object clone();
-    method public android.icu.util.TimeZone cloneAsThawed();
-    method public static int countEquivalentIDs(String);
-    method public android.icu.util.TimeZone freeze();
-    method public static java.util.Set<java.lang.String> getAvailableIDs(android.icu.util.TimeZone.SystemTimeZoneType, String, Integer);
-    method public static String[] getAvailableIDs(int);
-    method public static String[] getAvailableIDs(String);
-    method public static String[] getAvailableIDs();
-    method public static String getCanonicalID(String);
-    method public static String getCanonicalID(String, boolean[]);
-    method public int getDSTSavings();
-    method public static android.icu.util.TimeZone getDefault();
-    method public final String getDisplayName();
-    method public final String getDisplayName(java.util.Locale);
-    method public final String getDisplayName(android.icu.util.ULocale);
-    method public final String getDisplayName(boolean, int);
-    method public String getDisplayName(boolean, int, java.util.Locale);
-    method public String getDisplayName(boolean, int, android.icu.util.ULocale);
-    method public static String getEquivalentID(String, int);
-    method public static android.icu.util.TimeZone getFrozenTimeZone(String);
-    method public String getID();
-    method public static String getIDForWindowsID(String, String);
-    method public abstract int getOffset(int, int, int, int, int, int);
-    method public int getOffset(long);
-    method public void getOffset(long, boolean, int[]);
-    method public abstract int getRawOffset();
-    method public static String getRegion(String);
-    method public static String getTZDataVersion();
-    method public static android.icu.util.TimeZone getTimeZone(String);
-    method public static android.icu.util.TimeZone getTimeZone(String, int);
-    method public static String getWindowsID(String);
-    method public boolean hasSameRules(android.icu.util.TimeZone);
-    method public abstract boolean inDaylightTime(java.util.Date);
-    method public boolean isFrozen();
-    method public boolean observesDaylightTime();
-    method public void setID(String);
-    method public abstract void setRawOffset(int);
-    method public abstract boolean useDaylightTime();
-    field public static final int GENERIC_LOCATION = 7; // 0x7
-    field public static final android.icu.util.TimeZone GMT_ZONE;
-    field public static final int LONG = 1; // 0x1
-    field public static final int LONG_GENERIC = 3; // 0x3
-    field public static final int LONG_GMT = 5; // 0x5
-    field public static final int SHORT = 0; // 0x0
-    field public static final int SHORT_COMMONLY_USED = 6; // 0x6
-    field public static final int SHORT_GENERIC = 2; // 0x2
-    field public static final int SHORT_GMT = 4; // 0x4
-    field public static final int TIMEZONE_ICU = 0; // 0x0
-    field public static final int TIMEZONE_JDK = 1; // 0x1
-    field public static final android.icu.util.TimeZone UNKNOWN_ZONE;
-    field public static final String UNKNOWN_ZONE_ID = "Etc/Unknown";
-  }
-
-  public enum TimeZone.SystemTimeZoneType {
-    enum_constant public static final android.icu.util.TimeZone.SystemTimeZoneType ANY;
-    enum_constant public static final android.icu.util.TimeZone.SystemTimeZoneType CANONICAL;
-    enum_constant public static final android.icu.util.TimeZone.SystemTimeZoneType CANONICAL_LOCATION;
-  }
-
-  public final class ULocale implements java.lang.Comparable<android.icu.util.ULocale> java.io.Serializable {
-    ctor public ULocale(String);
-    ctor public ULocale(String, String);
-    ctor public ULocale(String, String, String);
-    method public static android.icu.util.ULocale acceptLanguage(String, android.icu.util.ULocale[], boolean[]);
-    method public static android.icu.util.ULocale acceptLanguage(android.icu.util.ULocale[], android.icu.util.ULocale[], boolean[]);
-    method public static android.icu.util.ULocale acceptLanguage(String, boolean[]);
-    method public static android.icu.util.ULocale acceptLanguage(android.icu.util.ULocale[], boolean[]);
-    method public static android.icu.util.ULocale addLikelySubtags(android.icu.util.ULocale);
-    method public static String canonicalize(String);
-    method public Object clone();
-    method public int compareTo(android.icu.util.ULocale);
-    method public static android.icu.util.ULocale createCanonical(String);
-    method public static android.icu.util.ULocale forLanguageTag(String);
-    method public static android.icu.util.ULocale forLocale(java.util.Locale);
-    method public static android.icu.util.ULocale[] getAvailableLocales();
-    method public String getBaseName();
-    method public static String getBaseName(String);
-    method public String getCharacterOrientation();
-    method public String getCountry();
-    method public static String getCountry(String);
-    method public static android.icu.util.ULocale getDefault();
-    method public static android.icu.util.ULocale getDefault(android.icu.util.ULocale.Category);
-    method public String getDisplayCountry();
-    method public String getDisplayCountry(android.icu.util.ULocale);
-    method public static String getDisplayCountry(String, String);
-    method public static String getDisplayCountry(String, android.icu.util.ULocale);
-    method public static String getDisplayKeyword(String);
-    method public static String getDisplayKeyword(String, String);
-    method public static String getDisplayKeyword(String, android.icu.util.ULocale);
-    method public String getDisplayKeywordValue(String);
-    method public String getDisplayKeywordValue(String, android.icu.util.ULocale);
-    method public static String getDisplayKeywordValue(String, String, String);
-    method public static String getDisplayKeywordValue(String, String, android.icu.util.ULocale);
-    method public String getDisplayLanguage();
-    method public String getDisplayLanguage(android.icu.util.ULocale);
-    method public static String getDisplayLanguage(String, String);
-    method public static String getDisplayLanguage(String, android.icu.util.ULocale);
-    method public String getDisplayLanguageWithDialect();
-    method public String getDisplayLanguageWithDialect(android.icu.util.ULocale);
-    method public static String getDisplayLanguageWithDialect(String, String);
-    method public static String getDisplayLanguageWithDialect(String, android.icu.util.ULocale);
-    method public String getDisplayName();
-    method public String getDisplayName(android.icu.util.ULocale);
-    method public static String getDisplayName(String, String);
-    method public static String getDisplayName(String, android.icu.util.ULocale);
-    method public String getDisplayNameWithDialect();
-    method public String getDisplayNameWithDialect(android.icu.util.ULocale);
-    method public static String getDisplayNameWithDialect(String, String);
-    method public static String getDisplayNameWithDialect(String, android.icu.util.ULocale);
-    method public String getDisplayScript();
-    method public String getDisplayScript(android.icu.util.ULocale);
-    method public static String getDisplayScript(String, String);
-    method public static String getDisplayScript(String, android.icu.util.ULocale);
-    method public String getDisplayVariant();
-    method public String getDisplayVariant(android.icu.util.ULocale);
-    method public static String getDisplayVariant(String, String);
-    method public static String getDisplayVariant(String, android.icu.util.ULocale);
-    method public String getExtension(char);
-    method public java.util.Set<java.lang.Character> getExtensionKeys();
-    method public static String getFallback(String);
-    method public android.icu.util.ULocale getFallback();
-    method public String getISO3Country();
-    method public static String getISO3Country(String);
-    method public String getISO3Language();
-    method public static String getISO3Language(String);
-    method public static String[] getISOCountries();
-    method public static String[] getISOLanguages();
-    method public String getKeywordValue(String);
-    method public static String getKeywordValue(String, String);
-    method public java.util.Iterator<java.lang.String> getKeywords();
-    method public static java.util.Iterator<java.lang.String> getKeywords(String);
-    method public String getLanguage();
-    method public static String getLanguage(String);
-    method public String getLineOrientation();
-    method public String getName();
-    method public static String getName(String);
-    method public String getScript();
-    method public static String getScript(String);
-    method public java.util.Set<java.lang.String> getUnicodeLocaleAttributes();
-    method public java.util.Set<java.lang.String> getUnicodeLocaleKeys();
-    method public String getUnicodeLocaleType(String);
-    method public String getVariant();
-    method public static String getVariant(String);
-    method public boolean isRightToLeft();
-    method public static android.icu.util.ULocale minimizeSubtags(android.icu.util.ULocale);
-    method public android.icu.util.ULocale setKeywordValue(String, String);
-    method public static String setKeywordValue(String, String, String);
-    method public String toLanguageTag();
-    method public static String toLegacyKey(String);
-    method public static String toLegacyType(String, String);
-    method public java.util.Locale toLocale();
-    method public static String toUnicodeLocaleKey(String);
-    method public static String toUnicodeLocaleType(String, String);
-    field public static final android.icu.util.ULocale CANADA;
-    field public static final android.icu.util.ULocale CANADA_FRENCH;
-    field public static final android.icu.util.ULocale CHINA;
-    field public static final android.icu.util.ULocale CHINESE;
-    field public static final android.icu.util.ULocale ENGLISH;
-    field public static final android.icu.util.ULocale FRANCE;
-    field public static final android.icu.util.ULocale FRENCH;
-    field public static final android.icu.util.ULocale GERMAN;
-    field public static final android.icu.util.ULocale GERMANY;
-    field public static final android.icu.util.ULocale ITALIAN;
-    field public static final android.icu.util.ULocale ITALY;
-    field public static final android.icu.util.ULocale JAPAN;
-    field public static final android.icu.util.ULocale JAPANESE;
-    field public static final android.icu.util.ULocale KOREA;
-    field public static final android.icu.util.ULocale KOREAN;
-    field public static final android.icu.util.ULocale PRC;
-    field public static final char PRIVATE_USE_EXTENSION = 120; // 0x0078 'x'
-    field public static final android.icu.util.ULocale ROOT;
-    field public static final android.icu.util.ULocale SIMPLIFIED_CHINESE;
-    field public static final android.icu.util.ULocale TAIWAN;
-    field public static final android.icu.util.ULocale TRADITIONAL_CHINESE;
-    field public static final android.icu.util.ULocale UK;
-    field public static final char UNICODE_LOCALE_EXTENSION = 117; // 0x0075 'u'
-    field public static final android.icu.util.ULocale US;
-  }
-
-  public static final class ULocale.Builder {
-    ctor public ULocale.Builder();
-    method public android.icu.util.ULocale.Builder addUnicodeLocaleAttribute(String);
-    method public android.icu.util.ULocale build();
-    method public android.icu.util.ULocale.Builder clear();
-    method public android.icu.util.ULocale.Builder clearExtensions();
-    method public android.icu.util.ULocale.Builder removeUnicodeLocaleAttribute(String);
-    method public android.icu.util.ULocale.Builder setExtension(char, String);
-    method public android.icu.util.ULocale.Builder setLanguage(String);
-    method public android.icu.util.ULocale.Builder setLanguageTag(String);
-    method public android.icu.util.ULocale.Builder setLocale(android.icu.util.ULocale);
-    method public android.icu.util.ULocale.Builder setRegion(String);
-    method public android.icu.util.ULocale.Builder setScript(String);
-    method public android.icu.util.ULocale.Builder setUnicodeLocaleKeyword(String, String);
-    method public android.icu.util.ULocale.Builder setVariant(String);
-  }
-
-  public enum ULocale.Category {
-    enum_constant public static final android.icu.util.ULocale.Category DISPLAY;
-    enum_constant public static final android.icu.util.ULocale.Category FORMAT;
-  }
-
-  public final class UniversalTimeScale {
-    method public static android.icu.math.BigDecimal bigDecimalFrom(double, int);
-    method public static android.icu.math.BigDecimal bigDecimalFrom(long, int);
-    method public static android.icu.math.BigDecimal bigDecimalFrom(android.icu.math.BigDecimal, int);
-    method public static long from(long, int);
-    method public static long getTimeScaleValue(int, int);
-    method public static android.icu.math.BigDecimal toBigDecimal(long, int);
-    method public static android.icu.math.BigDecimal toBigDecimal(android.icu.math.BigDecimal, int);
-    method public static long toLong(long, int);
-    field public static final int DB2_TIME = 8; // 0x8
-    field public static final int DOTNET_DATE_TIME = 4; // 0x4
-    field public static final int EPOCH_OFFSET_PLUS_1_VALUE = 6; // 0x6
-    field public static final int EPOCH_OFFSET_VALUE = 1; // 0x1
-    field public static final int EXCEL_TIME = 7; // 0x7
-    field public static final int FROM_MAX_VALUE = 3; // 0x3
-    field public static final int FROM_MIN_VALUE = 2; // 0x2
-    field public static final int ICU4C_TIME = 2; // 0x2
-    field public static final int JAVA_TIME = 0; // 0x0
-    field public static final int MAC_OLD_TIME = 5; // 0x5
-    field public static final int MAC_TIME = 6; // 0x6
-    field @Deprecated public static final int MAX_SCALE = 10; // 0xa
-    field public static final int TO_MAX_VALUE = 5; // 0x5
-    field public static final int TO_MIN_VALUE = 4; // 0x4
-    field public static final int UNITS_VALUE = 0; // 0x0
-    field public static final int UNIX_MICROSECONDS_TIME = 9; // 0x9
-    field public static final int UNIX_TIME = 1; // 0x1
-    field public static final int WINDOWS_FILE_TIME = 3; // 0x3
-  }
-
-  public interface ValueIterator {
-    method public boolean next(android.icu.util.ValueIterator.Element);
-    method public void reset();
-    method public void setRange(int, int);
-  }
-
-  public static final class ValueIterator.Element {
-    ctor public ValueIterator.Element();
-    field public int integer;
-    field public Object value;
-  }
-
-  public final class VersionInfo implements java.lang.Comparable<android.icu.util.VersionInfo> {
-    method public int compareTo(android.icu.util.VersionInfo);
-    method public static android.icu.util.VersionInfo getInstance(String);
-    method public static android.icu.util.VersionInfo getInstance(int, int, int, int);
-    method public static android.icu.util.VersionInfo getInstance(int, int, int);
-    method public static android.icu.util.VersionInfo getInstance(int, int);
-    method public static android.icu.util.VersionInfo getInstance(int);
-    method public int getMajor();
-    method public int getMicro();
-    method public int getMilli();
-    method public int getMinor();
-    field public static final android.icu.util.VersionInfo ICU_VERSION;
-    field public static final android.icu.util.VersionInfo UCOL_BUILDER_VERSION;
-    field public static final android.icu.util.VersionInfo UCOL_RUNTIME_VERSION;
-    field public static final android.icu.util.VersionInfo UNICODE_10_0;
-    field public static final android.icu.util.VersionInfo UNICODE_11_0;
-    field public static final android.icu.util.VersionInfo UNICODE_12_0;
-    field public static final android.icu.util.VersionInfo UNICODE_12_1;
-    field public static final android.icu.util.VersionInfo UNICODE_13_0;
-    field public static final android.icu.util.VersionInfo UNICODE_1_0;
-    field public static final android.icu.util.VersionInfo UNICODE_1_0_1;
-    field public static final android.icu.util.VersionInfo UNICODE_1_1_0;
-    field public static final android.icu.util.VersionInfo UNICODE_1_1_5;
-    field public static final android.icu.util.VersionInfo UNICODE_2_0;
-    field public static final android.icu.util.VersionInfo UNICODE_2_1_2;
-    field public static final android.icu.util.VersionInfo UNICODE_2_1_5;
-    field public static final android.icu.util.VersionInfo UNICODE_2_1_8;
-    field public static final android.icu.util.VersionInfo UNICODE_2_1_9;
-    field public static final android.icu.util.VersionInfo UNICODE_3_0;
-    field public static final android.icu.util.VersionInfo UNICODE_3_0_1;
-    field public static final android.icu.util.VersionInfo UNICODE_3_1_0;
-    field public static final android.icu.util.VersionInfo UNICODE_3_1_1;
-    field public static final android.icu.util.VersionInfo UNICODE_3_2;
-    field public static final android.icu.util.VersionInfo UNICODE_4_0;
-    field public static final android.icu.util.VersionInfo UNICODE_4_0_1;
-    field public static final android.icu.util.VersionInfo UNICODE_4_1;
-    field public static final android.icu.util.VersionInfo UNICODE_5_0;
-    field public static final android.icu.util.VersionInfo UNICODE_5_1;
-    field public static final android.icu.util.VersionInfo UNICODE_5_2;
-    field public static final android.icu.util.VersionInfo UNICODE_6_0;
-    field public static final android.icu.util.VersionInfo UNICODE_6_1;
-    field public static final android.icu.util.VersionInfo UNICODE_6_2;
-    field public static final android.icu.util.VersionInfo UNICODE_6_3;
-    field public static final android.icu.util.VersionInfo UNICODE_7_0;
-    field public static final android.icu.util.VersionInfo UNICODE_8_0;
-    field public static final android.icu.util.VersionInfo UNICODE_9_0;
-  }
-
-}
-
 package android.inputmethodservice {
 
   public abstract class AbstractInputMethodService extends android.app.Service implements android.view.KeyEvent.Callback {
diff --git a/core/api/removed.txt b/core/api/removed.txt
index 3655af2..21aeef6d 100644
--- a/core/api/removed.txt
+++ b/core/api/removed.txt
@@ -221,14 +221,6 @@
 
 }
 
-package android.icu.util {
-
-  public class JapaneseCalendar extends android.icu.util.GregorianCalendar {
-    field @Deprecated public static final int CURRENT_ERA;
-  }
-
-}
-
 package android.location {
 
   public class Location implements android.os.Parcelable {