Merge "Track external/icu API changes for factory registration" into nyc-dev
diff --git a/api/current.txt b/api/current.txt
index e70bc25..c3a9138 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -16281,11 +16281,8 @@
     method public abstract int next();
     method public int preceding(int);
     method public abstract int previous();
-    method public static java.lang.Object registerInstance(android.icu.text.BreakIterator, java.util.Locale, int);
-    method public static java.lang.Object registerInstance(android.icu.text.BreakIterator, android.icu.util.ULocale, int);
     method public void setText(java.lang.String);
     method public abstract void setText(java.text.CharacterIterator);
-    method public static boolean unregister(java.lang.Object);
     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
@@ -16370,13 +16367,10 @@
     method public abstract int getVariableTop();
     method public abstract android.icu.util.VersionInfo getVersion();
     method public boolean isFrozen();
-    method public static final java.lang.Object registerFactory(android.icu.text.Collator.CollatorFactory);
-    method public static final java.lang.Object registerInstance(android.icu.text.Collator, android.icu.util.ULocale);
     method public void setDecomposition(int);
     method public android.icu.text.Collator setMaxVariable(int);
     method public void setReorderCodes(int...);
     method public void setStrength(int);
-    method public static final boolean unregister(java.lang.Object);
     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
@@ -16387,16 +16381,6 @@
     field public static final int TERTIARY = 2; // 0x2
   }
 
-  public static abstract class Collator.CollatorFactory {
-    ctor protected Collator.CollatorFactory();
-    method public android.icu.text.Collator createCollator(android.icu.util.ULocale);
-    method public android.icu.text.Collator createCollator(java.util.Locale);
-    method public java.lang.String getDisplayName(java.util.Locale, java.util.Locale);
-    method public java.lang.String getDisplayName(android.icu.util.ULocale, android.icu.util.ULocale);
-    method public abstract java.util.Set<java.lang.String> getSupportedLocaleIDs();
-    method public boolean visible();
-  }
-
   public static abstract interface Collator.ReorderCodes {
     field public static final int CURRENCY = 4099; // 0x1003
     field public static final int DEFAULT = -1; // 0xffffffff
@@ -17256,7 +17240,6 @@
     method public java.lang.Number parse(java.lang.String) throws java.text.ParseException;
     method public android.icu.util.CurrencyAmount parseCurrency(java.lang.CharSequence, java.text.ParsePosition);
     method public final java.lang.Object parseObject(java.lang.String, java.text.ParsePosition);
-    method public static java.lang.Object registerFactory(android.icu.text.NumberFormat.NumberFormatFactory);
     method public void setContext(android.icu.text.DisplayContext);
     method public void setCurrency(android.icu.util.Currency);
     method public void setGroupingUsed(boolean);
@@ -17267,7 +17250,6 @@
     method public void setParseIntegerOnly(boolean);
     method public void setParseStrict(boolean);
     method public void setRoundingMode(int);
-    method public static boolean unregister(java.lang.Object);
     field public static final int ACCOUNTINGCURRENCYSTYLE = 7; // 0x7
     field public static final int CASHCURRENCYSTYLE = 8; // 0x8
     field public static final int CURRENCYSTYLE = 1; // 0x1
@@ -17296,28 +17278,6 @@
     field public static final android.icu.text.NumberFormat.Field SIGN;
   }
 
-  public static abstract class NumberFormat.NumberFormatFactory {
-    ctor protected NumberFormat.NumberFormatFactory();
-    method public android.icu.text.NumberFormat createFormat(android.icu.util.ULocale, int);
-    method public android.icu.text.NumberFormat createFormat(java.util.Locale, int);
-    method public abstract java.util.Set<java.lang.String> getSupportedLocaleNames();
-    method public boolean visible();
-    field public static final int FORMAT_CURRENCY = 1; // 0x1
-    field public static final int FORMAT_INTEGER = 4; // 0x4
-    field public static final int FORMAT_NUMBER = 0; // 0x0
-    field public static final int FORMAT_PERCENT = 2; // 0x2
-    field public static final int FORMAT_SCIENTIFIC = 3; // 0x3
-  }
-
-  public static abstract class NumberFormat.SimpleNumberFormatFactory extends android.icu.text.NumberFormat.NumberFormatFactory {
-    ctor public NumberFormat.SimpleNumberFormatFactory(java.util.Locale);
-    ctor public NumberFormat.SimpleNumberFormatFactory(java.util.Locale, boolean);
-    ctor public NumberFormat.SimpleNumberFormatFactory(android.icu.util.ULocale);
-    ctor public NumberFormat.SimpleNumberFormatFactory(android.icu.util.ULocale, boolean);
-    method public final java.util.Set<java.lang.String> getSupportedLocaleNames();
-    method public final boolean visible();
-  }
-
   public class NumberingSystem {
     ctor public NumberingSystem();
     method public static java.lang.String[] getAvailableNames();
@@ -18246,8 +18206,6 @@
     method public java.lang.String getSymbol(java.util.Locale);
     method public java.lang.String getSymbol(android.icu.util.ULocale);
     method public static boolean isAvailable(java.lang.String, java.util.Date, java.util.Date);
-    method public static java.lang.Object registerInstance(android.icu.util.Currency, android.icu.util.ULocale);
-    method public static boolean unregister(java.lang.Object);
     field public static final int LONG_NAME = 1; // 0x1
     field public static final int PLURAL_LONG_NAME = 2; // 0x2
     field public static final int SYMBOL_NAME = 0; // 0x0
diff --git a/api/system-current.txt b/api/system-current.txt
index c46bbb1..91b6a0f 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -17484,11 +17484,8 @@
     method public abstract int next();
     method public int preceding(int);
     method public abstract int previous();
-    method public static java.lang.Object registerInstance(android.icu.text.BreakIterator, java.util.Locale, int);
-    method public static java.lang.Object registerInstance(android.icu.text.BreakIterator, android.icu.util.ULocale, int);
     method public void setText(java.lang.String);
     method public abstract void setText(java.text.CharacterIterator);
-    method public static boolean unregister(java.lang.Object);
     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
@@ -17573,13 +17570,10 @@
     method public abstract int getVariableTop();
     method public abstract android.icu.util.VersionInfo getVersion();
     method public boolean isFrozen();
-    method public static final java.lang.Object registerFactory(android.icu.text.Collator.CollatorFactory);
-    method public static final java.lang.Object registerInstance(android.icu.text.Collator, android.icu.util.ULocale);
     method public void setDecomposition(int);
     method public android.icu.text.Collator setMaxVariable(int);
     method public void setReorderCodes(int...);
     method public void setStrength(int);
-    method public static final boolean unregister(java.lang.Object);
     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
@@ -17590,16 +17584,6 @@
     field public static final int TERTIARY = 2; // 0x2
   }
 
-  public static abstract class Collator.CollatorFactory {
-    ctor protected Collator.CollatorFactory();
-    method public android.icu.text.Collator createCollator(android.icu.util.ULocale);
-    method public android.icu.text.Collator createCollator(java.util.Locale);
-    method public java.lang.String getDisplayName(java.util.Locale, java.util.Locale);
-    method public java.lang.String getDisplayName(android.icu.util.ULocale, android.icu.util.ULocale);
-    method public abstract java.util.Set<java.lang.String> getSupportedLocaleIDs();
-    method public boolean visible();
-  }
-
   public static abstract interface Collator.ReorderCodes {
     field public static final int CURRENCY = 4099; // 0x1003
     field public static final int DEFAULT = -1; // 0xffffffff
@@ -18459,7 +18443,6 @@
     method public java.lang.Number parse(java.lang.String) throws java.text.ParseException;
     method public android.icu.util.CurrencyAmount parseCurrency(java.lang.CharSequence, java.text.ParsePosition);
     method public final java.lang.Object parseObject(java.lang.String, java.text.ParsePosition);
-    method public static java.lang.Object registerFactory(android.icu.text.NumberFormat.NumberFormatFactory);
     method public void setContext(android.icu.text.DisplayContext);
     method public void setCurrency(android.icu.util.Currency);
     method public void setGroupingUsed(boolean);
@@ -18470,7 +18453,6 @@
     method public void setParseIntegerOnly(boolean);
     method public void setParseStrict(boolean);
     method public void setRoundingMode(int);
-    method public static boolean unregister(java.lang.Object);
     field public static final int ACCOUNTINGCURRENCYSTYLE = 7; // 0x7
     field public static final int CASHCURRENCYSTYLE = 8; // 0x8
     field public static final int CURRENCYSTYLE = 1; // 0x1
@@ -18499,28 +18481,6 @@
     field public static final android.icu.text.NumberFormat.Field SIGN;
   }
 
-  public static abstract class NumberFormat.NumberFormatFactory {
-    ctor protected NumberFormat.NumberFormatFactory();
-    method public android.icu.text.NumberFormat createFormat(android.icu.util.ULocale, int);
-    method public android.icu.text.NumberFormat createFormat(java.util.Locale, int);
-    method public abstract java.util.Set<java.lang.String> getSupportedLocaleNames();
-    method public boolean visible();
-    field public static final int FORMAT_CURRENCY = 1; // 0x1
-    field public static final int FORMAT_INTEGER = 4; // 0x4
-    field public static final int FORMAT_NUMBER = 0; // 0x0
-    field public static final int FORMAT_PERCENT = 2; // 0x2
-    field public static final int FORMAT_SCIENTIFIC = 3; // 0x3
-  }
-
-  public static abstract class NumberFormat.SimpleNumberFormatFactory extends android.icu.text.NumberFormat.NumberFormatFactory {
-    ctor public NumberFormat.SimpleNumberFormatFactory(java.util.Locale);
-    ctor public NumberFormat.SimpleNumberFormatFactory(java.util.Locale, boolean);
-    ctor public NumberFormat.SimpleNumberFormatFactory(android.icu.util.ULocale);
-    ctor public NumberFormat.SimpleNumberFormatFactory(android.icu.util.ULocale, boolean);
-    method public final java.util.Set<java.lang.String> getSupportedLocaleNames();
-    method public final boolean visible();
-  }
-
   public class NumberingSystem {
     ctor public NumberingSystem();
     method public static java.lang.String[] getAvailableNames();
@@ -19449,8 +19409,6 @@
     method public java.lang.String getSymbol(java.util.Locale);
     method public java.lang.String getSymbol(android.icu.util.ULocale);
     method public static boolean isAvailable(java.lang.String, java.util.Date, java.util.Date);
-    method public static java.lang.Object registerInstance(android.icu.util.Currency, android.icu.util.ULocale);
-    method public static boolean unregister(java.lang.Object);
     field public static final int LONG_NAME = 1; // 0x1
     field public static final int PLURAL_LONG_NAME = 2; // 0x2
     field public static final int SYMBOL_NAME = 0; // 0x0
diff --git a/api/test-current.txt b/api/test-current.txt
index f7f42ff..7bbb526 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -16293,11 +16293,8 @@
     method public abstract int next();
     method public int preceding(int);
     method public abstract int previous();
-    method public static java.lang.Object registerInstance(android.icu.text.BreakIterator, java.util.Locale, int);
-    method public static java.lang.Object registerInstance(android.icu.text.BreakIterator, android.icu.util.ULocale, int);
     method public void setText(java.lang.String);
     method public abstract void setText(java.text.CharacterIterator);
-    method public static boolean unregister(java.lang.Object);
     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
@@ -16382,13 +16379,10 @@
     method public abstract int getVariableTop();
     method public abstract android.icu.util.VersionInfo getVersion();
     method public boolean isFrozen();
-    method public static final java.lang.Object registerFactory(android.icu.text.Collator.CollatorFactory);
-    method public static final java.lang.Object registerInstance(android.icu.text.Collator, android.icu.util.ULocale);
     method public void setDecomposition(int);
     method public android.icu.text.Collator setMaxVariable(int);
     method public void setReorderCodes(int...);
     method public void setStrength(int);
-    method public static final boolean unregister(java.lang.Object);
     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
@@ -16399,16 +16393,6 @@
     field public static final int TERTIARY = 2; // 0x2
   }
 
-  public static abstract class Collator.CollatorFactory {
-    ctor protected Collator.CollatorFactory();
-    method public android.icu.text.Collator createCollator(android.icu.util.ULocale);
-    method public android.icu.text.Collator createCollator(java.util.Locale);
-    method public java.lang.String getDisplayName(java.util.Locale, java.util.Locale);
-    method public java.lang.String getDisplayName(android.icu.util.ULocale, android.icu.util.ULocale);
-    method public abstract java.util.Set<java.lang.String> getSupportedLocaleIDs();
-    method public boolean visible();
-  }
-
   public static abstract interface Collator.ReorderCodes {
     field public static final int CURRENCY = 4099; // 0x1003
     field public static final int DEFAULT = -1; // 0xffffffff
@@ -17268,7 +17252,6 @@
     method public java.lang.Number parse(java.lang.String) throws java.text.ParseException;
     method public android.icu.util.CurrencyAmount parseCurrency(java.lang.CharSequence, java.text.ParsePosition);
     method public final java.lang.Object parseObject(java.lang.String, java.text.ParsePosition);
-    method public static java.lang.Object registerFactory(android.icu.text.NumberFormat.NumberFormatFactory);
     method public void setContext(android.icu.text.DisplayContext);
     method public void setCurrency(android.icu.util.Currency);
     method public void setGroupingUsed(boolean);
@@ -17279,7 +17262,6 @@
     method public void setParseIntegerOnly(boolean);
     method public void setParseStrict(boolean);
     method public void setRoundingMode(int);
-    method public static boolean unregister(java.lang.Object);
     field public static final int ACCOUNTINGCURRENCYSTYLE = 7; // 0x7
     field public static final int CASHCURRENCYSTYLE = 8; // 0x8
     field public static final int CURRENCYSTYLE = 1; // 0x1
@@ -17308,28 +17290,6 @@
     field public static final android.icu.text.NumberFormat.Field SIGN;
   }
 
-  public static abstract class NumberFormat.NumberFormatFactory {
-    ctor protected NumberFormat.NumberFormatFactory();
-    method public android.icu.text.NumberFormat createFormat(android.icu.util.ULocale, int);
-    method public android.icu.text.NumberFormat createFormat(java.util.Locale, int);
-    method public abstract java.util.Set<java.lang.String> getSupportedLocaleNames();
-    method public boolean visible();
-    field public static final int FORMAT_CURRENCY = 1; // 0x1
-    field public static final int FORMAT_INTEGER = 4; // 0x4
-    field public static final int FORMAT_NUMBER = 0; // 0x0
-    field public static final int FORMAT_PERCENT = 2; // 0x2
-    field public static final int FORMAT_SCIENTIFIC = 3; // 0x3
-  }
-
-  public static abstract class NumberFormat.SimpleNumberFormatFactory extends android.icu.text.NumberFormat.NumberFormatFactory {
-    ctor public NumberFormat.SimpleNumberFormatFactory(java.util.Locale);
-    ctor public NumberFormat.SimpleNumberFormatFactory(java.util.Locale, boolean);
-    ctor public NumberFormat.SimpleNumberFormatFactory(android.icu.util.ULocale);
-    ctor public NumberFormat.SimpleNumberFormatFactory(android.icu.util.ULocale, boolean);
-    method public final java.util.Set<java.lang.String> getSupportedLocaleNames();
-    method public final boolean visible();
-  }
-
   public class NumberingSystem {
     ctor public NumberingSystem();
     method public static java.lang.String[] getAvailableNames();
@@ -18258,8 +18218,6 @@
     method public java.lang.String getSymbol(java.util.Locale);
     method public java.lang.String getSymbol(android.icu.util.ULocale);
     method public static boolean isAvailable(java.lang.String, java.util.Date, java.util.Date);
-    method public static java.lang.Object registerInstance(android.icu.util.Currency, android.icu.util.ULocale);
-    method public static boolean unregister(java.lang.Object);
     field public static final int LONG_NAME = 1; // 0x1
     field public static final int PLURAL_LONG_NAME = 2; // 0x2
     field public static final int SYMBOL_NAME = 0; // 0x0