summaryrefslogtreecommitdiffstats
path: root/luni/src/main
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | | | Merge "Disallow explicit signs in java.sql.Timestamp#valueOf()"Calin Juravle2014-04-241-49/+21
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / | | / / / / / / / | |/ / / / / / / |/| | | | | | |
| * | | | | | | Disallow explicit signs in java.sql.Timestamp#valueOf()Calin Juravle2014-04-241-49/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The implementation was cleaned up: - removed useless checks and improved a few other - fixed variable names - fixed badTimestampString Bug: 5239391 Change-Id: I51ea2ba848b0c2d2d2f26807a1c56e7e015ef9f4
* | | | | | | | Merge "libcore changes to support asynchronous close interruption"Neil Fuller2014-04-2321-136/+211
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | |
| * | | | | | | libcore changes to support asynchronous close interruptionNeil Fuller2014-04-2221-136/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously AsynchronousSocketCloseMonitor was used to handle socket interruption on close. To support the same for FileChannel it has been renamed to AsynchronousCloseMonitor. The Java class was already called this. FileInputStream, FileOutputStream, RandomAccessFile will now throw IOException if a connection is closed by another thread during read. Thread.interrupt() continues to have no effect on streams. FileChannel will now throw AsynchronousCloseException during reads and writes if the file is closed, per the documentation. FileChannel will now throw ClosedByInterruptException during reads and writes if the thread reading/writing is interrupted. Note: FileChannel.lock() will probably still not not throw AsynchronousCloseException, though it probably should. This change also has impact on external/conscrypt and frameworks/base. Change-Id: I37de3e7d1a005a73821221e6156d10b95c595d7a Bug: 13927110
* | | | | | | | @hide Integer#parsePositiveInt(String)Calin Juravle2014-04-221-0/+2
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 5239391 Change-Id: I01632d4846342293e881553feee3ae40f97e2443
* | | | | | | Merge "Disallow explicit signs in java.sql.Date#valueOf()"Calin Juravle2014-04-222-15/+20
|\ \ \ \ \ \ \
| * | | | | | | Disallow explicit signs in java.sql.Date#valueOf()Calin Juravle2014-04-222-15/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 5239391 Change-Id: I52bd621bd6ed46d1ae01abf1be25d1ac3c76d7e0
* | | | | | | | Merge "Change DecimalFormat.setRoundingMode() behavior to stay in spec"Neil Fuller2014-04-223-32/+17
|\ \ \ \ \ \ \ \
| * | | | | | | | Change DecimalFormat.setRoundingMode() behavior to stay in specNeil Fuller2014-04-153-32/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The serialization tests revealed that some DecimalFormat instances could not be round-tripped. The reason is that the setRoundingMode() method was setting a non-zero rounding increment, which cannot be persisted, and also creates patterns that are outside of the DecimalFormat spec. Addressed the fact that ICU4C appears to support RoundingMode.UNNECESSARY now by deleting special-case code. Changed SerializationStressTest to use canonical DecimalFormat patterns: The ones chosen had a couple things that were not ideal: 1) Putting '-' in quotes causes ICU (for non-obvious reasons) treat the negative pattern prefix as not being default. Default in this case means "the positive prefix with a preceding '-'. Removing the quotes meant it would recognize the pattern as not needing everything after ;., so the pattern would be shrunk. 2) The positive pattern was also not one ICU could deal with fully. ICU changed "#.#" to "#0.#" at parse time (which can be corrected with a setMinimumIntegerDigits(0)). It's not clear why ICU cannot deal with parsing "#.#" when it can produce it, but there is a long comment in decimfmt.cc suggesting it is intentional and to avoid format producing empty strings. The pattern has been changed to one that ICU can handle and would choose when the various serialized fields are read back. This is necessary because NativeDecimalFormat compares the patterns and not just the serialized fields. Leaving the pattern check part of equals() means that two non-spec patterns will not be considered equal(), which is important while Android allows non-spec patterns. Restricting support in DecimalFormat to the documented subset of characters is not worth the effort and may cause problems elsewhere. Change-Id: I2de588458b86619733c0dc1692d526f179059910 Bug: 11668227
* | | | | | | | | Fix build (javadoc @link tags).Elliott Hughes2014-04-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: If0cb922427a826cad16c8be8a78cdfbccc218c32
* | | | | | | | | Allow empty rules in a RuleBasedCollator.Elliott Hughes2014-04-211-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is allowed by the CLDR specification, and we were already allowing most forms of empty rules, just not the zero-length string. Change-Id: I3c2a020aac23e54f8044defbfe2e2a5b600e454c
* | | | | | | | | Fix typo in Locale docs.Elliott Hughes2014-04-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I1fd60e1b23ebf02a4a242d622312502b941ddd1e
* | | | | | | | | Merge "Track the icu4c 53 update in the Locale documentation."Elliott Hughes2014-04-211-4/+8
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | Track the icu4c 53 update in the Locale documentation.Elliott Hughes2014-04-211-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | | | | Merge "Updated documentation for RuleBasedCollator."Elliott Hughes2014-04-211-249/+53
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | |
| * | | | | | | | | Updated documentation for RuleBasedCollator.Elliott Hughes2014-04-211-249/+53
| | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ia927033773ea3ad6c417306cbbfffc4afe08fab5 Signed-off-by: Markus Scherer <mscherer@google.com>
* | | | | | | | | Update collation tests for icu4c 53.ccornelius2014-04-212-31/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of ICU 53, rule strings must begin with a reset '&'. http://www.unicode.org/reports/tr35/tr35-35/tr35-collation.html#Rules Also, fewer collation elements exist in ICU 53 because ae-ligature maps to two rather than three logical collation elements. Now the last one yields only one CollationElementIterator value rather than two. Finally, it's no longer possible to switch from forward to backward iteration without calling reset/setOffset/setText. This used to be undefined behavior but is now checked. Change-Id: I663a2b229e551cd6f5753ddae0660f813dbbf866
* | | | | | | | | Merge "Remove include of private ICU include and set constant size for ↵Elliott Hughes2014-04-211-2/+2
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | | | | | | | | | | buffer in libcore_icu_NativeCollation.cpp"
| * | | | | | | | Remove include of private ICU include and set constant size for buffer inccornelius2014-04-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libcore_icu_NativeCollation.cpp Change-Id: I31ae75707b7036ab5b509c88915648fbaf7d76a5
* | | | | | | | | Add parsePositiveInt for internal use.Calin Juravle2014-04-161-0/+22
|/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It will help fix issues caused by allowing explicit '+' sign in numerical strings. Bug: 5239391 Change-Id: I95b4db1a06a35d5ef72b28c4764a0190f10c55c8
* | | | | | | | Merge "Set ICU's default locale from Locale.getDefault."Narayan Kamath2014-04-123-0/+23
|\ \ \ \ \ \ \ \
| * | | | | | | | Set ICU's default locale from Locale.getDefault.Narayan Kamath2014-04-113-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug: 2541757 Change-Id: I5de58be7e8a701f2c40182ea54bceff85ec1aad2
* | | | | | | | | Don't allow explicit signs in URL port numbers.Calin Juravle2014-04-101-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 5239391 Change-Id: Iea158e19de2ace224f29c07c56811b7eab9c0eb9
* | | | | | | | | Don't allow explicit signs in URI port numbers.Calin Juravle2014-04-101-3/+6
|/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 5239391 Change-Id: I26fb1042d169d545a793e47596f4f8a94dd09530
* | | | | | | | Fix Locale.getDisplayName.Narayan Kamath2014-04-091-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | | | | | | | Merge "Fix broken CTS HttpCookie test"Neil Fuller2014-04-071-2/+12
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | |
| * | | | | | | Fix broken CTS HttpCookie testNeil Fuller2014-04-071-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added some test cases and corrected the test to conform to the RI behavior. Change-Id: Ib32baf2e923c50fca1a5a4cb7cbd7f55ed70e760 Bug: 13748507
* | | | | | | | Fix Greek uppercasing.Elliott Hughes2014-04-041-0/+11
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This matches Chrome's behavior. Bug: 13246961 Change-Id: I1954da3116a1759cb650bffed558dced5770e3ec
* | | | | | | Finish moving away from LD_LIBRARY_PATH on Android.Elliott Hughes2014-04-032-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We'll still use LD_LIBRARY_PATH if it's set, for testing or for the host, but we now ask the dynamic linker what to do. Bug: 12585421 Change-Id: I1457a63ead89fa8f8aeabc002c0b9038295b886e
* | | | | | | Merge "Improve documentation and tests of SSLContext.init."Alex Klyubin2014-03-281-6/+23
|\ \ \ \ \ \ \
| * | | | | | | Improve documentation and tests of SSLContext.init.Alex Klyubin2014-03-271-6/+23
| | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SSLContext.init treats null arrays of KeyManager/TrustManager different from non-null arrays. In the case of null arrays, SSLContext.init finds the highest priority implementation of KeyManagerFactory/TrustManagerFactory and then obtains the required types of KeyManager/TrustManager from these factories. In the case of non-null arrays, SSLContext.init obtains each desired type of KeyManager/TrustManager from the provided arrays only. Bug: 13563574 Bug: 13563675 Change-Id: I52adc5e7143d4f050be0b22b3b464c10bb97d102
* | | | | | | Merge "Add an empty long array"Adam Lesinski2014-03-271-0/+1
|\ \ \ \ \ \ \ | |_|_|_|_|_|/ |/| | | | | |
| * | | | | | Add an empty long arrayAdam Lesinski2014-03-171-0/+1
| | |/ / / / | |/| | | | | | | | | | | | | | | | Change-Id: Ib229283546e47f31107331e2323f112ef2a0dd6b
* | | | | | Merge "Remove redundant parameters from fullFieldsCalc"Dmitriy Ivanov2014-03-261-7/+7
|\ \ \ \ \ \
| * | | | | | Remove redundant parameters from fullFieldsCalcDmitriy Ivanov2014-03-261-7/+7
| | |/ / / / | |/| | | | | | | | | | | | | | | | Change-Id: I1d4fd83dd9bb99c0ea37a1530ae6aafee1935a74
* | | | | | Speed-up for apps that use Dagger on ARTNeil Fuller2014-03-261-14/+17
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is more of a harm-free heuristic improvement than a fix. It rearranges the algorithm for determining whether a Field (or Constructor/Method) is annotated. A cheap check (does the Field/Method/Constructor has any annotations at all?) is pushed ahead of a more expensive one (If the annotation were to be present, what would its type index be?). This happens to work well in practice in sample apps because the cheap check often fails, allowing the algorithm to terminate earlier. The second change is to skip() the field information rather than to read each field in turn when looking for Method or Constructor annotation information. The second change is not a hotspot but looks like an easy optimization that avoids many small method calls and a for loop for little additional complexity. Change-Id: I2118d650f2f1db4e103384483684306e42809093
* | | | | Add X509ExtendedTrustManagerKenny Root2014-03-254-6/+166
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the X509ExtendedTrustManager class and all its ancillary methods that allow it to be used. This allows the endpointVerificationAlgorithm setting to be enabled on SSLSocket to check that the cerificate given for the endpoint during the handshake matched the expected hostname. Since X509ExtendedTrustManager allows you to pass in an SSLSocket, there is a new call added to SSLSocket called getHandshakeSession which does not force the handshake to take place. Bug: 13103812 Change-Id: I18a18b4f457d1676c8dc9a2a7bf7c3c4646a0425
* | | | Fix test failures due to the ICU-52 update.Narayan Kamath2014-03-201-1/+1
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | Some of the failures were due to the fact that we stopped parsing numbers like "36-" for RTL locales, and others were due to the fact that we were using reference equality for comparing minusSign. Change-Id: I239e6b8b77165a4665c554e46e6fb652beec2ec2
* | | NativeBN: use bn_correct_top on negative BNKenny Root2014-03-181-0/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you use BN_bin2bn, it will call bn_correct_top for you. However, since this code is poking into the structure of the BIGNUM itself without using API, we must call it ourselves. Before the test_negativeValues_superfluousZeroes would fail with this confusing error: libcore.java.math.BigIntegerTest#test_negativeValues_superfluousZeros junit.framework.AssertionFailedError: expected -1374707309 but was -1374707309 at junit.framework.Assert.assertEquals(Assert.java:99) at libcore.java.math.BigIntegerTest.test_negativeValues_superfluousZeros(BigIntegerTest.java:171) Bug: 12761797 Change-Id: I724c1313e4febca8ce2bda9d10f9b5ebde96a6b1
* | Don't assume minusSign is a single char.Narayan Kamath2014-03-147-37/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Locales like arabic have a multi char minusSign in their locale data. The only difficulty here is presented by DecimalFormatSymbols, which is a public API and expects the minus sign to be a single codepoint. The API has been changed to return the first character of the minusSign string for getMinusSign, which seems like the least bad option at this point. This change also removes a workaround for cases where ICU parsed (2445-) as (-2445) for RTL locales. ICU-52 doesn't do this anymore. The serialized form hasn't been modified either, since it's public API as well and it isn't easy to expand to a String without awkward semantics. bug: 13410257 Change-Id: I0e575b7eea0fd811ccb9fb5dc04e20d2e0fa13bf
* | Fix ICU glue for uloc_toLanguageTag.Narayan Kamath2014-03-131-16/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were several issues : - ICU does not set the output param UErrorCode* to U_ZERO_ERROR when an API call is successful, so we need to clear it before every API call. - ICU sets the error code to U_BUFFER_OVERFLOW_ERROR (and sets the output length to the required size) if the input buffer is too small. - ICU sets the error code to U_STRING_NOT_TERMINATED_WARNING when the input buffer is one character too short. bug: 13414549 bug: 13412659 Change-Id: I3e23ea507a540f37ab1c14a60afe801bca286554
* | Merge "Add 1.7 methods to TimeZone / SimpleTimeZone"Neil Fuller2014-03-121-0/+16
|\ \
| * | Add 1.7 methods to TimeZone / SimpleTimeZoneNeil Fuller2014-03-121-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "Add Java 1.7 APIs: ZipFile, ZipInputStream, ZipOutputStream"Neil Fuller2014-03-124-56/+198
|\ \ \
| * | | Add Java 1.7 APIs: ZipFile, ZipInputStream, ZipOutputStreamNeil Fuller2014-03-124-56/+198
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add constructor support for the character encoding to use. When reading a ZipFile this is used for the file comment and for entry names and comments when a zip entry is not self-described as UTF-8 encoded. When writing a zip file the character encoding determines the encoding used for the file comment, entry names and comments. The default for reading and writing when the character encoding is not specified remains as UTF-8. Additional fix: ZipOutputStream: null comments no longer cause NullPointerException. Change-Id: I7cadfa939377d0f87fd5503dae2a0b2dbac2ba39
* | | Merge "Add Currency.getNumericCode()"Neil Fuller2014-03-113-0/+22
|\ \ \
| * | | Add Currency.getNumericCode()Neil Fuller2014-03-113-0/+22
| |/ / | | | | | | | | | | | | | | | | | | getNumericCode() was added in Java 1.7. It returns the ISO 4217 numeric code for a currency. Change-Id: I8404703e749b3324bbcb89ecf6d8d64b95a030a3
* | | Use the correct buffer size for the Pushback stream.Narayan Kamath2014-03-101-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | The maximum number of bytes we can push back to the stream is the actual size of the DeflaterInputStream buffer (buf.length) and not the default size (BUF_LENGTH). bug: https://code.google.com/p/android/issues/detail?id=66409 Change-Id: I78a80b6ced8606602361abd8a969fa6f8227596c
* | | Merge "Add 1.7 methods to HttpCookie."Neil Fuller2014-03-101-14/+56
|\ \ \
| * | | Add 1.7 methods to HttpCookie.Neil Fuller2014-03-071-14/+56
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding isHttpOnly() and setHttpOnly(). Added more documentation around the specifications supported since the HttpOnly attribute was added by RFC 6265. Improved documentation around toString() because I found the method confusing, plus RFC 6265 goes back to a simpler format than the RFC it obsoletes meaning callers should use version 0 not version 1. Change-Id: Ie52ea80dc5bd7d1575fcaccde70976ed29729817