private static LocaleData initLocaleData(Locale locale) { LocaleData localeData = new LocaleData(); if (!ICU.initLocaleDataNative(locale.toString(), localeData)) { throw new AssertionError("couldn't initialize LocaleData for locale " + locale); localeData.timeFormat12 = ICU.getBestDateTimePattern("hm", locale.toString()); localeData.timeFormat24 = ICU.getBestDateTimePattern("Hm", locale.toString());
@Override protected CoderResult decodeLoop(ByteBuffer in, CharBuffer out) { if (!in.hasRemaining()) { return CoderResult.UNDERFLOW; } data[INPUT_OFFSET] = getArray(in); data[OUTPUT_OFFSET]= getArray(out); try { int error = NativeConverter.decode(converterHandle, input, inEnd, output, outEnd, data, false); if (ICU.U_FAILURE(error)) { if (error == ICU.U_BUFFER_OVERFLOW_ERROR) { return CoderResult.OVERFLOW; } else if (error == ICU.U_INVALID_CHAR_FOUND) { return CoderResult.unmappableForLength(data[INVALID_BYTES]); } else if (error == ICU.U_ILLEGAL_CHAR_FOUND) { return CoderResult.malformedForLength(data[INVALID_BYTES]); } else { throw new AssertionError(error); } } // Decoding succeeded: give us more data. return CoderResult.UNDERFLOW; } finally { setPosition(in); setPosition(out); } }
/** * Returns an array of locales for which custom {@code BreakIterator} instances * are available. * <p>Note that Android does not support user-supplied locale service providers. */ public static Locale[] getAvailableLocales() { return ICU.getAvailableBreakIteratorLocales(); }
public static Locale[] getAvailableCalendarLocales() { return localesFromStrings(getAvailableCalendarLocalesNative()); }
public static Locale[] getAvailableBreakIteratorLocales() { return localesFromStrings(getAvailableBreakIteratorLocalesNative()); }
public static Locale[] getAvailableCollatorLocales() { return localesFromStrings(getAvailableCollatorLocalesNative()); }
/** * Returns an array of locales for which custom {@code DateFormat} instances * are available. * <p>Note that Android does not support user-supplied locale service providers. */ public static Locale[] getAvailableLocales() { return ICU.getAvailableDateFormatLocales(); }
/** * Returns a set of all known currencies. * @since 1.7 */ public static Set<Currency> getAvailableCurrencies() { Set<Currency> result = new LinkedHashSet<Currency>(); String[] currencyCodes = ICU.getAvailableCurrencyCodes(); for (String currencyCode : currencyCodes) { result.add(Currency.getInstance(currencyCode)); } return result; }
/** * Returns an array of locales for which custom {@code Calendar} instances * are available. * <p>Note that Android does not support user-supplied locale service providers. */ public static synchronized Locale[] getAvailableLocales() { return ICU.getAvailableCalendarLocales(); }
/** * Returns an array of locales for which custom {@code Collator} instances * are available. * <p>Note that Android does not support user-supplied locale service providers. */ public static Locale[] getAvailableLocales() { return ICU.getAvailableCollatorLocales(); }
@Test @Config(minSdk = LOLLIPOP) public void getBestDateTimePattern_returns_jmm_ptBR() { assertThat(ICU.getBestDateTimePattern("jmm", new Locale("pt", "BR"))).isEqualTo("H:mm"); }
public static Locale[] getAvailableCalendarLocales() { return localesFromStrings(getAvailableCalendarLocalesNative()); }
public static Locale[] getAvailableBreakIteratorLocales() { return localesFromStrings(getAvailableBreakIteratorLocalesNative()); }
public static Locale[] getAvailableCollatorLocales() { return localesFromStrings(getAvailableCollatorLocalesNative()); }
public static Locale[] getAvailableDateFormatSymbolsLocales() { return getAvailableDateFormatLocales(); }
/** * Returns a set of all known currencies. * @since 1.7 */ public static Set<Currency> getAvailableCurrencies() { Set<Currency> result = new LinkedHashSet<Currency>(); String[] currencyCodes = ICU.getAvailableCurrencyCodes(); for (String currencyCode : currencyCodes) { result.add(Currency.getInstance(currencyCode)); } return result; }
/** * Returns an array of locales for which custom {@code Calendar} instances * are available. * <p>Note that Android does not support user-supplied locale service providers. */ public static synchronized Locale[] getAvailableLocales() { return ICU.getAvailableCalendarLocales(); }
/** * Returns an array of locales for which custom {@code Collator} instances * are available. * <p>Note that Android does not support user-supplied locale service providers. */ public static Locale[] getAvailableLocales() { return ICU.getAvailableCollatorLocales(); }
@Test @Config(minSdk = LOLLIPOP) public void getBestDateTimePattern_returns_jmm_US() { assertThat(ICU.getBestDateTimePattern("jmm", Locale.US)).isEqualTo("h:mm a"); }
private static LocaleData initLocaleData(Locale locale) { LocaleData localeData = new LocaleData(); if (!ICU.initLocaleDataNative(locale.toString(), localeData)) { throw new AssertionError("couldn't initialize LocaleData for locale " + locale); localeData.timeFormat12 = ICU.getBestDateTimePattern("hm", locale.toString()); localeData.timeFormat24 = ICU.getBestDateTimePattern("Hm", locale.toString());