jdk/src/windows/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java
equal
deleted
inserted
replaced
301 dfs.setMinusSign(getMinusSign(langTag, dfs.getMinusSign())); |
301 dfs.setMinusSign(getMinusSign(langTag, dfs.getMinusSign())); |
302 dfs.setMonetaryDecimalSeparator(getMonetaryDecimalSeparator(langTag, dfs.getMonetaryDecimalSeparator())); |
302 dfs.setMonetaryDecimalSeparator(getMonetaryDecimalSeparator(langTag, dfs.getMonetaryDecimalSeparator())); |
303 dfs.setNaN(getNaN(langTag, dfs.getNaN())); |
303 dfs.setNaN(getNaN(langTag, dfs.getNaN())); |
304 dfs.setPercent(getPercent(langTag, dfs.getPercent())); |
304 dfs.setPercent(getPercent(langTag, dfs.getPercent())); |
305 dfs.setPerMill(getPerMill(langTag, dfs.getPerMill())); |
305 dfs.setPerMill(getPerMill(langTag, dfs.getPerMill())); |
306 if (isNativeDigit(langTag)) { |
306 dfs.setZeroDigit(getZeroDigit(langTag, dfs.getZeroDigit())); |
307 dfs.setZeroDigit(getZeroDigit(langTag, dfs.getZeroDigit())); |
|
308 } |
|
309 ref = new SoftReference<>(dfs); |
307 ref = new SoftReference<>(dfs); |
310 decimalFormatSymbolsCache.put(locale, ref); |
308 decimalFormatSymbolsCache.put(locale, ref); |
311 } |
309 } |
312 return (DecimalFormatSymbols)dfs.clone(); |
310 return (DecimalFormatSymbols)dfs.clone(); |
313 } |
311 } |
418 Locale base = locale.stripExtensions(); |
416 Locale base = locale.stripExtensions(); |
419 if (!supportedLocaleSet.contains(base)) { |
417 if (!supportedLocaleSet.contains(base)) { |
420 return false; |
418 return false; |
421 } |
419 } |
422 |
420 |
|
421 int calid = getCalendarID(locale.toLanguageTag()); |
|
422 if (calid <= 0 || calid >= calIDToLDML.length) { |
|
423 return false; |
|
424 } |
|
425 |
423 String requestedCalType = locale.getUnicodeLocaleType("ca"); |
426 String requestedCalType = locale.getUnicodeLocaleType("ca"); |
424 String nativeCalType = |
427 String nativeCalType = calIDToLDML[calid] |
425 calIDToLDML[getCalendarID(locale.toLanguageTag())] |
|
426 .replaceFirst("_.*", ""); // remove locale part. |
428 .replaceFirst("_.*", ""); // remove locale part. |
427 |
429 |
428 if (requestedCalType == null) { |
430 if (requestedCalType == null) { |
429 return Calendar.getAvailableCalendarTypes().contains(nativeCalType); |
431 return Calendar.getAvailableCalendarTypes().contains(nativeCalType); |
430 } else { |
432 } else { |