Expose `optimizePackage` and fix API lint errors.
Changes:
1. Rename `OptimizeOptions` to `OptimizeParams` (enforced by
https://cs.android.com/android/platform/superproject/+/master:tools/metalava/src/main/java/com/android/tools/metalava/ApiLint.kt;l=2405;drc=26ec88f1d22ddd33c30aec46b1a5a50339e3c159)
2. Change the backing type of `PriorityClass` from `byte` to `int`.
3. Duplicate the keys of `PriorityClass` as `PriorityClassApi` to be
exposed as API.
4. Use a bit field `OptimizeParams.mFlags` instead of booleans and
change flag handling.
Bug: 229268202
Test: m update-api
Ignore-AOSP-First: ART Services
Change-Id: I12e497c46ec68f347b76b34920ba2f7405263aa9
diff --git a/libartservice/service/javatests/com/android/server/art/DexOptHelperTest.java b/libartservice/service/javatests/com/android/server/art/DexOptHelperTest.java
index e68f21b..1b9c852 100644
--- a/libartservice/service/javatests/com/android/server/art/DexOptHelperTest.java
+++ b/libartservice/service/javatests/com/android/server/art/DexOptHelperTest.java
@@ -36,7 +36,7 @@
import androidx.test.filters.SmallTest;
-import com.android.server.art.model.OptimizeOptions;
+import com.android.server.art.model.OptimizeParams;
import com.android.server.art.model.OptimizeResult;
import com.android.server.art.testing.OnSuccessRule;
import com.android.server.art.wrapper.AndroidPackageApi;
@@ -71,8 +71,8 @@
verifyNoMoreInteractions(mPrimaryDexOptimizer);
});
- private final OptimizeOptions mOptions =
- new OptimizeOptions.Builder("install").setCompilerFilter("speed-profile").build();
+ private final OptimizeParams mParams =
+ new OptimizeParams.Builder("install").setCompilerFilter("speed-profile").build();
private final List<DexFileOptimizeResult> mPrimaryResults =
List.of(new DexFileOptimizeResult("/data/app/foo/base.apk", "arm64", "verify",
OptimizeResult.OPTIMIZE_PERFORMED),
@@ -95,11 +95,11 @@
@Test
public void testDexopt() throws Exception {
- when(mPrimaryDexOptimizer.dexopt(same(mPkgState), same(mPkg), same(mOptions)))
+ when(mPrimaryDexOptimizer.dexopt(same(mPkgState), same(mPkg), same(mParams)))
.thenReturn(mPrimaryResults);
OptimizeResult result =
- mDexOptHelper.dexopt(mock(PackageDataSnapshot.class), mPkgState, mPkg, mOptions);
+ mDexOptHelper.dexopt(mock(PackageDataSnapshot.class), mPkgState, mPkg, mParams);
assertThat(result.getPackageName()).isEqualTo(PKG_NAME);
assertThat(result.getRequestedCompilerFilter()).isEqualTo("speed-profile");
@@ -113,7 +113,7 @@
when(mPkg.isHasCode()).thenReturn(false);
OptimizeResult result =
- mDexOptHelper.dexopt(mock(PackageDataSnapshot.class), mPkgState, mPkg, mOptions);
+ mDexOptHelper.dexopt(mock(PackageDataSnapshot.class), mPkgState, mPkg, mParams);
assertThat(result.getFinalStatus()).isEqualTo(OptimizeResult.OPTIMIZE_SKIPPED);
assertThat(result.getDexFileOptimizeResults()).isEmpty();
@@ -125,11 +125,11 @@
lenient().when(mAhm.isHibernatingGlobally(PKG_NAME)).thenReturn(false);
lenient().when(mAhm.isOatArtifactDeletionEnabled()).thenReturn(true);
- when(mPrimaryDexOptimizer.dexopt(same(mPkgState), same(mPkg), same(mOptions)))
+ when(mPrimaryDexOptimizer.dexopt(same(mPkgState), same(mPkg), same(mParams)))
.thenReturn(mPrimaryResults);
OptimizeResult result =
- mDexOptHelper.dexopt(mock(PackageDataSnapshot.class), mPkgState, mPkg, mOptions);
+ mDexOptHelper.dexopt(mock(PackageDataSnapshot.class), mPkgState, mPkg, mParams);
assertThat(result.getDexFileOptimizeResults()).containsExactlyElementsIn(mPrimaryResults);
}
@@ -141,7 +141,7 @@
lenient().when(mAhm.isOatArtifactDeletionEnabled()).thenReturn(true);
OptimizeResult result =
- mDexOptHelper.dexopt(mock(PackageDataSnapshot.class), mPkgState, mPkg, mOptions);
+ mDexOptHelper.dexopt(mock(PackageDataSnapshot.class), mPkgState, mPkg, mParams);
assertThat(result.getFinalStatus()).isEqualTo(OptimizeResult.OPTIMIZE_SKIPPED);
assertThat(result.getDexFileOptimizeResults()).isEmpty();
@@ -153,11 +153,11 @@
lenient().when(mAhm.isHibernatingGlobally(PKG_NAME)).thenReturn(true);
lenient().when(mAhm.isOatArtifactDeletionEnabled()).thenReturn(false);
- when(mPrimaryDexOptimizer.dexopt(same(mPkgState), same(mPkg), same(mOptions)))
+ when(mPrimaryDexOptimizer.dexopt(same(mPkgState), same(mPkg), same(mParams)))
.thenReturn(mPrimaryResults);
OptimizeResult result =
- mDexOptHelper.dexopt(mock(PackageDataSnapshot.class), mPkgState, mPkg, mOptions);
+ mDexOptHelper.dexopt(mock(PackageDataSnapshot.class), mPkgState, mPkg, mParams);
assertThat(result.getDexFileOptimizeResults()).containsExactlyElementsIn(mPrimaryResults);
}
@@ -169,11 +169,11 @@
when(mPowerManager.newWakeLock(eq(PowerManager.PARTIAL_WAKE_LOCK), any()))
.thenReturn(wakeLock);
- when(mPrimaryDexOptimizer.dexopt(same(mPkgState), same(mPkg), same(mOptions)))
+ when(mPrimaryDexOptimizer.dexopt(same(mPkgState), same(mPkg), same(mParams)))
.thenReturn(mPrimaryResults);
OptimizeResult result =
- mDexOptHelper.dexopt(mock(PackageDataSnapshot.class), mPkgState, mPkg, mOptions);
+ mDexOptHelper.dexopt(mock(PackageDataSnapshot.class), mPkgState, mPkg, mParams);
InOrder inOrder = inOrder(mPrimaryDexOptimizer, wakeLock);
inOrder.verify(wakeLock).acquire(anyLong());
@@ -188,12 +188,12 @@
when(mPowerManager.newWakeLock(eq(PowerManager.PARTIAL_WAKE_LOCK), any()))
.thenReturn(wakeLock);
- when(mPrimaryDexOptimizer.dexopt(same(mPkgState), same(mPkg), same(mOptions)))
+ when(mPrimaryDexOptimizer.dexopt(same(mPkgState), same(mPkg), same(mParams)))
.thenThrow(IllegalStateException.class);
try {
- OptimizeResult result = mDexOptHelper.dexopt(
- mock(PackageDataSnapshot.class), mPkgState, mPkg, mOptions);
+ OptimizeResult result =
+ mDexOptHelper.dexopt(mock(PackageDataSnapshot.class), mPkgState, mPkg, mParams);
} catch (Exception e) {
}