Skip to content
Commit 7cd8c253 authored by Kevin Han's avatar Kevin Han
Browse files

Exempt hibernating apps from dex optimization

We previously only checked whether an app could be optimized in
PackageManagerService#getOptimizablePackages. This missed edge cases
where the app would still generate vdex/odex such as when the app is
updated.

We fix this by considering any hibernating app as not optimizable in all
cases.

To support unit testing, we also change canOptimizePackage to a
non-static method and enumerate PackageDexOptimizer's dependencies
clearly with an injector.

Bug: 203693378
Test: Reproduce steps in bug, confirm app does not have vdex/odex
Test: atest PackageManagerServiceHibernationTests
Test: forrest run of asit/dexoptota/self_full
Change-Id: I6b88713529a570f285422e6716ad797e2148ce2c
parent b9254c2b
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment