07349e9d1011192699a08e7a0553b3e0e88da103 |
|
29-Jul-2014 |
Neil Fuller <nfuller@google.com> |
Change the DateFormatSymbols serialized form Adding locale to the serialized form of DateFormatSymbols. Some duplicated code around the generation of numeric / offset timezone strings (e.g. GMT+08:00) has been removed. A new hidden method has been added to TimeZone to create this string. The timezone string lookup has been moved into LocaleData and it now has a single path rather than treating the customZoneStrings path as special. customZoneStrings has been removed from DateFormatSymbols because it would potentially have an incorrect value after serialization and it is no longer required. (cherry picked from commit f39e1d71b478bafac028043a59683dfbed1d9df0) Bug: 16502916 Change-Id: Id5b18728dc5cd0656d77d67eb509beedcc52f893
|
f39e1d71b478bafac028043a59683dfbed1d9df0 |
|
29-Jul-2014 |
Neil Fuller <nfuller@google.com> |
Change the DateFormatSymbols serialized form Adding locale to the serialized form of DateFormatSymbols. Some duplicated code around the generation of numeric / offset timezone strings (e.g. GMT+08:00) has been removed. A new hidden method has been added to TimeZone to create this string. The timezone string lookup has been moved into LocaleData and it now has a single path rather than treating the customZoneStrings path as special. customZoneStrings has been removed from DateFormatSymbols because it would potentially have an incorrect value after serialization and it is no longer required. Bug: 16502916 Change-Id: I2b317e34ba4772beb372a75dd08c95113408b9cc
|
60226561d5af59bc47ee70a4988633050e6fc62e |
|
17-Jul-2014 |
Neil Fuller <nfuller@google.com> |
Add a cache for ZoneInfo objects in Java This mirrors the single-item cache in localtime.c. This is in preparation for an upcoming change to migrate android.format.text.Time over to Java. It will be making use of the Java ZoneInfo instead of the native equivalent. The Java cache has a size of 1 like the bionic one, though this can easily be increased. Given the default TimeZone / ZoneInfo was always pinned, in many cases the memory usage will not go up noticeably. In scenarios where applications load timezones besides the default a cache size of 1 potentially increases pinned memory usage by one ZoneInfo plus the overhead of the prototype object held by the cache (which is never returned to callers). An example ZoneInfo is "Europe/London", which has ~190 transitions (1 int + 1 byte) and ~6 types (1 int + 1 byte). Overhead of other fields is ~ 13 bytes, plus the ID string. 190 * (4 + 1) + 6 * (4 + 1) + 13 = 993 bytes. The prototypes held by the cache share the majority of their memory with their clones returned from ZoneInfo.makeTimeZone() and so the overhead of introducing the cache itself should be in the order of a few tens of bytes at most. In future we may want to increase the cache size to 2 in order to support apps that compare / switch timezones to increase the odds of the default remaining in the cache. Sizes above 2 look increasingly specialist. LMP cherry-pick notes: This is a cherry-pick of the final patch. In master, an original patch was reverted and then the revert was reverted with an added fix. The comment above is from the original commit. The fixed version included: Contains a fix for when the timezone ID is not found. This includes a new test. (cherry picked from d3d39ab8df5c4f6ae663613dc3617ba300282315) Change-Id: I4c145942b6603e0e62badfd052b5716fd68769d2
|
d3d39ab8df5c4f6ae663613dc3617ba300282315 |
|
17-Jul-2014 |
Neil Fuller <nfuller@google.com> |
Revert "Revert "Add a cache for ZoneInfo objects in Java"" This reverts commit 01b6a878d10ee68db87c3d85d137e81a5257a78a. Contains a fix for when the timezone ID is not found. This includes a new test. Change-Id: I2e5e669782ea6caf4e97153ed6b63ca6ee4ef50d
|
01b6a878d10ee68db87c3d85d137e81a5257a78a |
|
17-Jul-2014 |
Neil Fuller <nfuller@google.com> |
Revert "Add a cache for ZoneInfo objects in Java" This reverts commit a6e8689807f5a8bb9470ce7c26a47455d2d0608d. Change-Id: I17a0262d169db3418f2f8888195381f778975dc4
|
a6e8689807f5a8bb9470ce7c26a47455d2d0608d |
|
16-Jul-2014 |
Neil Fuller <nfuller@google.com> |
Add a cache for ZoneInfo objects in Java This mirrors the single-item cache in localtime.c. This is in preparation for an upcoming change to migrate android.format.text.Time over to Java. It will be making use of the Java ZoneInfo instead of the native equivalent. The Java cache has a size of 1 like the bionic one, though this can easily be increased. Given the default TimeZone / ZoneInfo was always pinned, in many cases the memory usage will not go up noticeably. In scenarios where applications load timezones besides the default a cache size of 1 potentially increases pinned memory usage by one ZoneInfo plus the overhead of the prototype object held by the cache (which is never returned to callers). An example ZoneInfo is "Europe/London", which has ~190 transitions (1 int + 1 byte) and ~6 types (1 int + 1 byte). Overhead of other fields is ~ 13 bytes, plus the ID string. 190 * (4 + 1) + 6 * (4 + 1) + 13 = 993 bytes. The prototypes held by the cache share the majority of their memory with their clones returned from ZoneInfo.makeTimeZone() and so the overhead of introducing the cache itself should be in the order of a few tens of bytes at most. In future we may want to increase the cache size to 2 in order to support apps that compare / switch timezones to increase the odds of the default remaining in the cache. Sizes above 2 look increasingly specialist. Change-Id: I0b7daa8ad5d334c8d421dfaa6e0421d3c181a915
|
7ebbf2f04e2d9692c4c00d87f4c41d2ed63a5669 |
|
23-Apr-2014 |
Neil Fuller <nfuller@google.com> |
Revert "Add 1.7 methods to TimeZone / SimpleTimeZone" This reverts commit 15737123c4b241c331e0090d311afb9631c3cf1b. See the conversation on the original change I45d89cf0f30b49bb77c6dcfdae1a81edea40a2d4 and Ifa0b89debb42a7181f1f5f188ae7175970286adb. Trading this API change for one in FileLock which is more useful. This API change was of questionable value. Change-Id: I8cf977acceededfe3ee13bf91af3fe4f5b84cfc2
|
15737123c4b241c331e0090d311afb9631c3cf1b |
|
12-Mar-2014 |
Neil Fuller <nfuller@google.com> |
Add 1.7 methods to TimeZone / SimpleTimeZone The RI documents the required implementation. Unlike the RI, SimpleTimeZone in Android does not override the TimeZone implementation: it seems pointless to do so given it appears to rely on the implementation details of another method (inDaylightTime()) which can, itself, be overridden. Change-Id: I45d89cf0f30b49bb77c6dcfdae1a81edea40a2d4
|
1b5e1ff243e0f7f017e891020693cf371cd72964 |
|
26-Apr-2013 |
Elliott Hughes <enh@google.com> |
Fix vogar --mode device's fallback time zone. Change-Id: Icf7a5ecb5aa7e1b4e6effe26e7a4a63807d18b1c
|
995caee51334a4f1a1429e29680ea079c900c37a |
|
25-Apr-2013 |
Elliott Hughes <enh@google.com> |
Cope with a corrupt tzdata update. We need to fall back to the next choice on error. Rewrite the code to be testable and add some tests. Add an internal GMT-only fallback in case all our sources of tzdata are bad. Also make time zone detection on the host more useful. Bug: 8373554 Change-Id: I9f91b844a61f07f34b268535e6d24aa0c301bf8d
|
ac7cf58962995825464af08ae6fa5e006c94f3fa |
|
27-Feb-2013 |
Elliott Hughes <enh@google.com> |
Switch to using icu4c 50's TimeZoneNames API. This takes us down from ~330ms/locale on prime to ~70ms/locale. This also fixes a bug in DateFormatSymbols.getZoneStrings and adds a test so we don't regress. Change-Id: I13663a659666c0a7d87a299235b75fa4e9fef69d
|
cf101d4099424a8e1ea603da5ddefd067f154b57 |
|
04-Feb-2013 |
Elliott Hughes <enh@google.com> |
Fix date parsing for time zones without names. Bug: 8128460 Change-Id: I41a6baee6e22b8af9170e3e569e0599c38b5e707
|
f20e96718a936499da309766da7f36f123b43d93 |
|
18-Jan-2013 |
Elliott Hughes <enh@google.com> |
Improve our time zone name collection. A variety of bugs here. We weren't using dates in the current year, we were assuming that icu4c has correct time zone transition data (it usually doesn't), and in the fallback code (which we'd previously never hit) we weren't honoring the caller's request for standard/daylight time. This patch fixes: Africa/Tripoli: long='Eastern European Standard Time' short='Eastern European Standard Time'! America/Araguaina: long='Brasilia Standard Time' short='Brasilia Standard Time'! America/Campo_Grande: long='Amazon Standard Time' short='Amazon Standard Time'! America/Cuiaba: long='Amazon Standard Time' short='Amazon Standard Time'! America/Havana: long='Cuba Standard Time' short='Cuba Standard Time'! America/Santiago: long='Chile Standard Time' short='Chile Standard Time'! America/Sao_Paulo: long='Brasilia Standard Time' short='Brasilia Standard Time'! Antarctica/Palmer: long='Chile Standard Time' short='Chile Standard Time'! Asia/Jerusalem: long='Israel Standard Time' short='Israel Standard Time'! Asia/Tehran: long='Iran Standard Time' short='Iran Standard Time'! Asia/Tel_Aviv: long='Israel Standard Time' short='Israel Standard Time'! Brazil/East: long='Brasilia Standard Time' short='Brasilia Standard Time'! Chile/Continental: long='Chile Standard Time' short='Chile Standard Time'! Chile/EasterIsland: long='Easter Island Standard Time' short='Easter Island Standard Time'! Cuba: long='Cuba Standard Time' short='Cuba Standard Time'! Iran: long='Iran Standard Time' short='Iran Standard Time'! Israel: long='Israel Standard Time' short='Israel Standard Time'! Libya: long='Eastern European Standard Time' short='Eastern European Standard Time'! Pacific/Apia: long='Samoa Standard Time' short='Samoa Standard Time'! Pacific/Easter: long='Easter Island Standard Time' short='Easter Island Standard Time'! Pacific/Fiji: long='Fiji Standard Time' short='Fiji Standard Time'! It also fixes Pacific/Fakaofo, which was confused between GMT+14:00 and GMT+13:00. We need a special case for Pacific/Apia because icu4c 4.9 doesn't believe Samoa has ever used daylight time. I've also added a test to keep us out of mischief in the face of future upgrades to the Olson tzdata and/or icu4c. Bug: 7955614 Bug: 8026776 Change-Id: I7ed551a691f29e26dd71456d492493d2a4fce945
|
cff1616012dc0d56c2da9af2b9b1183e76c7e044 |
|
04-Dec-2012 |
Elliott Hughes <enh@google.com> |
Add detail messages to all the easy IllegalArgumentException cases. Noticed during my recent Matcher change. Change-Id: I415d911b26d0ee548ca04d56bba7fc3d4e6b3f88
|
de3df0418aff29b06ea022b200fbcc687de63a7c |
|
05-Oct-2012 |
Elliott Hughes <enh@google.com> |
Slim down ZoneInfo.toString. Dalvik Explorer can now do a better job of helping examine transition data, and regular developers don't need to see it. For America/Los_Angeles, for example, toString used to output 186 lines. Now it just returns: libcore.util.ZoneInfo[id="America/Los_Angeles",mRawOffset=-28800000,mEarliestRawOffset=-28800000,mUseDst=true,mDstSavings=3600000,transitions=185] Also fix an incorrect comment from the TimeZone documentation. Change-Id: I5748845a7b4f911e99a0e1c2e1a0786742288518
|
d43b9ef11a1095967a3396b246639b563e1a4128 |
|
12-Sep-2012 |
Kenny Root <kroot@google.com> |
Add consistent reasons for NullPointerException Semi-automated replacement of empty and non-conforming NullPointerException reason messages. (cherry-pick of 86acc043d3334651ee26c65467d78d6cefedd397.) Change-Id: I6d893979f5c20a50e841e32af9fd7b2d8bc9d54d
|
86acc043d3334651ee26c65467d78d6cefedd397 |
|
12-Sep-2012 |
Kenny Root <kroot@google.com> |
Add consistent reasons for NullPointerException Semi-automated replacement of empty and non-conforming NullPointerException reason messages. Change-Id: Iedeb4b21949e973c4042ce5982dda315f2e785e1
|
78c3de051d68b703af480778c100ca335690b250 |
|
30-Jul-2012 |
Elliott Hughes <enh@google.com> |
Fix TimeZone's handling of Australia/Lord_Howe. Australia/Lord_Howe has a half hour difference between standard and daylight time, rather than the usual hour. Our ZoneInfo implementation ignored this. Fix that oversight, make SimpleDateFormat actually use this information, and prevent TimeZone.getTimeZone("GMT") and TimeZone.getTimeZone("UTC") from being quite as expensive as they accidentally were. Longer term I think we should probably remove all uses of getDSTSavings from libcore in favor of TimeZone.getOffset, but this is probably a useful step forwards anyway. It fixes Australia/Lord_Howe in the meantime and it means that anyone else who's using getDSTSavings won't be bitten (even if they too really ought to be using TimeZone.getOffset). Bug: 4723412 Bug: http://code.google.com/p/android/issues/detail?id=24684 Change-Id: I5d50afecbe1453157e9c8f0b88305a258a3ba2e0
|
91348f798cddae22b59ee1a17bd24315c0897f6f |
|
23-Jun-2012 |
Elliott Hughes <enh@google.com> |
Be more careful when parsing custom zone ids. The old code was allowing invalid ids. Bug: 6556561 Change-Id: I691d33fa133527a76bbffa4e3b56a023c389ca8f
|
6fb123c8681a795c65cbd67ffcc0ef641c473288 |
|
10-Jan-2012 |
Elliott Hughes <enh@google.com> |
Make it clearer that TimeZone.getTimeZone(null) throws NPE on purpose. Bug: http://code.google.com/p/android/issues/detail?id=24036 Change-Id: I3464dc5094274931d67e3ca4a5bc553fa1a6dc96
|
d8d3329347af700beed67172c77046b5c2ecece2 |
|
15-Jun-2011 |
Jesse Wilson <jessewilson@google.com> |
Kill another use of TimeZone.useDaylightTime(). I wrote another test to prove the use was incorrect. Change-Id: I86c5e53c735e7948b96c0d2a87abe21eb9aed876 http://b/2435103
|
6d82ce5d35a5e84aedf08528fd98b849f3f565a6 |
|
15-Feb-2011 |
Elliott Hughes <enh@google.com> |
Move ZoneInfo and ZoneInfoDB into libcore.util. Change-Id: I91385512ec27aa2aebdc163ae204e542efa58f21
|
566bbb1d5a0ffadfc07fa58176587d4bd0d0be13 |
|
12-Feb-2011 |
Elliott Hughes <enh@google.com> |
Various time zone strings improvements. * Added a cache -- really a memo table -- to libcore.icu.TimeZones. I've also made the intern table global across all locales, for the common case where one language has many corresponding country codes (and thus locales) for which the strings are all the same. (I.e. this gives us deduplication across locales where before we only had it within locales.) We also eagerly populate the cache with both the default locale *and* en_US in the zygote, which should provide better behavior for everyone whose default locale isn't en_US. * Switched from linear search to binary search when pulling a row out of the zone strings table. We could hash these, but I currently have no reason to think we'd gain much speed for the space. * Removed the special-case hack I had to ask ICU for a single string. The new code largely removes the need for this, though one can imagine a theoretical app that will behave worse under the new regime, all plausible ones will benefit. * Switch ICU over to using an mmap(2)ed copy of its .dat file and tell it never to look for stuff on the file system. This doesn't actually work in any current version of ICU, though it is slightly faster by virtue of no longer looking for individual .res files (it still keeps looking for the same .dat file over and over). I'll work on fixing ICU later. This change takes us from about 1.1s/locale to 0.8s/locale. My current ICU hack takes that down to 0.3s/locale, which is still obscene, but it's another step in the right direction. * Fixed the "unambiguous abbrevations" logic in TimeZones.cpp so that all users of (say) CET to mean "Central European Time" get it, not just first. We really just wanted to avoid the situation where there's a "Central Excellent Time" or whatever, whose CET would *conflict* with the first one we learned about. Multiple references to the same time zone are not conflicts. * Moved clone2dStringArray to the only place it's really needed. * Slightly better documentation for Comparator. * More tests, including the one for CET formatting that I should have added when I fixed CET parsing, which would have shown me the error of my old ways. Bug: 3443476 Change-Id: If1d50e6273fc98a38139f14445265ce0be5e09dd
|
6c0aa9e00fdbcc2765d3c498c45e078457944468 |
|
14-Sep-2010 |
Elliott Hughes <enh@google.com> |
Fix the TimeZone.getTimeZone documentation and a test. Bug: 2996225 Change-Id: I9242b8a8e343d2b1995b5f1d0cb715d2fa3080f6
|
705462a2b003b2eeed90bf3cebe0871e02554cbd |
|
12-Aug-2010 |
Elliott Hughes <enh@google.com> |
Minor documentation improvements. Fix unqualified uses of SimpleDateFormat in TimeZone.java, explain how to use getPercentageInstance (http://code.google.com/p/android/issues/detail?id=10333), add an explicit test to make sure no-one accidentally "fixes" that odd-but-correct behavior, and remove an example from the DecimalFormat documentation that doesn't really clarify anything. Bug: http://code.google.com/p/android/issues/detail?id=10333 Change-Id: I52f22d817c7c6c32ad38fb6953fbe909a76f8943
|
3ab13ebe9d67b0b210865853902b854711ef45b0 |
|
11-Aug-2010 |
Elliott Hughes <enh@google.com> |
Improve the performance of TimeZone.getTimeZone. Rewrite the code that reads time zone data so that rather than opening, reading, and closing the file each time, we just keep the file mapped. This patch actually removes functionality: we no longer support reading individual Unix time zone data files. Also stop cloning guaranteed-new instances returned by ZoneInfoDB. Before: benchmark us logarithmic runtime TimeZone_getDefault 9.85 = TimeZone_getTimeZoneUTC 211.40 ===================== TimeZone_getTimeZone_America_Caracas 437.87 ========================== TimeZone_getTimeZone_America_Santiago 783.29 ============================== TimeZone_getTimeZone_GMT_plus_10 181.80 ==================== TimeZone_getTimeZone_default 194.78 ==================== After: benchmark us logarithmic runtime TimeZone_getDefault 10.8 = TimeZone_getTimeZoneUTC 70.9 ============= TimeZone_getTimeZone_America_Caracas 118.9 ================= TimeZone_getTimeZone_America_Santiago 797.5 ============================== TimeZone_getTimeZone_GMT_plus_10 57.8 ============ TimeZone_getTimeZone_default 72.2 ============= (Note that these have very different scales.) Bug: 2870945 Change-Id: Iae5aa86153006d4de8e7278d30bcaeef6a9ccab7
|
f14cadb15b06371fb9a6daf885dc1c4bccf975b9 |
|
10-Aug-2010 |
Elliott Hughes <enh@google.com> |
Minor TimeZone cleanup. Getting ready to do some real work here, I thought I'd improve the documentation and remove some cruft. Bug: 2870945 Change-Id: I771badc8afa5c0a5f77880f64e1542d77672d984
|
21557bb6a8f35a2f9889adba449cac950c9d41b9 |
|
23-Jun-2010 |
Elliott Hughes <enh@google.com> |
Add TimeZones.forLocale, plus some tidying. The new feature here is TimeZones.forLocale and the accompanying JNI. I've also taken the liberty of pulling the time zone stuff out of ICU.java and ICU.cpp, and I've moved some of the ICU-related code I've written recently (NativeIDN, NativeNormalizer, and NativePluralRules) into a new libcore.icu package. I've also renamed various things so the implementation details use the same terminology as the thing they're implementing. Bug: 2790386 Change-Id: Ie39a2f5f7023e8e29864de15790be8a660f5cba6
|
e32b21f14d52bac429a9c54fe031f9e92c911d64 |
|
18-Jun-2010 |
Jesse Wilson <jessewilson@google.com> |
Implementing ZoneInfo.hasSameRules(). Moving TimeZoneTest to OldTimeZoneTest and removing test methods that are duplicated between libcore and Harmony. Also adding Objects.equals() to make implementing this easy, and removing redundant time zone tests. I did a few searches to find candidate code that could take advantage of this new utility method and adopted it there. Change-Id: I133298f1b36d755bd35c1ad0dc0ab366fd164270
|
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
|
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
|
dc30337534e7970bb5b8cfbcb3c2b7f75d818795 |
|
05-Dec-2009 |
Elliott Hughes <enh@google.com> |
Improve TimeZone documentation. We can't do anything about the RI's unfortunate choice of method names, but improving our documentation might help reduce the confusion they cause. Bug: 2244560
|
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.
|
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
|