Move notifyDexContainersLoaded out of ArtManagerLocal.
notifyDexContainersLoaded and other methods in ArtManagerLocal don't
share the same lifetime, so they should be in different classes.
Bug: 254043366
Test: atest ArtServiceTests
Ignore-AOSP-First: ART Services.
Change-Id: I99206f1e8d23926564c75d789730bdefd765a6a5
diff --git a/libartservice/service/java/com/android/server/art/DexOptimizer.java b/libartservice/service/java/com/android/server/art/DexOptimizer.java
index 2096977..21333a5 100644
--- a/libartservice/service/java/com/android/server/art/DexOptimizer.java
+++ b/libartservice/service/java/com/android/server/art/DexOptimizer.java
@@ -37,6 +37,7 @@
import android.util.Pair;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.server.LocalManagerRegistry;
import com.android.server.art.model.ArtFlags;
import com.android.server.art.model.DetailedDexInfo;
import com.android.server.art.model.OptimizeParams;
@@ -643,8 +644,9 @@
}
@NonNull
- public DexUseManager getDexUseManager() {
- return DexUseManager.getInstance();
+ public DexUseManagerLocal getDexUseManager() {
+ return Objects.requireNonNull(
+ LocalManagerRegistry.getManager(DexUseManagerLocal.class));
}
@NonNull