diff --git a/api/current.txt b/api/current.txt index ec9f2eeed6a93..633c05d23600c 100644 --- a/api/current.txt +++ b/api/current.txt @@ -19380,6 +19380,197 @@ package android.icu.math { } +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 { + 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 { + 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> { + 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> { + 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 implements java.lang.Cloneable { + method public Object clone(); + 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 implements java.lang.Cloneable { + method public Object clone(); + 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 { + 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 { + 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 implements java.lang.Iterable> {