summaryrefslogtreecommitdiffstats
path: root/luni/src/main/java/java/lang/Character.java
Commit message (Collapse)AuthorAgeFilesLines
* autoclose all <a name> tags so they don't disappear on web sitesmain@google.com2014-10-221-1/+1
| | | | | | | | | | | | <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
* Fix Character.getDirectionality.Elliott Hughes2014-07-291-10/+13
| | | | | | | | | | Previously we'd throw ArrayIndexOutOfBoundsException for U+2066..U+2069. Now we'll return DIRECTIONALITY_UNDEFINED. I've exposed (via @hide) the underlying icu4c implementation so that frameworks code at least can work with the new explicit bidi formatting characters. Bug: 15492712 Change-Id: I96583c7e1c6be26d3f1a857615a1042d58e9feaf
* Remove.Elliott Hughes2014-07-071-420/+0
| | | | | | (cherry-pick of 63744c884dd4b4f4307f2b021fb894af164972af.) Change-Id: Ibf79a402e1bad98a262e380fcee3d35c127ae6d5
* Fix javadoc for Character.UnicodeScript.Narayan Kamath2014-01-201-1/+3
| | | | | | | - Fix missing whitespace between @code and its contents - Add a @since tag. Change-Id: I0faad6971285a20c6988da434e376515acb5bd0b
* java7: Implement Character.UnicodeScriptNarayan Kamath2014-01-131-4/+427
| | | | | | | | | | | | | | Implemented in terms of u_getPropertyValueEnum(UCHAR_SCRIPT,) and uscript_getScript from ICU4C. Since the Java 7 API specifies a subset of scripts known to ICU4C, we map scripts not specified in the API to UnicodeScript.UNKNOWN. Like the UnicodeBlock API, our matching is far more lenient than the RI. Change-Id: I5247baddb2dde42d6a2042609370daeb616fe419
* Fix Character.isWhitespace and Character.isSpaceChar.Elliott Hughes2013-07-031-45/+44
| | | | | | | Also add tests so we can't drift again in future. Bug: 9690863 Change-Id: If9d43a67a4879cb5c6b8e6cab5f7ffd7a93035ac
* Implement Character.isAlphabetic and Character.isIdeographic.Elliott Hughes2013-07-011-0/+13
| | | | | Bug: 3484927 Change-Id: I0360fca2adf366009a5c2ae0e6a18f4e975c481a
* Bring Character.UnicodeBlock up to Unicode 6.0.Elliott Hughes2013-07-011-658/+634
| | | | | | Bug: 3484927 Bug: 9656330 Change-Id: I34dbf3398ed955a6c621e154a7c0e4c0b51b9ebd
* Simplify Character.UnicodeBlock.Elliott Hughes2013-06-281-156/+140
| | | | | Bug: 3484927 Change-Id: I6d2417e04fd65ee95160a54b08d7cd5210973354
* Fix @deprecated javadoc orthography.Elliott Hughes2013-06-061-3/+3
| | | | Change-Id: I6db6d91e21b8e1aca5b5338534196fd5bdef8a06
* Un-@hide various APIs.Elliott Hughes2013-05-131-10/+7
| | | | | Bug: 3484927 Change-Id: I4cda326a31240135d883528d9cb976a9db084234
* Add consistent reasons for NullPointerExceptionKenny Root2012-09-141-10/+10
| | | | | | | Semi-automated replacement of empty and non-conforming NullPointerException reason messages. Change-Id: Iedeb4b21949e973c4042ce5982dda315f2e785e1
* Fix Character's javadoc table of Unicode categories.Elliott Hughes2011-08-101-2/+2
| | | | | | | | | The Format, Private Use, and Surrogate categories were all claimed to be Cf. The error was only in the summary table. The javadoc for the individual categories was correct. Bug: http://code.google.com/p/android/issues/detail?id=18942 Change-Id: Ifde47a85fbc84dbec05408f6581331ab4a8d275a
* Suppress some FindBugs warnings.Elliott Hughes2011-05-201-2/+3
| | | | | | Also globally replace "for(" with "for (". Change-Id: I27fe17460e6745b9ca823f42e57c86fe8af31979
* Avoid loading all CA certs into Zygote memory, lazily load instead (2 of 3)Brian Carlstrom2011-04-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the CA certs stored in the BKS KeyStore at /system/etc/security/cacerts.bks was loaded in the Zygote. As the the number of CAs are started to increase, this is causing more and more memory to be used for rarely used CAs. The new AndroidCAStore KeyStore implementation reads the CAs as needed out of individual PEM certificate files. The files can be efficiently found because they are named based on a hash CA's subject name, similar to OpenSSL. Bug: 1109242 Details: build Removing old cacerts.bks from GRANDFATHERED_ALL_PREBUILT and adding new cacerts directory to core PRODUCT_PACKAGES core/legacy_prebuilts.mk target/product/core.mk libcore cacerts build changes. Move cacerts prebuilt logic to new CaCerts.mk from NativeCode.mk where it didn't make sense. Updated Android.mk's dalvik-host target to install new cacerts files. Android.mk CaCerts.mk NativeCode.mk Remove old cacerts.bks and add remove certimport.sh script used to generate it. Preserved the useful comments from certimport.sh in the new README.cacerts luni/src/main/files/cacerts.bks luni/src/main/files/certimport.sh luni/src/main/files/README.cacerts Recanonicalize cacerts files using updated vendor/google/tools/cacerts/certimport.py (See below discussion of certimport.py changes for details) luni/src/main/files/cacerts/00673b5b.0 luni/src/main/files/cacerts/03e16f6c.0 luni/src/main/files/cacerts/08aef7bb.0 luni/src/main/files/cacerts/0d188d89.0 luni/src/main/files/cacerts/10531352.0 luni/src/main/files/cacerts/111e6273.0 luni/src/main/files/cacerts/1155c94b.0 luni/src/main/files/cacerts/119afc2e.0 luni/src/main/files/cacerts/11a09b38.0 luni/src/main/files/cacerts/12d55845.0 luni/src/main/files/cacerts/17b51fe6.0 luni/src/main/files/cacerts/1920cacb.0 luni/src/main/files/cacerts/1dac3003.0 luni/src/main/files/cacerts/1dbdda5b.0 luni/src/main/files/cacerts/1dcd6f4c.0 luni/src/main/files/cacerts/1df5ec47.0 luni/src/main/files/cacerts/1e8e7201.0 luni/src/main/files/cacerts/1eb37bdf.0 luni/src/main/files/cacerts/219d9499.0 luni/src/main/files/cacerts/23f4c490.0 luni/src/main/files/cacerts/27af790d.0 luni/src/main/files/cacerts/2afc57aa.0 luni/src/main/files/cacerts/2e8714cb.0 luni/src/main/files/cacerts/2fa87019.0 luni/src/main/files/cacerts/2fb1850a.0 luni/src/main/files/cacerts/33815e15.0 luni/src/main/files/cacerts/343eb6cb.0 luni/src/main/files/cacerts/399e7759.0 luni/src/main/files/cacerts/3a3b02ce.0 luni/src/main/files/cacerts/3ad48a91.0 luni/src/main/files/cacerts/3c58f906.0 luni/src/main/files/cacerts/3c860d51.0 luni/src/main/files/cacerts/3d441de8.0 luni/src/main/files/cacerts/3e7271e8.0 luni/src/main/files/cacerts/418595b9.0 luni/src/main/files/cacerts/455f1b52.0 luni/src/main/files/cacerts/46b2fd3b.0 luni/src/main/files/cacerts/48478734.0 luni/src/main/files/cacerts/4d654d1d.0 luni/src/main/files/cacerts/4e18c148.0 luni/src/main/files/cacerts/4fbd6bfa.0 luni/src/main/files/cacerts/5021a0a2.0 luni/src/main/files/cacerts/5046c355.0 luni/src/main/files/cacerts/524d9b43.0 luni/src/main/files/cacerts/56b8a0b6.0 luni/src/main/files/cacerts/57692373.0 luni/src/main/files/cacerts/58a44af1.0 luni/src/main/files/cacerts/594f1775.0 luni/src/main/files/cacerts/5a3f0ff8.0 luni/src/main/files/cacerts/5a5372fc.0 luni/src/main/files/cacerts/5cf9d536.0 luni/src/main/files/cacerts/5e4e69e7.0 luni/src/main/files/cacerts/60afe812.0 luni/src/main/files/cacerts/635ccfd5.0 luni/src/main/files/cacerts/67495436.0 luni/src/main/files/cacerts/69105f4f.0 luni/src/main/files/cacerts/6adf0799.0 luni/src/main/files/cacerts/6e8bf996.0 luni/src/main/files/cacerts/6fcc125d.0 luni/src/main/files/cacerts/72f369af.0 luni/src/main/files/cacerts/72fa7371.0 luni/src/main/files/cacerts/74c26bd0.0 luni/src/main/files/cacerts/75680d2e.0 luni/src/main/files/cacerts/7651b327.0 luni/src/main/files/cacerts/76579174.0 luni/src/main/files/cacerts/7999be0d.0 luni/src/main/files/cacerts/7a481e66.0 luni/src/main/files/cacerts/7a819ef2.0 luni/src/main/files/cacerts/7d3cd826.0 luni/src/main/files/cacerts/7d453d8f.0 luni/src/main/files/cacerts/81b9768f.0 luni/src/main/files/cacerts/8470719d.0 luni/src/main/files/cacerts/84cba82f.0 luni/src/main/files/cacerts/85cde254.0 luni/src/main/files/cacerts/86212b19.0 luni/src/main/files/cacerts/87753b0d.0 luni/src/main/files/cacerts/882de061.0 luni/src/main/files/cacerts/895cad1a.0 luni/src/main/files/cacerts/89c02a45.0 luni/src/main/files/cacerts/8f7b96c4.0 luni/src/main/files/cacerts/9339512a.0 luni/src/main/files/cacerts/9685a493.0 luni/src/main/files/cacerts/9772ca32.0 luni/src/main/files/cacerts/9d6523ce.0 luni/src/main/files/cacerts/9dbefe7b.0 luni/src/main/files/cacerts/9f533518.0 luni/src/main/files/cacerts/a0bc6fbb.0 luni/src/main/files/cacerts/a15b3b6b.0 luni/src/main/files/cacerts/a3896b44.0 luni/src/main/files/cacerts/a7605362.0 luni/src/main/files/cacerts/a7d2cf64.0 luni/src/main/files/cacerts/ab5346f4.0 luni/src/main/files/cacerts/add67345.0 luni/src/main/files/cacerts/b0f3e76e.0 luni/src/main/files/cacerts/bc3f2570.0 luni/src/main/files/cacerts/bcdd5959.0 luni/src/main/files/cacerts/bda4cc84.0 luni/src/main/files/cacerts/bdacca6f.0 luni/src/main/files/cacerts/bf64f35b.0 luni/src/main/files/cacerts/c0cafbd2.0 luni/src/main/files/cacerts/c215bc69.0 luni/src/main/files/cacerts/c33a80d4.0 luni/src/main/files/cacerts/c527e4ab.0 luni/src/main/files/cacerts/c7e2a638.0 luni/src/main/files/cacerts/c8763593.0 luni/src/main/files/cacerts/ccc52f49.0 luni/src/main/files/cacerts/cdaebb72.0 luni/src/main/files/cacerts/cf701eeb.0 luni/src/main/files/cacerts/d16a5865.0 luni/src/main/files/cacerts/d537fba6.0 luni/src/main/files/cacerts/d64f06f3.0 luni/src/main/files/cacerts/d777342d.0 luni/src/main/files/cacerts/d8274e24.0 luni/src/main/files/cacerts/dbc54cab.0 luni/src/main/files/cacerts/ddc328ff.0 luni/src/main/files/cacerts/e48193cf.0 luni/src/main/files/cacerts/e60bf0c0.0 luni/src/main/files/cacerts/e775ed2d.0 luni/src/main/files/cacerts/e7b8d656.0 luni/src/main/files/cacerts/e8651083.0 luni/src/main/files/cacerts/ea169617.0 luni/src/main/files/cacerts/eb375c3e.0 luni/src/main/files/cacerts/ed049835.0 luni/src/main/files/cacerts/ed524cf5.0 luni/src/main/files/cacerts/ee7cd6fb.0 luni/src/main/files/cacerts/f4996e82.0 luni/src/main/files/cacerts/f58a60fe.0 luni/src/main/files/cacerts/f61bff45.0 luni/src/main/files/cacerts/f80cc7f6.0 luni/src/main/files/cacerts/fac084d7.0 luni/src/main/files/cacerts/facacbc6.0 luni/src/main/files/cacerts/fde84897.0 luni/src/main/files/cacerts/ff783690.0 Change IntegralToString.intToHexString to take width argument to allow for leading zero padding. Updated existing callers to specify 0 padding desired. Add testing of new padding functionality. luni/src/main/java/java/lang/Character.java luni/src/main/java/java/lang/Integer.java luni/src/main/java/java/lang/IntegralToString.java luni/src/test/java/libcore/java/lang/IntegralToStringTest.java Improved to throw Exceptions with proper causes luni/src/main/java/java/security/KeyStore.java luni/src/main/java/java/security/Policy.java luni/src/main/java/java/security/cert/CertificateFactory.java luni/src/main/java/javax/crypto/Cipher.java luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSignature.java Indentation fixes luni/src/main/java/java/security/SecureRandom.java Fix X509CRLSelector.getIssuerNames to clone result and added test to cover this. luni/src/main/java/java/security/cert/X509CRLSelector.java luni/src/test/java/libcore/java/security/cert/X509CRLSelectorTest.java Fixed bug where we created an X500Principal via a String representation instead of from its original encoded bytes. This led to a difficult to track down bug where CA 418595b9.0 where the NativeCode.X509_NAME_hash of a Harmony (but not BouncyCastle) X509Certificate would not hash to the expected value because the encoded form used an ASN.1 PrintableString instead of the UTF8String form found in the original certificate. luni/src/main/java/org/apache/harmony/security/x501/Name.java Add a new RootKeyStoreSpi and register it as the AndroidCAStore. This new read-only KeyStore implementation that looks for certificates in $ANDROID_ROOT/etc/security/cacerts/ directory, which is /system/etc/security/cacerts/ on devices. The files are stored in the directory based on the older md5 based OpenSSL X509_NAME_hash function (now referred to as X509_NAME_hash_old in OpenSSL 1.0) luni/src/main/java/org/apache/harmony/xnet/provider/jsse/RootKeyStoreSpi.java luni/src/main/java/org/apache/harmony/xnet/provider/jsse/JSSEProvider.java Added OpenSSL compatible X509_NAME_hash and X509_NAME_hash_old functions for producting an int hash value from an X500Principal. luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java Changed TrustManagerFactoryImpl to use AndroidCAStore for its default KeyStore luni/src/main/java/org/apache/harmony/xnet/provider/jsse/TrustManagerFactoryImpl.java Changed TrustManagerImpl to be AndroidCAStore aware. If it detects an AndroidCAStore, it avoids generating the acceptedIssuers array at constructions, since doing so would force us to parse all certificates in the store and the value is only typically used by SSLServerSockets when requesting a client certifcate. Because we don't load all the trusted CAs into the IndexedPKIXParameters at startup in the case of AndroidCAStore, we now check for new CAs when examining the cert chain for unnecessary TrustAnchors and for a newly discovered issuer at the end of the chain before validation. luni/src/main/java/org/apache/harmony/xnet/provider/jsse/TrustManagerImpl.java Updated KeyStoreTest to cope with read only KeyStore. Update test_cacerts_bks (now renamed test_cacerts) to use the AndroidCAStore for validating system CA certificate validity. Register AndroidCAStore as an expected KeyStore type with StandardNames. luni/src/test/java/libcore/java/security/KeyStoreTest.java support/src/test/java/libcore/java/security/StandardNames.java Added test of X500Principal serialization while investigating Name encoding issue. However, the actual Name bug was found and verified by the new test_cacerts test. luni/src/test/java/libcore/javax/security/auth/x500/X500PrincipalTest.java vendor/google Change canonical format for checked in cacerts to have PEM certificate at the top, as required by Harmony's X.509 CertificateFactory. tools/cacerts/certimport.py Change-Id: If0c9de430f13babb07f96a1177897c536f3db08d
* Add missing @hide tag to Character.getName.Elliott Hughes2011-02-281-0/+2
| | | | Change-Id: I24463309bae8e9e9cb23a6836ee939d45c45e57f
* Add new java.lang.Character functionality.Elliott Hughes2011-02-281-18/+95
| | | | | Bug: 3484927 Change-Id: I561c927bbd0ef2e801d38d9c3a6250b1d3f65b0d
* Use int.class instead of Integer.TYPE (et cetera) for clarity.Elliott Hughes2011-02-081-2/+1
| | | | | | I've also removed some small amount of duplication and a few unused imports. Change-Id: Ie52477484bade74c80a348ad1261b596f9053cf6
* Remove useless android-changed comments.Elliott Hughes2011-01-131-10/+2
| | | | | | | | | | | | I've changed useful ones to regular comments or TODOs, as appropriate. I've left ones in code like java.util.concurrent where we really are tracking an upstream source, making the change markers useful. I've left a handful of others where I intend to actually investigate the implied TODOs before deciding how to resolve them. Change-Id: Iaf71059b818596351cf8ee5a3cf3c85586051fa6
* Lots more bounds-checking/exception-throwing consistency.Elliott Hughes2010-12-101-17/+5
| | | | | | | | | | | | Overflow-safe checks all round, plus better detail messages. This isn't quite everything, but it's a large chunk of the work. Most notably, this is all of io and nio. There are numerous changes of exception priority here, and the harmony tests noticed a subset of them in the nio code. I've modified our checked-out copy of the tests to accept any of the throwable exceptions. Change-Id: Id185f1228fb9a1d5fc9494e78375b5623fb0fe14
* Rewrite all backwards comparisons.Elliott Hughes2010-12-091-1/+1
| | | | | | | | | | Strictly, all the ones I could find. This is everything with 0 or null on the left-hand side. Note that this touches several incorrect bounds checks, which I haven't fixed: I'm going to come back and finish that independent cleanup separately. Change-Id: Ibdb054b53df9aace47c7d2a00ff19122190053e8
* Apply various Intellij quick fixes to java.lang.Elliott Hughes2010-12-081-57/+3
| | | | | | | | There's one real bug here: our Integer.toString was supposed to have a cache for small negative values, but an accidentally-introduced temporary meant we were never using the cached values. Other than that, this is just cleanup. Change-Id: I457f9bd166c9a029ba8b439f3bbfa926f9b84cc9
* Minor cleanup of java.lang.Character.Elliott Hughes2010-12-071-8/+23
| | | | Change-Id: Ib010ae1e125583738ac4985c94f65d4e223db41b
* Document Unicode versions and that we don't support the locale spi junk.Elliott Hughes2010-09-121-3/+6
| | | | | | Bug: 2860486 Bug: 2938123 Change-Id: I3eb587300ea97340cdc23ba2d0136b8eeeb99b25
* Clean up some dead/useless code.Elliott Hughes2010-08-111-12/+0
| | | | | | | (The DatagramPacketTest.java change is unrelated, but it's been lurking in my repository for weeks now.) Change-Id: I65d3ad53dd30709b2daed3c5787cc38c6081ffea
* Remove UCharacter's unnecessary layer of indirection.Elliott Hughes2010-07-221-153/+205
| | | | | | | | | | Also fix this sim-eng build failure: libcore/luni/src/main/native/org_apache_harmony_luni_platform_OSMemory.cpp: In function ‘jint OSMemory_flushImpl(JNIEnv*, _jobject*, jint, jlong)’: libcore/luni/src/main/native/org_apache_harmony_luni_platform_OSMemory.cpp:334: error: invalid conversion from ‘const void*’ to ‘void*’ libcore/luni/src/main/native/org_apache_harmony_luni_platform_OSMemory.cpp:334: error: initializing argument 1 of ‘int msync(void*, size_t, int)’ Change-Id: Ia23c9af79c690254179139072b84bd0a35f17fba
* Various broken tests.Elliott Hughes2010-06-141-14/+6
| | | | | | I'll commit a vogar bug fix to the public repository too. Change-Id: I3c18a1b8f74303aab65f67940ff41539f9620df1
* www.ietf.org is the canonical home for RFCs.Elliott Hughes2010-06-101-2/+2
| | | | Change-Id: Ib83ff61230649757917346645f6cf47d9df3f348
* Remove all trailing whitespace from the dalvik team-maintained parts of libcore.Elliott Hughes2010-05-131-2/+2
| | | | | | Gentlemen, you may now set your editors to "strip trailing whitespace"... Change-Id: I85b2f6c80e5fbef1af6cab11789790b078c11b1b
* Documentation improvements.Elliott Hughes2010-05-111-1/+49
| | | | | | | Remove a bunch of content-free "package.html" files, and rewrite the Pattern documentation. Change-Id: Ieb4eee940dbbeab21828b8d7b2f172732f9dd6de
* Make java.lang.Character fast.Elliott Hughes2009-12-161-241/+183
| | | | | | | | | | | This patch reinstates some of the upstream ASCII fast paths, adds some new ones, and forwards all char overloads to the int methods (placing the fast paths in the int overload), so using the int overload isn't automatically 3x slower than the char overload even for the same characters. See the bug for benchmark results. The ASCII speedups are between 2x and 4x. Bug: 2295801
* Rewrote all the toString and bit twiddling code in Integer and Long usingJoshua Bloch2009-12-151-23/+14
| | | | | | | | | state-of-the-art recipes. The resulting code is much faster than what it replaced, as well as being more concise. While I was in the neighborhood I also cleaned up a few other things in the boxed primitives (TYPE fields, small-value caches, etc.). Addressed review comments.
* Make java.util.Formatter perform acceptably (and fix two jtreg failures).Elliott Hughes2009-12-031-17/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here are the slowdowns compared to hand-written StringBuilder.append code, for three cases: a long format string with no format specifiers, a long format string with a single %d, and a long format string with a single %s (in that order): passion-old: 54x 40x 10x sim-new: 1.7x 3.4x 5.3x passion-new: 9.2x 2.2x 1.8x Formatter has been changed to use a less expensive mechanism for parsing the format string, to not create expensive temporary objects unless they're actually needed (particularly strings used only in error messages), to not create a temporary StringBuilder in every transform* method, and to not charge for padding (or truncation) unless actually required. As Stroustrup would say, "you don't pay for what you don't use". Other changes: AbstractStringBuilder adds a special case for appending one StringBuilder to another, similar to its existing special case for String (because we do a much better job of copying a char[] with System.arraycopy than iterating over a CharSequence). Character reinstates the ASCII-range optimizations for isDigit and isUpperCase, both of which are used by Formatter. Bug 2295801 covers reinstating the rest of Character's special cases. String loses the unused inner class ConsolePrintStream, which isn't actually relevant to this change, but offended me greatly. CharBuffer gets a rewritten toString that's less inefficient. (This doesn't matter to us because the new Formatter doesn't use CharBuffer, but one shouldn't leave broken glass on the lawn.) The change to Formatter.close fixes a jtreg failure (and brings our implementation in line with our documentation, which already stated that multiple calls to Formatter.close only close the underlying Closeable once). The change to Formatter.format(Locale, ...) fixes a jtreg failure: any Formattable we call out to needs to be able to use Formatter.locale to find out the locale it's formatting for. I've reworded the documentation so that it's clearer (it was already correct, but ambiguous). Bug: 2272346
* Integrate luni module (but not tests) to Harmony r772995.Jesse Wilson2009-07-241-737/+684
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-0/+3327
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-3327/+0
|
* Code drop from //branches/cupcake/...@124589The Android Open Source Project2008-12-171-801/+1098
|
* Initial ContributionThe Android Open Source Project2008-10-211-0/+3030