summaryrefslogtreecommitdiff
path: root/non_openjdk_java_files.bp
AgeCommit message (Collapse)Author
2018-07-23Move UriCodec to be near its one userNeil Fuller
The only user of UriCodec is android.net.Uri so it can be moved to android.net. Test: make droid && make cts Bug: 111055375 Change-Id: Ib5c68b1ee771c509d0bb6edd7d07c4ba677805a5
2018-07-23Add a RuntimeHooks facade / use ZygoteHooks moreNeil Fuller
This commit adds RuntimeHooks, a class that acts similarly to ZygoteHooks but for both zygote and non-zygote environments. It acts as a facade to hide some internal details from higher-level framework classes and will be beneficial if we need to keep runtime and core libraries internal details from leaking too far. The TimezoneGetter class is being removed here too as the Supplier interface is suitable for use instead. Bug: 111055375 Test: build / boot Change-Id: I74bb8cc6c50ff653d86149fb249ec7487dacb270
2018-07-13Remove unused class: libcore.util.RecoverySystemNeil Fuller
This class appears to be unused. Test: build Bug: 111055375 Change-Id: I3404a436677a60c439045eb05ad7f0f3a32f9d2a
2018-07-11Rename org.kxml2 code to com.android.org.kxml2Neil Fuller
org.kxml2 code is heavily modified in Android so renaming it to a reserved package name will not make it less maintainable. This rename should also flush out users who are depending on the parser package name. Bug: 111055375 Test: build Change-Id: Idfe871ef7b24fd60d706b932ff2dc52eb9fbf4b6
2018-07-11Move XML object factory logic to libcoreNeil Fuller
It makes sense to hide the details of the parser implementation (and other similar objects) in libcore so that framework code is isolated from implementation choices. Test: build Bug: 111055375 Merged-In: I88548c991178c0a2971f6e2b99216b5a6aae0b09 Change-Id: I88548c991178c0a2971f6e2b99216b5a6aae0b09
2018-05-31Introduce the CovariantReturnType annotationNeil Fuller
This commit introduces the CovariantReturnType annotation that can be used to prepare the Android platform for future API changes associated with more specific return types on subclass methods. The annotation introduces platform bytecode for the new form of the method as a synthetic overload of the original, public version. This commit contains a first example: A change to ConcurrentHashMap made in OpenJDK 8. Android cannot make this change without breaking apps that compile against latest stubs but have to run on older releases. The API change can only be made once apps will no longer be run on devices without the synthetic version (without app tooling changes to accelerate the switch). This commit also introduces a test to confirm that the platform bytecode is present in the old and new forms. There are platform tooling changes associated with this commit. Bug: 70661641 Test: CTS: run cts -m CtsLibcoreTestCases Change-Id: I39c4152223aed34642169689cba39de313358655
2018-05-02Add new method ArrayUtils.throwsIfOutOfBounds into libcoreVictor Chang
Bug: 78457893 Test: cts-tradefed run cts-dev -m CtsLibcoreTestCases -t libcore.libcore.util.ArrayUtilsTest Change-Id: Iedfa90f43964370d41ce38a2bcbefa1ee6779bd5
2018-02-14Introduce in-memory structure for tzlookup.xmlNeil Fuller
This commit introduces the CountryZonesFinder which holds the entire contents of the <countryzones> element from tzlookup.xml. It is intended for usecases where the memory vs i/o trade off means it's better to load the data once and keep it pinned in memory. The pinning is left to the caller. Bug: 63561146 Test: CTS: run cts -m CtsLibcoreTestCases Change-Id: I36bb611149d8febc38f39db5a9c048c9549e1b1c
2018-02-06Add NullFromTypeParam annotationPrzemyslaw Szczepaniak
NullFromTypeParam is nullness related annotation used when nullability is deliberately left floating; the nullability is the same as the actual type parameter of the class. Test: make docs Bug: 64930165 Change-Id: Iffe5138b1da438ac7e981ac93e0c1ef3df920dbb
2018-01-30Add reachabilityFence, ReachabilitySensitiveHans Boehm
Add the @ReachabilitySensitive annotation itself, and use it in libcore itself, where needed. Import OpenJDK9+181's reachabilityFence, so that it can be used in preference to the annotation where it makes sense. Java 9's stopgap reachabilityFence implementation doesn't work for us, so replace it with a different stopgap. The libcore changes correct many situations in which finalizers could previously run prematurely according to the JLS. Or they would correct them if we had a real implementation for @ReachabilitySensitive. The ZipFile constructor could close the file before notifying the CloseGuard that it was open. Aside from the ZipFile change, there should be no functional change, yet. Note that the ExemptionMechanism.java fix is the same as upstream. Conspicuously missing: - Any code, e.g. in ART or D8, that actually looks for the annotation. - Uses in frameworks code, where it's probably most critical. Bug: 63934467 Bug: 70906684 Bug: 28342794 Test: Build & boot AOSP Change-Id: I652f0625b39b2ba9ac901d4f63e6aa6cf3b74af5
2018-01-08Libcore: Add VMStack.getAnnotatedStackTraceAndreas Gampe
Add AnnotatedStackTraceElement to describe a stack frame and held locks as well as an object the frame is blocked on. Add VMStack.getAnnotatedStackTrace to return an array that contains an AnnotatedStackTraceElement for each stack frame, with the StackTraceElement describing the frame, an array containing all objects that are locked at the described location, and optionally for the top frame an object the thread is blocked on, waiting for or sleeping on. Bug: 70538431 Test: m test-art-host Test: art/test/testrunner/testrunner.py -b --host -t 168 Change-Id: I0d92e3d8182c4a592549a6445854816f71afd29e
2018-01-08Merge changes I5a3b876c,I81799165Neil Fuller
* changes: Add a hasUtcZone() for telephony tz detection Country tz lookup / expose CountyTimeZones
2018-01-05Country tz lookup / expose CountyTimeZonesNeil Fuller
This commit moves CountryTimeZones to be a top-level class. It also add a replacement for the telephony logic for looking up a time zone given only an ISO code. The isDefaultOkForCountryTimeZoneDetection() method logic has been compared with the existing telephony tz lookup logic and it returns the same answers for now and in 6 months. Bug: 63743683 Test: vogar luni/src/test/java/libcore/libcore/util/CountryTimeZonesTest.java Test: vogar luni/src/test/java/libcore/libcore/util/TimeZoneFinderTest.java Change-Id: I817991657f02630db241a0e1134accddaf935b1c
2017-12-21Replace libcore.util.Mutable{Int,Long} with Int{32,64}Ref.Tobias Thierer
Since the new classes Int{32,64}Ref live in the package android.system, which is fine for libcore to depend on, there is no longer a need to have libcore.util.Mutable*. This CL migrates all usages to the new classes. Test: CtsLibcoreTestCases Bug: 67901714 Change-Id: Icb55f778e05f6083d6d93b4c50fa76211dfa16c7
2017-12-13Move android.util.Mutable{Int,Long} from libcore to framework.Tobias Thierer
After preceding CLs removed remaining libcore dependencies, there are now no longer dependencies on Mutable{Int,Long} in libcore. This CL moves those classes into framework, where the rest of android.util already lives. After this CL, libcore and framework contain distinct packages (android.util was the only package that previously existed in both). Bug: 67901714 Test: Treehugger (cherry picked from commit 3510dc633e610d265e64ff6ac66471d52b83731b) Change-Id: I696a48339f8a02d7c10e0460068ba560f86ac67e Merged-In: I696a48339f8a02d7c10e0460068ba560f86ac67e
2017-11-21Add Nullable annotationPrzemyslaw Szczepaniak
Test: make Bug: 64930165 Change-Id: Ia72c736d65dfd414b6b5d31f47d4bf67cb39eb08
2017-11-07Deprecate Os methods that depend on Mutable*, replace with Int*RefTobias Thierer
This CL deprecates the remaining dependencies on android.util in libcore, which is the last thing stopping android.util from being dropped from libcore. This is a necessary step for adoption of an OpenJDK 9 build toolchain because android.util already exists in framework. The affected methods live in android.system.Os. Two methods (sendfile and waitpid) are part of the API; this CL deprecates those and introduces replacements. Another method (ioctlInt) is not part of the API; this CL replaces it rather than only deprecating the old one. The old methods depended on android.util.Mutable{Int,Long}. Their replacements use new classes android.system.Int{32,64}Ref. These names were chosen to indicate that these types are suitable for C-style lower level system calls, but not for other abstractions that specifically represent an int or long in the Java language. Test: Treehugger Bug: 67901714 Change-Id: Ia19acf0927bea0fedfb003e49a926840d8d5ff21
2017-11-01VarHandle simplificationsOrion Hodson
Simplifications for the runtime to avoid pointer chasing: - Store the coordinate types in the VarHandle as a separate fields rather than a list. - Store a boolean indicating a change in byte ordering is required rather than a ByteOrder field. And a consistency tweak with s/ByteArrayVarHandle/ByteArrayViewVarHandle/g. Bug: 65872996 Test: art/test.py --host -g -j32 Change-Id: I11922b0c702d1d4b46c618db70ded22e2ac248d0
2017-10-24Migrate libcore code to new classes libcore.util.Mutable{Int,Long}.Tobias Thierer
This is the second attempt to submit this CL. The first time this CL was submitted [1], it was missing a corresponding change in libnativehelper and was therefore reverted [2]. [1] commit bb1ca6958f161564fe4744ff9c32c6d0abdc7a41 at http://r.android.com/515035 [2] commit 3e06dd181820f01abaa33d8102aa1d781a867de5 at https://r.android.com/517995/ Original commit message follows: === cut === The new classes are the libcore-internal versions of the corresponding classes in android.util. This CL migrates libcore code to use these classes instead. The only exception are android.system.Os's static method signatures which continue to use android.util.Mutable{Int,Long} since those signatures are part of the Android API. The implementation of those methods converts between those types and the libcore-internal ones. This further reduces the dependency of libcore code onto android.* packages. Test: Treehugger Bug: 67901714 Change-Id: Ic06e9824098984a2807adef8d5c257f6b0465a63
2017-10-23Revert "Migrate libcore code to new classes libcore.util.Mutable{Int,Long}."Tobias Thierer
This reverts commit bb1ca6958f161564fe4744ff9c32c6d0abdc7a41. Reason for revert: Likely cause of the below error that causes the device to not boot successfully. Reverting while I work out the reason. "JNI DETECTED ERROR IN APPLICATION: attempt to access field int android.util.MutableInt.value from an object argument of type libcore .util.MutableInt: 0x70339504" Change-Id: I3b55cde24e3594c0fda8f0261a003f880c2869aa
2017-10-20Migrate libcore code to new classes libcore.util.Mutable{Int,Long}.Tobias Thierer
The new classes are the libcore-internal versions of the corresponding classes in android.util. This CL migrates libcore code to use these classes instead. The only exception are android.system.Os's static method signatures which continue to use android.util.Mutable{Int,Long} since those signatures are part of the Android API. The implementation of those methods converts between those types and the libcore-internal ones. This further reduces the dependency of libcore code onto android.* packages. Test: Treehugger Bug: 67901714 Change-Id: Id072a1e830aba92a60c405836b4f74ab6a7ce172
2017-10-18Move most android.util.Mutable* classes to framework.Tobias Thierer
android.util is the only package shared between libcore and framework, with only the Mutable* classes living in libcore. This CL topic moves most of these classes to framework. After this CL topic, only MutableInt and MutableLong remain in libcore. This prevents future libcore dependencies on android.util; it is a first step towards removing the package overlap between libcore and framework. Test: Treehugger Bug: 67901714 Change-Id: I049b74a5ccd043c8e04b7657c649637c0a65aa50
2017-10-13Implement simple methods on java.lang.invoke.VarHandle.Orion Hodson
Implements the plain instance methods in VarHandle. Adds classes for VarHandles accessing array elements, byte arrays, byte buffers, and fields, and allows them to be instantiated via MethodHandles and MethodHandles.Lookup. Bug: 65872996 Test: art/test/run-test --host 710 Change-Id: Ic028a2e896c2c64846c394ce33363a8542ffd2a7
2017-10-03Remove Crypto provider and support classesAdam Vartanian
The Crypto provider was deprecated in N and we are now removing it. Bug: 35707247 Test: cts -m CtsLibcoreTestCases Test: cts -m CtsSecurityTestCases Change-Id: I5c4e2ad168faef639d77ebd2355c01b3f944b94c
2017-09-28Revert "Revert "Convert libcore java to Android.bp""Colin Cross
This reverts commit 9762264100d81d3dd653cbca2996b288c52f9546. Jack is disabled everywhere now. This reapplies I20a0f0327172bc51db47c7c56ccc806e20cf1244 with updates for changes to Soong and to add sources to the core-lambda-stubs jar. Test: m -j checkbuild Change-Id: I77c9dc558bc6c0f3833b1b79a0707c498e560628
2017-09-21Revert "Convert libcore java to Android.bp"Colin Cross
This reverts commit 70d863fdc17969b4638caf830d0567adc20a6100. Reason for revert: Broke the few remaining builds that still use jack Change-Id: I437d583cf33d68e6d8fa3367e1ea54848b56e05b
2017-09-21Convert libcore java to Android.bpColin Cross
See build/soong/README.md for more information. Test: m -j checkbuild Test: classes.dex for core-oj is identical Test: classes.dex for core-libart only has extra bridge methods (b/65645120) Change-Id: I0f81937dcc6efba87e7f61b2d5840b18068cd587