1345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet/* 2345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet * Copyright (C) 2011 The Android Open Source Project 3345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet * 4345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet * Licensed under the Apache License, Version 2.0 (the "License"); 5345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet * you may not use this file except in compliance with the License. 6345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet * You may obtain a copy of the License at 7345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet * 8345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet * http://www.apache.org/licenses/LICENSE-2.0 9345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet * 10345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet * Unless required by applicable law or agreed to in writing, software 11345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet * distributed under the License is distributed on an "AS IS" BASIS, 12345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet * See the License for the specific language governing permissions and 14345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet * limitations under the License. 15345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet */ 16345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 17345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohetpackage libcore.icu; 18345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 199a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohetimport com.android.tools.layoutlib.annotations.LayoutlibDelegate; 2039e75835399f4d979cf82069dae2bd1ec496fb81Deepanshu Guptaimport com.ibm.icu.text.DateTimePatternGenerator; 21103d40960daa0420995aa12881bef33892a0a2abDeepanshu Guptaimport com.ibm.icu.util.Currency; 2239e75835399f4d979cf82069dae2bd1ec496fb81Deepanshu Guptaimport com.ibm.icu.util.ULocale; 239a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet 24345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohetimport java.util.Locale; 25345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 26345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet/** 27345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet * Delegate implementing the native methods of libcore.icu.ICU 28345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet * 29345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet * Through the layoutlib_create tool, the original native methods of ICU have been replaced 30345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet * by calls to methods of the same name in this delegate class. 31345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet * 32345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet */ 33345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohetpublic class ICU_Delegate { 34345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 359a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet // --- Java delegates 369a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet 379a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet @LayoutlibDelegate 38345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet /*package*/ static String toLowerCase(String s, String localeName) { 39345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return s.toLowerCase(); 40345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 41345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 429a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet @LayoutlibDelegate 43345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet /*package*/ static String toUpperCase(String s, String localeName) { 44345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return s.toUpperCase(); 45345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 46345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 47345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet // --- Native methods accessing ICU's database. 48345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 49279c00e8e0abb20f7e10577c77937c058da080bfDeepanshu Gupta @LayoutlibDelegate 500d7ebc51ffb63f886af2196f05910925126726b9Deepanshu Gupta /*package*/ static String getBestDateTimePatternNative(String skeleton, String localeName) { 5139e75835399f4d979cf82069dae2bd1ec496fb81Deepanshu Gupta return DateTimePatternGenerator.getInstance(new ULocale(localeName)) 5239e75835399f4d979cf82069dae2bd1ec496fb81Deepanshu Gupta .getBestPattern(skeleton); 53279c00e8e0abb20f7e10577c77937c058da080bfDeepanshu Gupta } 54279c00e8e0abb20f7e10577c77937c058da080bfDeepanshu Gupta 55279c00e8e0abb20f7e10577c77937c058da080bfDeepanshu Gupta @LayoutlibDelegate 56279c00e8e0abb20f7e10577c77937c058da080bfDeepanshu Gupta /*package*/ static String getCldrVersion() { 57279c00e8e0abb20f7e10577c77937c058da080bfDeepanshu Gupta return "22.1.1"; // TODO: check what the right value should be. 58279c00e8e0abb20f7e10577c77937c058da080bfDeepanshu Gupta } 59279c00e8e0abb20f7e10577c77937c058da080bfDeepanshu Gupta 609a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet @LayoutlibDelegate 6166743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet /*package*/ static String getIcuVersion() { 6266743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet return "unknown_layoutlib"; 6366743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet } 6466743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet 6566743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet @LayoutlibDelegate 6666743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet /*package*/ static String getUnicodeVersion() { 6766743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet return "5.2"; 6866743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet } 6966743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet 7066743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet @LayoutlibDelegate 71345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet /*package*/ static String[] getAvailableBreakIteratorLocalesNative() { 72345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return new String[0]; 73345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 74345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 759a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet @LayoutlibDelegate 76345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet /*package*/ static String[] getAvailableCalendarLocalesNative() { 77345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return new String[0]; 78345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 79345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 809a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet @LayoutlibDelegate 81345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet /*package*/ static String[] getAvailableCollatorLocalesNative() { 82345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return new String[0]; 83345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 84345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 859a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet @LayoutlibDelegate 86345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet /*package*/ static String[] getAvailableDateFormatLocalesNative() { 87345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return new String[0]; 88345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 89345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 909a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet @LayoutlibDelegate 91345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet /*package*/ static String[] getAvailableLocalesNative() { 92345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return new String[0]; 93345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 94345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 959a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet @LayoutlibDelegate 96345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet /*package*/ static String[] getAvailableNumberFormatLocalesNative() { 97345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return new String[0]; 98345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 99345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 1009a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet @LayoutlibDelegate 10166743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet /*package*/ static String[] getAvailableCurrencyCodes() { 10266743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet return new String[0]; 10366743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet } 10466743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet 10566743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet @LayoutlibDelegate 10666743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet /*package*/ static String getCurrencyCode(String locale) { 107345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return ""; 108345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 109345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 1109a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet @LayoutlibDelegate 11166743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet /*package*/ static String getCurrencyDisplayName(String locale, String currencyCode) { 11266743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet return ""; 11366743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet } 11466743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet 11566743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet @LayoutlibDelegate 11666743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet /*package*/ static int getCurrencyFractionDigits(String currencyCode) { 117345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return 0; 118345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 119345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 1209a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet @LayoutlibDelegate 121103d40960daa0420995aa12881bef33892a0a2abDeepanshu Gupta /*package*/ static int getCurrencyNumericCode(String currencyCode) { 122103d40960daa0420995aa12881bef33892a0a2abDeepanshu Gupta return Currency.getInstance(currencyCode).getNumericCode(); 123103d40960daa0420995aa12881bef33892a0a2abDeepanshu Gupta } 124103d40960daa0420995aa12881bef33892a0a2abDeepanshu Gupta 125103d40960daa0420995aa12881bef33892a0a2abDeepanshu Gupta @LayoutlibDelegate 12666743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet /*package*/ static String getCurrencySymbol(String locale, String currencyCode) { 127345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return ""; 128345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 129345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 1309a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet @LayoutlibDelegate 131345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet /*package*/ static String getDisplayCountryNative(String countryCode, String locale) { 132345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return ""; 133345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 134345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 1359a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet @LayoutlibDelegate 136345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet /*package*/ static String getDisplayLanguageNative(String languageCode, String locale) { 137345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return ""; 138345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 139345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 1409a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet @LayoutlibDelegate 141345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet /*package*/ static String getDisplayVariantNative(String variantCode, String locale) { 142345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return ""; 143345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 144345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 1459a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet @LayoutlibDelegate 1460d7ebc51ffb63f886af2196f05910925126726b9Deepanshu Gupta /*package*/ static String getDisplayScriptNative(String variantCode, String locale) { 1470d7ebc51ffb63f886af2196f05910925126726b9Deepanshu Gupta return ""; 1480d7ebc51ffb63f886af2196f05910925126726b9Deepanshu Gupta } 1490d7ebc51ffb63f886af2196f05910925126726b9Deepanshu Gupta 1500d7ebc51ffb63f886af2196f05910925126726b9Deepanshu Gupta @LayoutlibDelegate 151bb5d0cc4369590ce892cca2f717f5d5568c5f655Deepanshu Gupta /*package*/ static String getISO3Country(String locale) { 152345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return ""; 153345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 154345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 1559a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet @LayoutlibDelegate 156bb5d0cc4369590ce892cca2f717f5d5568c5f655Deepanshu Gupta /*package*/ static String getISO3Language(String locale) { 157345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return ""; 158345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 159345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 1609a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet @LayoutlibDelegate 16166743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet /*package*/ static String addLikelySubtags(String locale) { 16266743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet return ""; 16366743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet } 16466743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet 165fc511683b6647295cb645a0118d1b0afd575b3c3Xavier Ducrohet @LayoutlibDelegate 166fc511683b6647295cb645a0118d1b0afd575b3c3Xavier Ducrohet /*package*/ static String getScript(String locale) { 167fc511683b6647295cb645a0118d1b0afd575b3c3Xavier Ducrohet return ""; 168fc511683b6647295cb645a0118d1b0afd575b3c3Xavier Ducrohet } 16966743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet 17066743a1ec0dddadec7cd8f026f9b6a2239f515beXavier Ducrohet @LayoutlibDelegate 171345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet /*package*/ static String[] getISOLanguagesNative() { 172345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return Locale.getISOLanguages(); 173345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 174345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 1759a4fe29c8d92014d2d9a848e9116b8cc9d0842f9Xavier Ducrohet @LayoutlibDelegate 176345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet /*package*/ static String[] getISOCountriesNative() { 177345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return Locale.getISOCountries(); 178345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 179345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 1800d7ebc51ffb63f886af2196f05910925126726b9Deepanshu Gupta @LayoutlibDelegate 1810d7ebc51ffb63f886af2196f05910925126726b9Deepanshu Gupta /*package*/ static boolean initLocaleDataNative(String locale, LocaleData result) { 182345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 183345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet // Used by Calendar. 184345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.firstDayOfWeek = Integer.valueOf(1); 185345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.minimalDaysInFirstWeek = Integer.valueOf(1); 186345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 187345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet // Used by DateFormatSymbols. 188345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.amPm = new String[] { "AM", "PM" }; 189345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.eras = new String[] { "BC", "AD" }; 190345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 191345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.longMonthNames = new String[] { "January", "February", "March", "April", "May", 192345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet "June", "July", "August", "September", "October", "November", "December" }; 193345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.shortMonthNames = new String[] { "Jan", "Feb", "Mar", "Apr", "May", 194345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; 195345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.longStandAloneMonthNames = result.longMonthNames; 196345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.shortStandAloneMonthNames = result.shortMonthNames; 197345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 19881f74f4bc96ea4266cebe1b785d095558f540800Deepanshu Gupta // The platform code expects this to begin at index 1, rather than 0. It maps it directly to 19981f74f4bc96ea4266cebe1b785d095558f540800Deepanshu Gupta // the constants from java.util.Calendar.<weekday> 200345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.longWeekdayNames = new String[] { 20181f74f4bc96ea4266cebe1b785d095558f540800Deepanshu Gupta "", "Sunday", "Monday" ,"Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }; 202345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.shortWeekdayNames = new String[] { 20381f74f4bc96ea4266cebe1b785d095558f540800Deepanshu Gupta "", "Sun", "Mon" ,"Tue", "Wed", "Thu", "Fri", "Sat" }; 20481f74f4bc96ea4266cebe1b785d095558f540800Deepanshu Gupta result.tinyWeekdayNames = new String[] { 20581f74f4bc96ea4266cebe1b785d095558f540800Deepanshu Gupta "", "S", "M", "T", "W", "T", "F", "S" }; 20681f74f4bc96ea4266cebe1b785d095558f540800Deepanshu Gupta 207345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.longStandAloneWeekdayNames = result.longWeekdayNames; 208345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.shortStandAloneWeekdayNames = result.shortWeekdayNames; 20981f74f4bc96ea4266cebe1b785d095558f540800Deepanshu Gupta result.tinyStandAloneWeekdayNames = result.tinyWeekdayNames; 210345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 211345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.fullTimeFormat = ""; 212345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.longTimeFormat = ""; 213345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.mediumTimeFormat = ""; 214345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.shortTimeFormat = ""; 215345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 216345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.fullDateFormat = ""; 217345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.longDateFormat = ""; 218345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.mediumDateFormat = ""; 219345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.shortDateFormat = ""; 220345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 221345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet // Used by DecimalFormatSymbols. 222345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.zeroDigit = '0'; 223345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.decimalSeparator = '.'; 224345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.groupingSeparator = ','; 225345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.patternSeparator = ' '; 226b913af540834b34d74b65a4bdb77a092dca39a04Elliott Hughes result.percent = "%"; 227345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.perMill = '\u2030'; 228345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.monetarySeparator = ' '; 229c73991bda0ad7821e27c20940368b0c0212c5dc4Narayan Kamath result.minusSign = "-"; 230345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.exponentSeparator = "e"; 231345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.infinity = "\u221E"; 232345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.NaN = "NaN"; 233345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet // Also used by Currency. 234345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.currencySymbol = "$"; 235345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.internationalCurrencySymbol = "USD"; 236345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 237345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet // Used by DecimalFormat and NumberFormat. 238345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.numberPattern = "%f"; 239345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.integerPattern = "%d"; 240345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.currencyPattern = "%s"; 241345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet result.percentPattern = "%f"; 242345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet 243345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet return true; 244345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet } 245e2b67777ad8c46e4b7fd85e9cd54f82b8dbe57eaDeepanshu Gupta 246e2b67777ad8c46e4b7fd85e9cd54f82b8dbe57eaDeepanshu Gupta @LayoutlibDelegate 247e2b67777ad8c46e4b7fd85e9cd54f82b8dbe57eaDeepanshu Gupta /*package*/ static void setDefaultLocale(String locale) { 248e2b67777ad8c46e4b7fd85e9cd54f82b8dbe57eaDeepanshu Gupta ICU.setDefaultLocale(locale); 249e2b67777ad8c46e4b7fd85e9cd54f82b8dbe57eaDeepanshu Gupta } 250e2b67777ad8c46e4b7fd85e9cd54f82b8dbe57eaDeepanshu Gupta 251e2b67777ad8c46e4b7fd85e9cd54f82b8dbe57eaDeepanshu Gupta @LayoutlibDelegate 252e2b67777ad8c46e4b7fd85e9cd54f82b8dbe57eaDeepanshu Gupta /*package*/ static String getDefaultLocale() { 253e2b67777ad8c46e4b7fd85e9cd54f82b8dbe57eaDeepanshu Gupta return ICU.getDefaultLocale(); 254e2b67777ad8c46e4b7fd85e9cd54f82b8dbe57eaDeepanshu Gupta } 255345f866bfd09476fd62aa10345a0670cc110b63cXavier Ducrohet} 256