Implement app downgrading.
Also:
- Filter the default package list by last active time and sort it in
descending order.
Bug: 255565888
Test: atest ArtServiceTests
Test: -
1. Fill the storage space by `fallocate`.
2. adb shell setprop pm.dexopt.downgrade_after_inactive_days 1
3. adb shell pm art bg-dexopt-job
4. See some apps being downgraded and the other apps being optimized.
Ignore-AOSP-First: ART Services.
Change-Id: I8594f67aa10da5bc907c92bb7b0d1aaf095d3c33
diff --git a/libartservice/service/java/com/android/server/art/DexOptimizer.java b/libartservice/service/java/com/android/server/art/DexOptimizer.java
index c9b5f8d..6f3f7f1 100644
--- a/libartservice/service/java/com/android/server/art/DexOptimizer.java
+++ b/libartservice/service/java/com/android/server/art/DexOptimizer.java
@@ -652,6 +652,12 @@
public Injector(@NonNull Context context) {
mContext = context;
+
+ // Call the getters for various dependencies, to ensure correct initialization order.
+ getUserManager();
+ getDexUseManager();
+ getStorageManager();
+ ArtModuleServiceInitializer.getArtModuleServiceManager();
}
public boolean isSystemUiPackage(@NonNull String packageName) {