History log of /frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
fb6cf77a6721f2af4df09b33d649f66ad79559f6 27-May-2016 Nicolas Geoffray <ngeoffray@google.com> Cleanup performDexOpt with instruction sets.

Always use the packages' derived instruction sets.

This fixes a bug where otas and background dexopt would only
look at one instruction set.

bug:28994818

Change-Id: I730b59d24943c71de30adb485a823fd79c6806a6
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
8412cf4daaa437003f4a79a82aa35465c4f0d418 09-May-2016 Calin Juravle <calin@google.com> Revert "Enable profile merging for post-OTA package verification"

This reverts commit 5da9dad2dd04586dbd665e6a73bfee1d0ed92a89.

Bug: 28612421

Change-Id: Idbbb24241362a70b697ae2d648ea47996f5239c6
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
5da9dad2dd04586dbd665e6a73bfee1d0ed92a89 26-Apr-2016 David Brazdil <dbrazdil@google.com> Enable profile merging for post-OTA package verification

Currently post-OTA verification will attempt to compile with
'verify-profile' but does not merge the profiles prior to calling
dex2oat. As a result, we may miss some or all classes that need
verification.

Bug: 27688727
Change-Id: I1aa93cad2686513594cb37f6d3d181ae5c718d1d
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
ace80c56d7c63dadead34539b643f69a1b7336e8 11-Apr-2016 David Brazdil <dbrazdil@google.com> Retry compiling a previously failing package after update

BackgroundDexOptimizer (BDOS) keeps a list of packages it attempted
to compile but dexopt failed. Once such a package is put on the list,
it is never removed from it until reboot.

This CL modifies BDOS to accept notificiations from
PackageManagerService on recently installed packages and removes
their names from the list.

Bug: 28082762
Change-Id: I0c3d3f657bd3ff5f0a61dfeef1d8174ed7be0b74
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
80932c1418f22fa2ab49aa1eea8337b8f29b9bcc 08-Apr-2016 David Brazdil <dbrazdil@google.com> Assume package failed to compile unless proven otherwise

BackgroundDexOptService keeps a list of packages which failed to
compile so that they are not revisited. If compilation takes so long
that the background job is killed, the offending package is not
recorded.

This patch records the package before dexopt is called and removes it
from the list if dexopt succeeds.

Bug: 28082762
Change-Id: If7388e159b999287b60f19dc99cf4dde61ec64c8
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
37a87698f5b13e8d24475cb05d48a3da7339192c 07-Apr-2016 David Brazdil <dbrazdil@google.com> Update packages in post-boot background job

Adds a post-boot job which scans all optimizable packages and updates
those whose OAT files are out of date. This is meant to offset the
fact that on OTA we only update the most used packages.

Bug: 27901338
Change-Id: Ia4d4362ecead1ca63d08d62c6814dad4b810f7cc
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
43fc2447df2354fcb7b843a86b1c266946ca5702 25-Mar-2016 Andreas Gampe <agampe@google.com> PackageManager: Move compilation reasons to PMS

Move the reasons to PackageManagerService (making them public) so
they can be used by clients.

Bug: 27189430
Change-Id: I30e1f823f9297e95c5b1e389004a4fd3052d5702
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
bdd30d86ef98456161069d11481b2ccd25a11b4e 20-Mar-2016 Andreas Gampe <agampe@google.com> Frameworks/base: Refactor package manager

Introduce a mapping between dexopt reasons and compiler filters. Use
reasons in package manager and other classes, where possible.

Change PackageDexOptimizer to accept a compilation filter. Adapt for
the split-out profile merging. Pass compilation filter to installd.

Bug: 27689078
Change-Id: I8c0ea6f10fbfdbd096adecc52abfd2466d048fdc
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
493411ace40a8b4a90be70576f361c5b7515f29d 01-Feb-2016 David Brazdil <dbrazdil@google.com> Add 'package compile' shell command

Bug: 26707406
Change-Id: I554969c9f3b3153179370d3d23a88fa7e8693885
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
a0e10434c49c6fe075e853da2046fd281318c4c4 20-Jan-2016 David Brazdil <dbrazdil@google.com> Extract APKs on install or OTA

ART will unzip APKs in memory during launch if an OAT file is not
present. To save the time and memory, this patch will invoke dex2oat
with '--compiler-filter=verify-at-runtime' to unzip the APK during
install or after an OTA.

Change-Id: I16583f9450ad60356123a29f7a6a649b2ab9999f
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
db4a79a5d7d348e9d2286d95d4e5a59dd484456f 23-Dec-2015 Calin Juravle <calin@google.com> Enable profile guided compilation on the framework side

The background compilation service will trigger a profile based
compilation instead of a full one. If no profile information is
available the compilation is skipped (see installd).

Note that the end decision whether or not to compile a package is taken
by dext2oat. We can't make the decision here because this service runs
under system server which cannot read app's profile data.

Bug: 26080105
Change-Id: I457ea8dea0557839c1f7cdc241770055732b0a4a
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
27c073796978106746e4a51f2100b29068ab37f6 05-Nov-2015 Nicolas Geoffray <ngeoffray@google.com> Remove performBootDexOpt and am's ensurePackageDexOpt.

Except common shared libraries and boot image, all compilations
are now done through BackgroundDexOptService.

Change-Id: Ib736e253c38b0c8085bc94e45f4e61a048f66e26
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
2c9655b3d4c1fb0687baa14730c6d97ab5a56789 12-Jun-2015 Christopher Tate <ctate@google.com> If we're out of space, retry background dexopting later

Give it 4 hours to give the user time to do stuff, then retry;
repeat until we have space to work in.

Bug 20468442

Change-Id: Id4b11abcc38a9e2a50a062f0067a13ce0ae831ad
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
a00be9b4d521287fdf4678fb196c3e3a0053c3e4 12-Dec-2014 Brian Carlstrom <bdc@google.com> Remember failed dexopt to avoid retry

Bug: 18643977
Change-Id: Ida8d9b9ce992d97fb75bccb8c3da0d9d73a480a9
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
9f837a99d48c5bb8ad7fbc133943e5bf622ce065 24-Oct-2014 Jeff Sharkey <jsharkey@android.com> Reduce PackageManager RAM usage: ArrayMap/Set.

Transition PackageManager internals away from heavier HashMap/HashSet
to use drop-in ArrayMap/ArraySet replacements. Saves ~38% RAM and
thousands of objects on a typical device.

Bug: 18115729
Change-Id: Ie107d2fee4b7baa4e3c3923231b4be877d1a5d2f
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
d382be9b220d8f68d095cd5df56c0b900af44f9a 05-Sep-2014 Brian Carlstrom <bdc@google.com> Fix backwards arguments to performDexOpt

Bug: 16696554
Change-Id: I302f8edc8243d3537afd564599cc798708124dbe
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
2053168eb4506e2f8795afdbe9731c6451e1589c 14-Jul-2014 Narayan Kamath <narayan@google.com> Dexopt for Context.createPackageContext when code is included.

The package manager now keeps track of per ISA dex-opt state.

There are two important things to keep in mind here :

- dexopt can potentially be very slow. In cases where the target
package hasn't been dexopted yet, this can take multiple seconds
and may cause an ANR in the caller if the context is being
created from the main thread.
- We will need to remove the constraint that dexopt can only be
requested by the system (or root). Apps will implicitly be
requesting dexopt by asking for package contexts with code included.
It's important to note that unlike dalvik, the dexopt stage in ART
isn't optional. ART cannot load classes directly from dex files.

bug: 15313272
Change-Id: I0bd6c323a9c1f62f1c08f6292b7f0f7f08942726
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
1b8b3aa265190e84467f740e99a0ade3a0e3cd67 20-Jun-2014 Christopher Tate <ctate@google.com> Fix BackgroundDexOptService scheduled job

1) use the right package name in the ComponentName
2) use a unique-within-package job ID

Also put the full component name in dumpsys, not just the package name

Change-Id: Icf6edabf45573ba72a1adf86b6f83baba57fc593
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
cf1a2f73fc102be2ac7060ac97d4682bb2565ca5 17-Jun-2014 Christopher Tate <ctate@google.com> Switch everything to scheduled jobs

Everything that used the IdleMaintenance APIs/broadcasts gets to use the
spiffy new JobScheduler instead. Hooray!

On top of that, the now-obsolete "idle maintenance" APIs are now gone
entirely. Double hooray!

Bug 14993295

Change-Id: I5fb67c296ca8cd0ba8a2c8760a0f0d9d962d813b
/frameworks/base/services/core/java/com/android/server/pm/BackgroundDexOptService.java
dfad99ad9fd5953b9d726715c40197a3e70e7dd0 08-May-2014 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of 0b5598c9 to master

Change-Id: Ie911d6b0b5e2b87e2b4669fa2465a82bb5807893