summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Add FLOAT entry to EmptyArray"Elliott Hughes2014-07-291-0/+1
|\
| * Add FLOAT entry to EmptyArrayMichael Wright2014-07-291-0/+1
| | | | | | | | Change-Id: I70a591093557ce3dd0471bcc7e888d630c80bb88
* | Merge "Fix Character.getDirectionality."Elliott Hughes2014-07-293-12/+27
|\ \
| * | Fix Character.getDirectionality.Elliott Hughes2014-07-293-12/+27
|/ / | | | | | | | | | | | | | | | | | | 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
* | Merge "Fix Harmony-707 test for CTS"Neil Fuller2014-07-231-6/+21
|\ \
| * | Fix Harmony-707 test for CTSSamuel Rats2014-07-281-6/+21
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the way Harmony-707 test works. We cannot check timeouts equality, as timeout is approximated by the Linux Kernel (see set_sock_timeout() in net/core/sock.c). Previously, testing with the value provided to setSoTimout() could fail, depending on the Kernel configuration: - On a device running a kernel compiled with CONFIG_HZ=100, it would work - On a device running a kernel compiled with CONFIG_HZ=250, it would not: * Kernel stored a timeout of 3 (3.49975 cast to long) *timeo_p = tv.tv_sec*HZ + (tv.tv_usec+(1000000/HZ-1))/(1000000/HZ) with tv.tv_sec=0, tv.tv_usec=10000 (10ms), and HZ=250 * Kernel returned a timeout of 12ms v.tm.tv_usec = ((sk->sk_rcvtimeo % HZ) * 1000000) / HZ with sk->sk_rcvtimeo=3 and HZ=250 Instead, we have to ensure that the timeout is not reset to the internal default timeout after calling accept(): - set a timeout - immediately retrieve it and store it (this value may differ from the previously set value) - call accept() - retrieve and check the timeout with the previously stored timeout Change-Id: I7f05c6843d9e48e6d696dca17173fce028a45a68 Signed-off-by: Samuel Rats <samuel.rats@gmail.com>
* | Merge "SSLSocketFactory: don't reload the default if class name is same"Kenny Root2014-07-242-20/+31
|\ \
| * | SSLSocketFactory: don't reload the default if class name is sameKenny Root2014-07-232-20/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't bother to reload the default SocketFactory if the requested classname didn't change since the last time. Also make the warning when classloading fails more terse. Most of the time the ClassLoader is wrong, so giving them a hint via ClassLoader#toString is sufficient. Bug: 16468683 Change-Id: I36844e942ccadda993c9f5a1523b2a66280903f3
* | | Merge "Use the provided path when opening dex files."Narayan Kamath2014-07-231-11/+5
|\ \ \
| * | | Use the provided path when opening dex files.Calin Juravle2014-07-251-11/+5
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we would use the canonical path. If the path contains symlinks it may generate the wrong file name when searching for the containing oat file. This is because we don't apply any canonicalization when dex files are generated so we think we're looking for somthing else. Bug: 15563230 (cherry picked from commit 71202f8ed84edc6ab57e7b6c26f0a1ec97d5adc6) Change-Id: If261e2d80e9cbdc6e7750c73b8e6f298e46b009b
* | | Merge "OsConstants: add PR_GET_DUMPABLE / PR_SET_DUMPABLE"Nick Kralevich2014-07-242-0/+8
|\ \ \
| * | | OsConstants: add PR_GET_DUMPABLE / PR_SET_DUMPABLENick Kralevich2014-07-242-0/+8
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | Expose PR_GET_DUMPABLE and PR_SET_DUMPABLE via java. This is a cherrypick of two commits from internal master: * 1fc6b04adc87e752aa35bedb7617b5145d835d7c * 514b1d21f66caff9f26fcf042882c5115b5431c4 Change-Id: Ibb60ed1d00c3a84fa77a34d0acc56cb995d14e1c
* | | Merge "Modified array threshold length for primitive types in arraycopy ↵Jeff Hao2014-07-231-6/+6
|\ \ \ | | | | | | | | | | | | function."
| * | | Modified array threshold length for primitive types in arraycopy function.Emma Meersman2014-07-241-6/+6
|/ / / | | | | | | | | | | | | | | | | | | | | | As a result of improved benchmarking, the arraycopy function runs 35% faster on average than a straight call to the native code for arrays of length 32 or shorter. Bug: 7103825 Change-Id: I68600b01a6218d761be874528cfa70de56efdfdc
* | | Merge "Remove workaround for *.clients.google.com."Alex Klyubin2014-07-231-4/+1
|\ \ \
| * | | Remove workaround for *.clients.google.com.Alex Klyubin2014-07-231-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the workaround for broken TLS/SSL server certificates that were being presented by android.clients.google.com in early 2012 (8576f309825e23add080f2a50345ec1884939c39). The server is presenting better certificates these days and the workaround is no longer needed. Bug: 5426333 Change-Id: I4e7be7bcf522f2d210a596aa03b86a19884e075a
* | | | Merge "Fix serialization / deserialization of SealedObject"Neil Fuller2014-07-232-29/+71
|\ \ \ \
| * | | | Fix serialization / deserialization of SealedObjectNeil Fuller2014-07-242-29/+71
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thanks to apphelia@ for the report. The readObject() implementation had hardcoded the field order incorrectly leading to a couple of fields being swapped on each serialization: paramsAlg and sealAlg. This was wrong as far back as 2009 so the class has likely never worked for its intended purpose. Field order during Serialization is primitives first, then fields. Secondary ordering is alphabetical. The purpose of overriding readObject() at all is for safety in the event of compromised stream data. It would be more appropriate to clone() rather than readUnshared(). readUnshared() assumes a corresponding writeUnshared(), which is not present. The readUnshared() probably only works here because the byte[] arrays typically are not shared anyway. From reading latest guidelines on safe serialization the code need not be order-specific: it can use readFields(). s.defaultReadObject() could have been used instead but the guidelines recommend against. Performance is probably not a concern. Until now nobody could have been using SealedObject for its intended purpose otherwise they would have noticed this bug (or they were always serializing / deserializing an even number of times!). Anybody attempting to use SealedObject on earlier versions of Android will need to serialize / deserialize twice to avoid the bug. After this fix the class will work as intended. Additional: Some duplicated code has been extracted into methods, and streams are now closed when they are finished with. In reality this will have no effect given the stream implementations involved. Bug: https://code.google.com/p/android/issues/detail?id=73235 Change-Id: If745d6556437ae7839543e66dd15f912afd4ec98
* | | | Merge "Throw an error when parsing an obviously bad Double"Neil Fuller2014-07-232-7/+41
|\ \ \ \ | |_|/ / |/| | |
| * | | Throw an error when parsing an obviously bad DoubleNeil Fuller2014-07-242-7/+41
|/ / / | | | | | | | | | | | | | | | | | | Thanks to Robbie Hott for the bug report. Bug: https://code.google.com/p/android/issues/detail?id=71216 Change-Id: I402fa27e0b90c1c1d26169d79c7061e4a2caa138
* | | Merge "Fix handling of invalid locales in Date/DecimalFormatSymbols."Narayan Kamath2014-07-236-23/+38
|\ \ \
| * | | Fix handling of invalid locales in Date/DecimalFormatSymbols.Narayan Kamath2014-07-236-23/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For locales whose language code is "und" we use Locale.ROOT instead. This also fixes two other corner cases : - We were using the wrong locale to fetch timezone strings when the input locale was null. we now use the same locale throughout by making sure we don't perform any subsititutions in LocaleData.get. - Adds a clearer comment about the broken serialization behaviour. bug: 15849709 Change-Id: I95e7eb0ccb7458711038ce9b1c76b3279acda9d6
* | | | Merge "Add math tests in csv format for libcore math functions"Jeff Hao2014-07-226-0/+10328
|\ \ \ \
| * | | | Add math tests in csv format for libcore math functionsMichael Chen2014-07-216-0/+10328
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The goal here is to have a csv file with math tests that different parts of Android can all use the same math tests. This change provides these initial csv files as well as the corresponding testing framework for libcore. Change-Id: I56430bd9224d92853aefa5024d6fdd1d10dfb255
* | | | | Merge "Fix broken nio BufferTest and add alignment test."Mathieu Chartier2014-07-221-9/+23
|\ \ \ \ \ | |_|/ / / |/| | | |
| * | | | Fix broken nio BufferTest and add alignment test.Mathieu Chartier2014-07-221-9/+23
|/ / / / | | | | | | | | | | | | | | | | | | | | Bug: 16486921 Bug: 16449607 Change-Id: Ib1871d0fa09bfc3fbf3c041f56ee74fd7a234a5a
* | | | Merge "Support for a android.text.format.Time implemented entirely in Java"Neil Fuller2014-07-173-5/+673
|\ \ \ \
| * | | | Support for a android.text.format.Time implemented entirely in JavaNeil Fuller2014-07-223-5/+673
|/ / / / | | | | | | | | | | | | | | | | Bug: 15765976 Change-Id: Ic743168a54ff96e5403a9c73c27eeb7d482a01dc
* | | | Merge "Fix Collator tests."Narayan Kamath2014-07-172-6/+10
|\ \ \ \
| * | | | Fix Collator tests.Narayan Kamath2014-07-222-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the modern "es-u-co-trad" instead of "es-TRADITIONAL". The latter is an invalid language tag (TRADITIONAL is an invalid variant) so we will not support it any longer. bug: 15849709 Change-Id: Ia4172879041f42a3b5ff8b027b44c48b3c336f2c
* | | | | Merge "Implement Locale.forLanguageTag in java."Narayan Kamath2014-07-175-133/+334
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | Implement Locale.forLanguageTag in java.Narayan Kamath2014-07-225-133/+334
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge "Expand visibility of adjustLanguageCode."Narayan Kamath2014-07-171-1/+4
|\ \ \ \
| * | | | Expand visibility of adjustLanguageCode.Narayan Kamath2014-07-181-1/+4
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge "Avoid Math.min() benchmark being optimized away."Vladimir Marko2014-07-171-1/+1
|\ \ \ \
| * | | | Avoid Math.min() benchmark being optimized away.Vladimir Marko2014-07-211-1/+1
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | This is a follow-up to https://android-review.googlesource.com/101914 Bug: 11579369 Change-Id: I68676879d1ac4d372e56cc0394eeb58f5cb41a84
* | | | Merge "Make ByteBuffer.allocateDirect be 8 byte aligned."Mathieu Chartier2014-07-171-1/+5
|\ \ \ \ | |/ / / |/| | |
| * | | Make ByteBuffer.allocateDirect be 8 byte aligned.Mathieu Chartier2014-07-211-1/+5
| | |/ | |/| | | | | | | | | | | | | Bug: 16449607 Change-Id: I4a854d55f49fe709965c6b6a769fb58c356627dc
* | | Merge "Avoid Math/StrictMath benchmarks being optimized away."Vladimir Marko2014-07-171-111/+228
|\ \ \ | |_|/ |/| |
| * | Avoid Math/StrictMath benchmarks being optimized away.Vladimir Marko2014-07-211-111/+228
|/ / | | | | | | | | | | | | | | | | | | ART is completely optimizing away abs() for float and double on x86 if the result is unused. We may soon optimize it away on ARM as well. To avoid the benchmark becoming irrelevant modify all the math benchmarks to use the return value. Bug: 11579369 Change-Id: Idc5c3af46d55588dd185e11bd4bc9f7e70ea200d
* | Merge "CipherTest: check multiple calls to doFinal work"Kenny Root2014-07-171-0/+8
|\ \
| * | CipherTest: check multiple calls to doFinal workKenny Root2014-07-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In existing implementations of JSSE Cipher providers, calling "doFinal" resets the cipher to the state it was at when "init" was called. Note that this is dangerous to do, but it appears some people do it. Bug: 16298401 Bug: http://code.google.com/p/android/issues/detail?id=73339 Change-Id: I32e26fde660dc7c50fdac0d74d5d97801f1da9f9
* | | Merge "Revert "Revert "Add a cache for ZoneInfo objects in Java"""Neil Fuller2014-07-174-13/+59
|\ \ \
| * | | Revert "Revert "Add a cache for ZoneInfo objects in Java""Neil Fuller2014-07-174-13/+59
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 01b6a878d10ee68db87c3d85d137e81a5257a78a. Contains a fix for when the timezone ID is not found. This includes a new test. Change-Id: I2e5e669782ea6caf4e97153ed6b63ca6ee4ef50d
* | | Merge "Revert "Add a cache for ZoneInfo objects in Java""Neil Fuller2014-07-174-53/+13
|\ \ \
| * | | Revert "Add a cache for ZoneInfo objects in Java"Neil Fuller2014-07-174-53/+13
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a6e8689807f5a8bb9470ce7c26a47455d2d0608d. Change-Id: I17a0262d169db3418f2f8888195381f778975dc4
* | | | Merge "Fix UnmodifiableEntrySet.toArray() ordering"Neil Fuller2014-07-174-404/+437
|\ \ \ \
| * | | | Fix UnmodifiableEntrySet.toArray() orderingNeil Fuller2014-06-234-404/+437
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | toArray() was returning entries in reverse order. toArray(T[]) was correct. Thanks to Chris Povirk for discovering. The fix is simple. Change includes additional tests to avoid regressions. Test & support code has been cleaned up a little to improve coverage and make it (slightly) less horrible. Bug: https://code.google.com/p/android/issues/detail?id=72073 Change-Id: I42ff90e0f592482289cd0cd9fdbdaabf0c17ad93
* | | | | Merge "Add a cache for ZoneInfo objects in Java"Neil Fuller2014-07-174-13/+53
|\ \ \ \ \ | | |/ / / | |/| | / | |_|_|/ |/| | |
| * | | Add a cache for ZoneInfo objects in JavaNeil Fuller2014-07-164-13/+53
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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