* changes:
Release mPackages lock earlier
OtaDexopt: Special-case system app classpaths
OtaDexoptService: Run dexopt on all apps
Frameworks/base: Add compiler stats to Package Manager
[RFC] Special case system apps for profile optimizations
Compile core-apps according to their own "reason" for A/B
Frameworks/base: Add new flow to OtaDexoptService
Otadexopt: Expose progress percentage
cp preopted files from B partition during PM init.
We cannot hold mPackages when calling into generatePackageDexopts().
This method takes Package Manager's mInstallLock. By holding mPackages,
we have lock inversion and hilarity ensues.
Change-Id: Ia11a158677051e3511702f38cde6780e75b256fb
Fixes: 30927731
(cherry picked from commit a8d4f489974f3ea8f73990cbabbce205343fb926)
Specialize system apps' shared libraries so that classpath checks
are elided.
Bug: 30568568
Change-Id: Id1f2555ef43984b616e01f8596701ccba77895b3
(cherry picked from commit c7e02c1d2a53e0f738d2a8383e03658b39d91ce6)
To avoid work after reboot, dexopt all apps. However, unimportant
apps are optimized with the first-boot reason (which is usually
interpret-only) for space reasons.
Bug: 30468718
Change-Id: Ia05d879957388967c69f9380e50d8a9834afe07d
(cherry picked from commit 115514b236ebe7cb3c90892891954b8c7ba69335)
Add a simple class for storing compiler statistics. Capture compile
times for code paths from a package.
Bug: 29223204
Change-Id: I1b066de6a83a739470a42480eee0bfef88423eea
(cherry picked from commit 37e5fdc6b4963f3533caecdd92b129f79da69dd8)
If the OTA updates a system app which was previously preopted to a non-
preopted state the app might end up being verified at runtime. That's
because by default the apps are verify-profile but for preopted apps
there's no profile.
Do a hacky check to ensure that if we have no profiles (a reasonable
indication that before the OTA the app was preopted) system apps get
compiled with a non-profile filter (by default interpret-only).
Bug: 30032273
Test: Andreas "has verified that Calin's change to A/B works as expected
and promotes things like SystemUI to speed. From my side, that's
ready to be merged"
Change-Id: I7a052a8ea76cab7f649dc993237ea05534d6c4b9
(cherry picked from commit 0bd776207999ccba17e5adb163710bd7b16ac907)
If the core apps are not preopted in the B OTA, and REASON_AB_OTA is not
speed (by default is speed-profile) they will be interepreted/JITed.
This in itself is not a problem as we will end up doing profile guided
compilation. However, some core apps may be loaded by system server
which doesn't JIT and we need to make sure we don't interpret-only.
Bug: 30032273
Change-Id: Idb11b1c01c4c4ceba043feb3a9ccc6958035d3b7
(cherry picked from commit 565621328dd4fc2e179a34494d0f8b8dc1b1eae9)
Add functionality to capture/intercept installd communication, and
use this to return the full communication for dexopt. These parameters
can be used to drive otapreopt_chroot directly.
Keep the old direct invocation alive until devices have transitioned
to a service that exposes this API.
In preparation for renaming of A/B OTA artifacts to include target
slot names.
Bug: 25612095
Bug: 28069686
Change-Id: I14728ee1266f3882cada8f08dd21891ed5f7a0cb
(cherry picked from commit cc241a580cb9b753d0dde0cea578feb74ad517e7)
To be able to report progress of an A/B OTA dexopt, expose a
progress function that the script can query.
Bug: 25612095
Bug: 29223204
Change-Id: Ie8162946d18f6fa78649a40ad5d3949d31a181cd
(cherry picked from commit bf06232f4d440ced8230662a77ca0e8ece6383ca)
This allows us to save space on the system partition while still
having access to the preopted files.
We do this on first boot when the "ro.cp_system_other_odex" property
is set to 1. We do this during package manager initialization before
scanning the system to see which apks need to be optimized again.
Note that a separate script, run by init, is actually responsible for
finding and copying the files. We simply request that it runs.
Bug: 29278988
Change-Id: I8d7c790ad35b32a0ce1d87939f043419bae4d88a
(cherry picked from commit 3dafee6c1820bf0946bab04b290c5a757112d3e7)
* changes:
Move Status to libhidl (DO NOT MERGE)
Adds framework support for hidl-gen Java backend. (to support structs) (DO NOT MERGE)
Add Bool* APIs to HwParcel (DO NOT MERGE)
Link against libhidl for HidlSupport/svcmgr (DO NOT MERGE)
Support one-way methods in java support for hardware binder (DO NOT MERGE)
Initial commit of Java support for hardware binder (DO NOT MERGE)
Compiling frameworks source is missing a dependency on the R.stamp file
generated by the frameworks-res aapt rule, likely caused by the switch
to jack. Use LOCAL_ADDITONAL_DEPENDENCIES to insert the dependency
instead of directly using build system internals.
Change-Id: Ifb830da18b3607f87ae283cea04f7d276d4bfde9
The receive timeout stopped being set incorrect due to commit
c80af6d8. There is an associated CTS regression test in cts/.
Test: Ran CTS test android.net.cts.LocalSocketTest
Bug: 31205169
Change-Id: I99808478946f8eae502c49d2cb83465648b9c904
Pulling upstream changes from OpenJDK version jdk8u60 for
java.security.KeyStore.
- New method getAttributes in KeyStore.Entry
- New interface Attribute in KeyStore.Entry
- New constructor specifying protection algorithm and protection parameters in
KeyStore.PasswordProtection.
- New getters for protection algorithm and protection parameters in
KeyStore.PasswordProtection
- In PrivateKeyEntry, SecretKeyEntry and TrustedCertificateEntry, new
constructor allowing to specify attributes, and corresponding getter
getAttributes.
This commit also contains cosmetic JavaDoc changes like
- Use of @code in place of <code> tags.
- Tidied up casts/generics.
This completes the port to jdk8u60 for this class.
Change-Id: Ifec9d07b8f6c367a6fa2672fd5c43747057336ad
Test: make droid docs, vogar KS*{Entry,Password}*.java
Bug: 29631070
Given a Subject, Principal#implies returns true iff the principal
is one of the subject's principals.
Bug: 29631070
Test: make droid docs, vogar PrincipalTest.java
Change-Id: Ic24ca4bc26e29abdb67481af8255b8b1683a6f3a
Also:
- added comments
- replace <code> by @code tags
This completes the port of SecretKey to jdk8u60.
Bug: 29631070
Test: make droid docs
Change-Id: Id3604c1e62855d9fa9bf02a704c79c6d2131b006
The modifications to Class / Field affect the .txt file
for no good reason: the use of a different generic
variable name results in changes because the tools think
methods have been added / removed when they haven't.
The only interface change from upstream included is adding
"extends AnnotatedElement" to GenericDeclaration. All (platform)
subclasses already did implement this interface. App classes may
be affected but only if they do not currently implement those
methods and they are somehow called.
Bug: 28666126
Test: cts ran for libcore (libcore, harmony_java_lang, org)
Change-Id: Ice5afb80834d7f7a4d23dade21a1590c6b323ed8