| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \ \ \ \ \ \ \
| |/ / / / / / / /
| | / / / / / / /
| |/ / / / / / /
|/| | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
The implementation was cleaned up:
- removed useless checks and improved a few other
- fixed variable names
- fixed badTimestampString
Bug: 5239391
Change-Id: I51ea2ba848b0c2d2d2f26807a1c56e7e015ef9f4
|
|\ \ \ \ \ \ \ \
| |/ / / / / / /
|/| | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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
|
|/ / / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Bug: 5239391
Change-Id: I01632d4846342293e881553feee3ae40f97e2443
|
|\ \ \ \ \ \ \ |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Bug: 5239391
Change-Id: I52bd621bd6ed46d1ae01abf1be25d1ac3c76d7e0
|
|\ \ \ \ \ \ \ \ |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
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
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Change-Id: If0cb922427a826cad16c8be8a78cdfbccc218c32
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
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
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Change-Id: I1fd60e1b23ebf02a4a242d622312502b941ddd1e
|
|\ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
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
|
|\ \ \ \ \ \ \ \ \ \
| |/ / / / / / / / /
|/| | | | | | | | | |
|
| | |/ / / / / / /
| |/| | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Change-Id: Ia927033773ea3ad6c417306cbbfffc4afe08fab5
Signed-off-by: Markus Scherer <mscherer@google.com>
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
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
|
|\ \ \ \ \ \ \ \ \
| |/ / / / / / / /
|/| | | | | | | |
| | | | | | | | | |
buffer in libcore_icu_NativeCollation.cpp"
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
libcore_icu_NativeCollation.cpp
Change-Id: I31ae75707b7036ab5b509c88915648fbaf7d76a5
|
|/ / / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
It will help fix issues caused by allowing explicit '+' sign in
numerical strings.
Bug: 5239391
Change-Id: I95b4db1a06a35d5ef72b28c4764a0190f10c55c8
|
|\ \ \ \ \ \ \ \ |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
bug: 2541757
Change-Id: I5de58be7e8a701f2c40182ea54bceff85ec1aad2
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Bug: 5239391
Change-Id: Iea158e19de2ace224f29c07c56811b7eab9c0eb9
|
|/ / / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Bug: 5239391
Change-Id: I26fb1042d169d545a793e47596f4f8a94dd09530
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
- 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
|
|\ \ \ \ \ \ \ \
| |/ / / / / / /
|/| | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Added some test cases and corrected the test to conform
to the RI behavior.
Change-Id: Ib32baf2e923c50fca1a5a4cb7cbd7f55ed70e760
Bug: 13748507
|
|/ / / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This matches Chrome's behavior.
Bug: 13246961
Change-Id: I1954da3116a1759cb650bffed558dced5770e3ec
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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
|
|\ \ \ \ \ \ \ |
|
| | |_|_|_|/ /
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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
|
|\ \ \ \ \ \ \
| |_|_|_|_|_|/
|/| | | | | | |
|
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | | |
Change-Id: Ib229283546e47f31107331e2323f112ef2a0dd6b
|
|\ \ \ \ \ \ |
|
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | | |
Change-Id: I1d4fd83dd9bb99c0ea37a1530ae6aafee1935a74
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
getNumericCode() was added in Java 1.7. It returns the ISO 4217
numeric code for a currency.
Change-Id: I8404703e749b3324bbcb89ecf6d8d64b95a030a3
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|