History log of /libcore/luni/src/main/java/java/util/Locale.java
Revision Date Author Comments
50e50d57783060196a1f8e367616f2109c9edb4e 05-Oct-2012 Elliott Hughes <enh@google.com> Ensure we give "tl" the display name "Filipino".

This isn't right for all locales, but it's right for "tl" in "tl" itself,
which is how we render language names in Settings.

(Yes, I know that "tl" is for "Tagalog" and "fil" is for "Filipino", but
Google policy is to use the latter name. If our resource system weren't
limited to two-letter language codes, we'd be using the modern three-letter
"fil" instead of the obsolete "tl", but we can't fix that right now. Bukas.)

Bug: 7291355
Change-Id: I7d9021dc55d9f1d3f8a75b10c890a2d5f91982d6
271af435d3f0fd0135aeec7e48d5cd7d5611829d 27-Mar-2012 Elliott Hughes <enh@google.com> Use the release name in Locale's table of releases.

Bug: 5905761
Change-Id: If0fc5fd19bddefd72f216e8c230893b0387fa03d
5cef08f71b7fd1282ce3b338f420ae754744925d 23-Jan-2012 Elliott Hughes <enh@google.com> Mention the ICU upgrade and the new CLDR/Unicode versions.

I'll need to come back when "master" becomes an actual release.

Bug: 5905761
Change-Id: Ia4d45ba028c9de0f167cc566c0275ddc955de9ee
5cd66f07b3e6c6029a2b72369ab556520b9676e1 15-Jun-2011 Elliott Hughes <enh@google.com> Update the Locale documentation to mention ICU 4.6.

Change-Id: I9a90a930bb4bc8e45a8a38c1eacba708eb087e40
ac0bbf7cc5f183addacd31351d9b876e2bbf0334 25-Mar-2011 Elliott Hughes <enh@google.com> Remove dead cruft.

And warn about the inadvisability of changing built-in system properties.

Bug: 4174340
Change-Id: Ibd6258f56c608fa884cbd243223b50b12eb505ec
e26ba79900d471d02d656f686926918ef7dc751f 08-Feb-2011 Elliott Hughes <enh@google.com> Use int.class instead of Integer.TYPE (et cetera) for clarity.

I've also removed some small amount of duplication and a few unused imports.

Change-Id: Ie52477484bade74c80a348ad1261b596f9053cf6
28eb98ecd43c27702e85b0561e040e2da10320a6 05-Feb-2011 Elliott Hughes <enh@google.com> Fix serialization of DecimalFormatSymbols.

Missing 'final' on the serialPersistentFields declaration meant we were
falling back to reflection, and 'exponential' isn't actually a field.

I've checked all the other serialPersistentFields fields, and put them
in a canonical form. There were no other errors.

I'll do two other related changes: I'll replace confusing use of Character.TYPE
with char.class (and so forth), and I'll backport the active ingredient from
this change so it's fixed in honeycomb-mr1.

Bug: http://code.google.com/p/android/issues/detail?id=14495
Change-Id: I954da649ad597450bee54957dc0e3d3aa9d151dd
28fe896e582d9ab920571dad758fcdb1f80cf47f 13-Jan-2011 Elliott Hughes <enh@google.com> Improve java.util.Locale documentation.

The key change here is adding "honeycomb" to the table. The other
changes are just targets of opportunity.

I've also raised doclava bugs, because this page still looks awful
after doclava's mangled it. (javadoc does a better job.)

Change-Id: I5a8a9e7b2df8ec792f4d191729f8d30b8306cd6e
ad41624e761bcf1af9c8008eb45187fc13983717 07-Jan-2011 Elliott Hughes <enh@google.com> Retire SecurityManager.

This change removes all the code that was calling getSecurityManager, and
removes all use of AccessController.doPrivileged. It also changes the
implementation of AccessController so it doesn't actually do anything; it's
only there for source-level compatibility.

Bug: 2585285
Change-Id: I1f0295a4f12bce0316d8073011d8593fee116f71
a695e8fafadd2591cd148e78f19bc6d7c15121bb 05-Jan-2011 Jesse Wilson <jessewilson@google.com> Just use String for upper case/lower case operations.

Change-Id: If686975f659412c555684ed0032694e854e3aa8c
http://b/2183747
162b0775772fa66b7eb634760a8159a60c1ddcea 02-Oct-2010 Elliott Hughes <enh@google.com> Move more stuff out of icu4jni; ICU and LocaleData.

Bug: 3045778
Change-Id: I59fd27920a2da9a42b29fd79b8d81bdaabdef8cd
d2d7abef3e9b73a57cdf1f2afd678d7f48945679 12-Sep-2010 Elliott Hughes <enh@google.com> Document Unicode versions and that we don't support the locale spi junk.

Bug: 2860486
Bug: 2938123
Change-Id: I3eb587300ea97340cdc23ba2d0136b8eeeb99b25
1d58625189328f29c10fa98d52512ee6cf8cc641 26-Aug-2010 Ben Dodson <bjdodson@google.com> Update for changes to @code processing

Change-Id: Ifb7dbe3105bdef15dadb84740845a71b019d62e3
162a12c1442641a95fe95859fa4e561b22db049f 25-May-2010 Elliott Hughes <enh@google.com> Remove @hide from Java 6 API.

I've left the two new spi packages @hidden, because I think we shouldn't
support them without convincing demand from developers (and I don't
believe there could be such a thing --- they just don't make sense, and
if we add anything, it should be the ability to provide extra ICU data).

Also fix a handful of javadoc syntax errors in Arrays.java and TreeMap.java.

Bug: 2497395
Change-Id: I4176b72daff0face4ed6c7ee1d1f4267d52006b4
f33eae7e84eb6d3b0f4e86b59605bb3de73009f3 13-May-2010 Elliott Hughes <enh@google.com> Remove all trailing whitespace from the dalvik team-maintained parts of libcore.

Gentlemen, you may now set your editors to "strip trailing whitespace"...

Change-Id: I85b2f6c80e5fbef1af6cab11789790b078c11b1b
a7d4139bed693bf6037bf5f7f49a24b077102adc 22-Apr-2010 Elliott Hughes <enh@google.com> java.text.RuleBasedCollator fixes.

Add expectations for broken harmony tests, add our own equivalent (but correct)
tets, and fix the bug turned up by the correct tests: the icu4jni
RuleBasedCollator was using toString to convert a CharacterIterator to a
String, resulting in iteration over the result of Object.toString (the class
name and identity hash code) rather than the characters of interest.

Also shut javac up about non-ASCII characters in Locale.java.

Bug: 2608742
Bug: 2608750
Change-Id: I2171789058c8116eacd7e5815bd483f0bc07c69b
0ade1b6059b1f8cec27fa65c6ee18f13f2e0cebd 21-Apr-2010 Elliott Hughes <enh@google.com> Fix Locale.getDisplayName for unlocalizable languages/countries/variants.

This does not address the interpretation of script identifiers, but does bring us
in line with the RI's behavior. That's why the test doesn't use the example from
the bug.

Bug: 2611311
Change-Id: I54af89aaf418cd520dc6ebdb1e27dc1ac373f70f
2f633269e71f3fb0b6248cc695cf37c5cbaf7e60 20-Apr-2010 Jesse Wilson <jessewilson@google.com> Fixing TimeZone.setDefault() documentation.

Set expectations for date formatting to tolerate "GMT-07" in the
output. The alternative is to emit an ambigous date string.
Applications that want pretty date formatting should use the
proper facilities: SimpleDateFormat, etc.

This problem was detected by org.apache.harmony.luni.tests.java.util.DateTest.test_toString
757a7942eed2b0aa457f8517a0259d2ac82c5b18 16-Apr-2010 Elliott Hughes <enh@google.com> Merge LocaleData and Resources, rename Resources to ICU.

Also move our ICU tests into our little tree of tests.

Bug: 2596471
Change-Id: I73b53d74c26ef9bf670f12cac58b51ba61eefead
ef415fba11d8588a8dba48b4afdde420e5dcdccc 15-Apr-2010 Elliott Hughes <enh@google.com> java.util.Formatter: fix localization of numbers.

Bug: 2301911
Change-Id: Ic594702a80bdef2e8fd97e52fd5fa301def19cac
3106a99ccbe2e2a25bb66266d0ee42d98dd18099 13-Apr-2010 Elliott Hughes <enh@google.com> Improve documentation about the user's default locale.

Add a bit of text to Locale's class documentation, and include a link from
every method that uses Locale.getDefault(). Also try to consistently say
"user's default locale", as a subliminal hint that this isn't necessarily
the developer's locale, nor en_US.

Bug: 2593000
Change-Id: Ieebe864ed6b9fecbfef5d5415269299739cedd1b
f9157eaea53923d3dbe6a521b29427819052f176 01-Apr-2010 Elliott Hughes <enh@google.com> Tidy up our getAvailableLocales methods to actually ask ICU4C.

These specialized methods are little used, and in several cases ICU itself
just returns the list of locales, but that's ICU's business, not ours. As
long as ICU is in charge of our locale-specific data, it should be responsible
for answering questions about what locale-specific data is available...

Change-Id: Idc8a66bbf7fcbc6b06e30929e6a7af3fe30ab7d1
31df07d33bf4730c76d5f11b802e8e2bd40baba9 03-Mar-2010 Elliott Hughes <enh@google.com> Add (but @hide) String.isEmpty and Locale.ROOT.
aa3919543be785a76742c5ae2a753178cb2d928a 13-Feb-2010 Elliott Hughes <enh@google.com> Use one method to create a Locale from a String.

Bug: 2392157
2e3a41defb42a97b463194d859d2d4088a600fd8 21-Dec-2009 Elliott Hughes <enh@google.com> Speed up the way we access ICU's locale data.

This patch makes creating a new NumberFormat or new SimpleDateFormat 2x faster.

Basically, the ResourceBundle mechanism is really expensive in several ways:

1. The two-level caching is unnecessary for locale data, and expensive because
it burns through a lot of temporary objects.
2. The PrivilegedAction stuff is unnecessary and expensive because it too burns
quite a few temporary objects (including an ArrayList for each call; should
we consider removing support for SecurityManager so we can remove this cruft
from our code?).
3. The caching in most cases doesn't cache anything useful; the ResourceBundles
simply forward all questions straight to native code anyway, all we're
caching is an unnecessary forwarding object (in a cache where lookups cost
more than just creating a new unnecessary forwarding object would cost).

I've left CurrencyResourceBundle on the slow (ResourceBundle.getBundle) path
because I'm not yet sure how much of that path's semantics it relies on.

I still return LocaleResourceBundle instances (albeit via a much faster path)
but we should fix that. The native code returns an array which ResourceBundle
stuffs into a Hashtable and the calling code accesses via hash table lookups.
This despite the fact that the keys are a small fixed set known in advance.
We could make the native layer and the calling layer simpler and faster by
using a "struct", and doing so would make the middle layer go away completely.
4c2b8db255a9225079f5a1a942b76be1c242b7a7 17-Dec-2009 Elliott Hughes <enh@google.com> Improve our java.util.Locale documentation.

Bug: http://code.google.com/p/android/issues/detail?id=5476
4fefecee9d4a5d2a4510f516b4015607b19e8d09 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
1c422fc0ab0692e10a05af6f48c6276c4dad4bea 16-Oct-2009 Jesse Wilson <jessewilson@google.com> Respond to impossible CloneNotSupportedExceptions with AssertionErrors.

See bug 2183132.
5839b909d9528b7726e678a4b696ed37df15d897 10-Oct-2009 Jesse Wilson <jessewilson@google.com> Udating luni to Harmony r823222.

Highlights:
- InputStream.skip concurrency issue
- "better" messages in bound exceptions for streams and arrays
- prefer fewer writes to underlying streams (using byte[] buffers)
- Rename subclasses to not reuse names from their superclasses
- PlatformAddressFactory.allocMap bugfix

Plus some spelling fixes, style fixes, serial version UIDs and other
boilerplate improvements.
a389b4a499f40379b0b204d7ba1c2057663d95c0 11-Aug-2009 Jesse Wilson <jessewilson@google.com> Update Luni to Harmony r802921.

Notable changes:
- replaced StringBuffer with StringBuilder in several places
- fixed a problem with BufferedInputStream's newline characters (EBCDIC)
- cleanup Timer's finalizer helper object
- new cache for the canonical path of a file
- fixed concurrency issue with ArrayList
- floating point parsing now trims length for very small numbers
- encoding specified "UTF-8" when converting some byte[]s to strings (JarURLConnection, Util, OSFileSystem)
- Harmony now implements floor and ceil in Java. We continue to use native code.
f5597e626ecf7949d249dea08c1a2964d890ec11 25-Jul-2009 Jesse Wilson <jessewilson@google.com> Integrate luni module (but not tests) to Harmony r772995.

Notable changes
- Stripped "@since Android 1.0" from many files. Most files
are now 100% the same in Dalvik and Harmony.
- AbstractStringBuilder.reverse() supports surrogates
- AbstractStringBuilder shares less to waste less memory
- Bitset optimized
- BufferedInputStream changed to support unsynchronized close()
- BufferedOutputStream does flushInternal
- BufferedReader supports EBCDIC NEL
- Collections.synchronizedList().indexOf() does a copy for more concurrency
- Classes in nio module changed: DatagramChannelImpl, SocketChannelImpl
and ServerSocketChannelImpl (these depend on internal APIs changed in
this update)
- DataInputStream/DataOutputStream now use a small buffer to limit the
number of times the underlying stream is accessed
- Date now has a minutes offset, more efficient toString()
- ExposedByteArrayInputStream: new internal class
- DeleteOnExit moved to top-level class
- FileDescriptor.isValid() now non-native
- Float, Double lessThan optimized (fix for compare(-0.0F, 0.0F) still pending)
- FileURLConnection now guesses content types from streams
- HashMap iterator changes
- Hashtable iterator changes
- INetworkSystem
- removes bind2(), createMulticastSocket, sendStream(),
- renames createSocket to createStreamSocket
- JarURLConnection rewritten
- LinkedHashMap: new iterator
- Locale, Currency, TimeZone: now use ICU in Harmony, plain Java in Dalvik
- ObjectInputStream: Accessor objects in Harmony, direct native in Dalvik
- ProxyClassFile - many changes
- String - optimized ascii for toLowerCase, toUpperCase, compare
- Timer - rewritten
- TreeMap - rewritten
- URLClassLoader - new
- URLConnection - new guessContentTypeFromStream(), uses org.apache.harmony.awt.www.content
to lookup content type handlers
adc854b798c1cfe3bfd4c27d68d5cee38ca617da 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
1c0fed63c71ddb230f3b304aac12caffbedf2f21 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
dd828f42a5c83b4270d4fbf6fce2da1878f1e84a 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
fdb2704414a9ed92394ada0d1395e4db86889465 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution