Refactor PrimaryDexOptimizer to prepare for secondary dex compilation.

This CL extracts common dex compilation logic into a base class
DexOptimizer, and only leave primary-dex-specific logic in
PrimaryDexOptimizer.

This is a no-op change. It only moves code around.

Bug: 249984283
Test: atest ArtServiceTests
Ignore-AOSP-First: ART Services.
Change-Id: Ifca8ef1f8079afb4d8ce0826f0f9e4c21c3ce1d8
diff --git a/libartservice/service/javatests/com/android/server/art/DexOptHelperTest.java b/libartservice/service/javatests/com/android/server/art/DexOptHelperTest.java
index a001e74..b8faf09 100644
--- a/libartservice/service/javatests/com/android/server/art/DexOptHelperTest.java
+++ b/libartservice/service/javatests/com/android/server/art/DexOptHelperTest.java
@@ -90,7 +90,6 @@
 
     @Before
     public void setUp() throws Exception {
-        lenient().when(mInjector.getPrimaryDexOptimizer()).thenReturn(mPrimaryDexOptimizer);
         lenient().when(mInjector.getAppHibernationManager()).thenReturn(mAhm);
         lenient().when(mInjector.getPowerManager()).thenReturn(mPowerManager);
 
@@ -105,14 +104,17 @@
         mPkg = mPkgState.getAndroidPackage();
         mCancellationSignal = new CancellationSignal();
 
+        lenient()
+                .when(mInjector.getPrimaryDexOptimizer(
+                        same(mPkgState), same(mPkg), same(mParams), same(mCancellationSignal)))
+                .thenReturn(mPrimaryDexOptimizer);
+
         mDexOptHelper = new DexOptHelper(mInjector);
     }
 
     @Test
     public void testDexopt() throws Exception {
-        when(mPrimaryDexOptimizer.dexopt(
-                     same(mPkgState), same(mPkg), same(mParams), same(mCancellationSignal)))
-                .thenReturn(mPrimaryResults);
+        when(mPrimaryDexOptimizer.dexopt()).thenReturn(mPrimaryResults);
 
         OptimizeResult result = mDexOptHelper.dexopt(
                 mock(PackageManagerLocal.FilteredSnapshot.class), mPkgState, mPkg, mParams,
@@ -130,7 +132,7 @@
 
         InOrder inOrder = inOrder(mPrimaryDexOptimizer, mWakeLock);
         inOrder.verify(mWakeLock).acquire(anyLong());
-        inOrder.verify(mPrimaryDexOptimizer).dexopt(any(), any(), any(), any());
+        inOrder.verify(mPrimaryDexOptimizer).dexopt();
         inOrder.verify(mWakeLock).release();
     }
 
@@ -165,9 +167,7 @@
         lenient().when(mAhm.isHibernatingGlobally(PKG_NAME)).thenReturn(true);
         lenient().when(mAhm.isOatArtifactDeletionEnabled()).thenReturn(false);
 
-        when(mPrimaryDexOptimizer.dexopt(
-                     same(mPkgState), same(mPkg), same(mParams), same(mCancellationSignal)))
-                .thenReturn(mPrimaryResults);
+        when(mPrimaryDexOptimizer.dexopt()).thenReturn(mPrimaryResults);
 
         OptimizeResult result = mDexOptHelper.dexopt(
                 mock(PackageManagerLocal.FilteredSnapshot.class), mPkgState, mPkg, mParams,
@@ -179,9 +179,7 @@
 
     @Test
     public void testDexoptAlwaysReleasesWakeLock() throws Exception {
-        when(mPrimaryDexOptimizer.dexopt(
-                     same(mPkgState), same(mPkg), same(mParams), same(mCancellationSignal)))
-                .thenThrow(IllegalStateException.class);
+        when(mPrimaryDexOptimizer.dexopt()).thenThrow(IllegalStateException.class);
 
         try {
             mDexOptHelper.dexopt(mock(PackageManagerLocal.FilteredSnapshot.class), mPkgState, mPkg,