History log of /libcore/luni/src/main/java/java/util/Locale.java
Revision Date Author Comments
936306df62d7d44a806fbeb789c6432e7c325981 22-Oct-2014 smain@google.com <smain@google.com> autoclose all <a name> tags so they don't disappear on web site

<a> tags with the name attribute---used to create a page anchor---must be
closed immediately and not contain any text because, in order to make the
appropriate content visible below the site's "sticky header" when the anchor
is followed, CSS is used to hide the <a name> element and position it
up higher by an offset equal to the height of the sticky header.

So, do not place text inside an <a> tag with the name attribute.

Change-Id: Icae1b1f0716aa02d003f921b8e430ad3c99f26d0
76e916456153c0fed205c9d706fba7f2dedccc8f 22-Oct-2014 Elliott Hughes <enh@google.com> Update "4.? (STOPSHIP)" to "5.0 (Lollipop)" in Locale javadoc.

Bug: 18074200
Change-Id: I38f8fef6eb5a100f7ef3a1b9bc6640895c85b387
4ddaa41a0b03823742021992d2da86b78f5af034 08-Aug-2014 Narayan Kamath <narayan@google.com> Variants are case sensitive.

Yet we were incorrectly upper-casing them inside forLanguageTag.

bug: 16811867

(cherry picked from commit 544adffddd26dcaa63255396bcfff8c935a28872)

Change-Id: Ide9d9632a3e357728685dd0cde127f025d34113b
e489e23a9b9b6f18d1e1411ad1deb7787e28e6f6 30-Jul-2014 Narayan Kamath <narayan@google.com> Fix LocaleInternalsTest.

- After the new Java forLanguageTag implementation, bogus
locales really do result in "und".
- Fix a regression in unicode extension parsing, where we
would always add a "null" to the keyword set.
- Improve test assertions so that the reason for failure
is obvious.

bug: 15849709

(cherry picked from commit 386d30705bc91f8dd82843544f033595478b083b)

Change-Id: I41c3111dc4aad371bd1cc0ec8c2f3d12ee124bdf
386d30705bc91f8dd82843544f033595478b083b 30-Jul-2014 Narayan Kamath <narayan@google.com> Fix LocaleInternalsTest.

- After the new Java forLanguageTag implementation, bogus
locales really do result in "und".
- Fix a regression in unicode extension parsing, where we
would always add a "null" to the keyword set.
- Improve test assertions so that the reason for failure
is obvious.

bug: 15849709
Change-Id: I26fb348b872badb7844587cf290429e15dbb0f0e
ac89b307fd132d44ac55b9109833730cbc2e86fc 21-Jul-2014 Narayan Kamath <narayan@google.com> Implement Locale.forLanguageTag in java.

This prevents us from having to parse ICU locale IDs
or construct them in java. Note that the changes to
LocaleTest bring us in line with the spec (some of the
previous tests demonstrated wonky ICU4C behaviour we
didn't want).

This change includes a minor fix to unicode extension
parsing, we now accept keywords with empty values which
the spec allows.

bug: 15661724
bug: 15849709

(cherry picked from commit bf098bb6345b0917d645d809f4d703e6a0c904f4)

Change-Id: I9b5417dd32bd758655085a484db071959edb774e
4314c9fa56c277db2f6b6d89649d0f1ee4736780 18-Jul-2014 Narayan Kamath <narayan@google.com> Expand visibility of adjustLanguageCode.

There's already one copy in the frameworks (in the resource
system) and we will need to add another copy to the code that
sets system locales from the SIM.

(cherry picked from commit a29f321f2d347bfc0f0d7886fc74dcbbb4cd2432)

Change-Id: Ib2c48a4f5f1085080f62c7a4322d9da57bbeab41
bf098bb6345b0917d645d809f4d703e6a0c904f4 21-Jul-2014 Narayan Kamath <narayan@google.com> Implement Locale.forLanguageTag in java.

This prevents us from having to parse ICU locale IDs
or construct them in java. Note that the changes to
LocaleTest bring us in line with the spec (some of the
previous tests demonstrated wonky ICU4C behaviour we
didn't want).

This change includes a minor fix to unicode extension
parsing, we now accept keywords with empty values which
the spec allows.

bug: 15661724
bug: 15849709

Change-Id: If9417ab4cb545fdb8b9a0a47a7eade6ebbe33ba8
a29f321f2d347bfc0f0d7886fc74dcbbb4cd2432 18-Jul-2014 Narayan Kamath <narayan@google.com> Expand visibility of adjustLanguageCode.

There's already one copy in the frameworks (in the resource
system) and we will need to add another copy to the code that
sets system locales from the SIM.

Change-Id: I24d88ea8da0c4f1de26dde2f86e4880507b1da4b
e3a2ac80b02175d3d4965b7942918421e7c2676c 08-Jul-2014 Narayan Kamath <narayan@google.com> Unhide.

Change-Id: I8fbc8f19fdf4a8ffbbc5d3c0a121e68f7f30162e
ca6c2dfd21fef61f179223fb710db791802068d5 18-Jun-2014 Narayan Kamath <narayan@google.com> Fix getISO3Country and getISO3Language.

For backward compatibility, locales constructed with 3 letter
countries and languages must return those languages and countries
from these methods. With our strict language tag interpretation, these
were being omitted or transformed to und.

We fix this by passing only the language code (or the country code
with a fixed language) down to ICU, which will then deal with it
correctly.

bug: 15638049

Change-Id: I517a82496a2a4c36b1ae9234f7d2d4eb89b34ffe
e8a958066d95a4e15a9834e8b9067d106efd9b53 15-Jun-2014 Elliott Hughes <enh@google.com> @hide.

Change-Id: Ieacf34a7b850910e70ae54f738608509e2c39e2e
12ca8820818b604c6fc30f025857ec443c83d4a3 11-Jun-2014 Narayan Kamath <narayan@google.com> Implement Locale.toLanguageTag without ICU support.

This is the first part of an effort to avoid having
to construct and parse ICU locale IDs and to instead
use language tags as inputs to all ICU APIs.

Only one minor unit test adjustment was required, and
that change brings the test closer in line with the
spec.

Change-Id: I8abc0e3b868dd73e4fb9e36b6db19853eb99e6ac
a94266074c7b82720fd2cecfb37ab8da85f1b296 30-May-2014 Elliott Hughes <enh@google.com> Pass BCP-47 tags and not Locale.toString results to ICU.

ICU can't handle the new toString forms for scripts etc.
and it's also guaranteed to deal with BCP-47 tags correctly.

Most of the changes in this patch are required to keep
backwards compatibility for getDisplayCountry string etc. in
the face of the transformations toLanguageTag performs.

A few tests were changed, but for the better.

The tagalog -> filipino charlie foxtrot will be dealt with
in a follow up change.

Co-Authored-By: Narayan Kamath <narayan@google.com>

Change-Id: Ia7f26d92a0e38c4bbb1d839c0fbd8ad16a473bf5
f6ab0423b298d2251bf7a0c6ad6d5639481a3929 22-Apr-2014 Elliott Hughes <enh@google.com> Fix typo in Locale docs.

Change-Id: I1fd60e1b23ebf02a4a242d622312502b941ddd1e
582a8e343e0fa159954eb8b70b8c4e06147bc60e 22-Apr-2014 Elliott Hughes <enh@google.com> Track the icu4c 53 update in the Locale documentation.

Also add links to the icu4c release notes. These aren't particularly useful
because they're a bit low-level for our audience, and we've often skipped
multiple releases, but it can't really hurt.

Change-Id: I5243b4a041470cec17ebf39a5da8ce6cbe270e86
de0eb683370d789e7bb25673b350b8dbf2ba5d69 11-Apr-2014 Narayan Kamath <narayan@google.com> Set ICU's default locale from Locale.getDefault.

bug: 2541757
Change-Id: I5de58be7e8a701f2c40182ea54bceff85ec1aad2
9acf622d505661055339de7fa3f8a86cd2b61f20 09-Apr-2014 Narayan Kamath <narayan@google.com> Fix Locale.getDisplayName.

- Don't append the country instead of the script.
- Ensure that there's a "," separating the country and
the script.
- Add missing tests for Locale#getDisplayName when scripts
and variants are present.

bug: 13790258
Change-Id: I7a3f3db73879755fa8159f94a378bc585c779cc2
b1cf3153bfa1e336668dc2bbd76bbee41181e4a8 20-Jan-2014 Narayan Kamath <narayan@google.com> Unhide java7 locale & script related changes.

Change-Id: I4af57ebe1082e5a37a6e2b4f805a2d66ce9ab555
c5b1eb191102a20bc0626aea955aba417e337fbc 10-Jan-2014 Narayan Kamath <narayan@google.com> java7: Implement new Locale APIs.

Most validation and sanity checking is performed entirely
in java. We use ICU only for converting back and forth
between Locale objects and BCP-47 language tags
(toLanguageTag & forLanguageTag).

The new APIs also add support for script subtags and
manipulation of unicode locale extensions.

Note that we do not implement
IllformedLocaleException.getErrorIndex. If anyone complains
or if it proves useful somehow, we could plumb the information
through from ICU if required.

bug: 8992787
Change-Id: I9b2d7f8d17f970d1b57111dcfe92c16e68b0fa67
084a11c99172f083b0887438428a0df91065a1ed 04-Sep-2013 Elliott Hughes <enh@google.com> There's no space in "KitKat".

Just a kind of groove between the bars.

Change-Id: I311f14c3910646ab1716961d5be03b1457a61905
413d4592ee114eac81014af4b6347e73873ce8ce 03-Sep-2013 Elliott Hughes <enh@google.com> Use the docs-approved Android x.y (Name) format consistently.

Also include the API level where the reason for mentioning the version
is an API difference (as opposed to simply a behavioral difference).

Change-Id: Idd69630fc5d6f6f0bd5d1c524cb32fd8c2fb750d
869c70395f50f75c4358fd47961af412db941405 23-Jul-2013 Elliott Hughes <enh@google.com> Update Locale documentation after icu4c 51 upgrade.

Change-Id: Id924fd12cbf6e1c5494a9f6d3b0d2a2daf72ef90
21f09462b23338161c3d3d777200e229f6f152dd 05-Apr-2013 Elliott Hughes <enh@google.com> Improve the Locale.getISO3Country/getISO3Language documentation and behavior.

(cherry-pick of a85d3a86fea97e270568aec746831e07ed972f5e.)

Bug: 8541850
Change-Id: I766f106b9165932de17de84bdd422d0fc0ae27f1
a85d3a86fea97e270568aec746831e07ed972f5e 05-Apr-2013 Elliott Hughes <enh@google.com> Improve the Locale.getISO3Country/getISO3Language documentation and behavior.

Bug: 8541850
Change-Id: I8843aeee25eeefe0f6d5e16dd359ba78ef5a01cc
9dac149d411714e376138fc4415811f03b1cac8a 02-Apr-2013 Elliott Hughes <enh@google.com> Document the icu4c upgrade.

Change-Id: I9e822e8f9ecbad83b8915b087d645334fe26b0a6
1c0486673ff2a1972064664ca56f61160942828e 26-Feb-2013 Elliott Hughes <enh@google.com> Update Locale documentation for jb-mr2.

Bug: 7625281
Change-Id: Iac26756752c75d6d44a036c6edd0e5ac62d06b61
57ff19856a9486babe99270a690950aa1652f903 22-Jan-2013 Elliott Hughes <enh@google.com> icu4c 4.9 can localize "fil".

Bug: 8023288
Change-Id: I40d26622e135c5ab06c90b1744a87bcf8cb320de
c2d0a1f1bd2c6414c29dd44fe240dcf1f45e59b9 04-Dec-2012 Elliott Hughes <enh@google.com> Add detail messages to all remaining NullPointerExceptions.

I've left java.util.concurrent alone, since that's upstream code.

Change-Id: I349960aaddb78e55d4c336b58b637009db69ff98
161590f779371e5a8b39c0ebaba2bc04d7d288b0 28-Nov-2012 Elliott Hughes <enh@google.com> Note the icu4c 49 upgrade.

(Yes, their version numbering changed. For CLDR too.)

(cherry-pick of dcb358b1be404d56462165e52ee944df9de03839.)

Bug: 7625281
Change-Id: Icfbbcd5382b315e47c2d06555a1475fadd97f62d
dcb358b1be404d56462165e52ee944df9de03839 28-Nov-2012 Elliott Hughes <enh@google.com> Note the icu4c 49 upgrade.

(Yes, their version numbering changed. For CLDR too.)

Bug: 7625281
Change-Id: I1905016b16d9e90ee63a36bb7296e35fcef29fb1
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