Use PM API to determine hidden API policy.
The new API is introduced by
commit 1114385e48cf688cb44db5521e91233606adc066.
Compared to our own implementation, the API takes the system config into
account, which we can't do ourselves.
Bug: 229268202
Test: atest ArtServiceTests
Ignore-AOSP-First: ART Services.
Change-Id: I0f3abea212f93036857050feed7d01662d0f1fa8
diff --git a/libartservice/service/java/com/android/server/art/DexOptimizer.java b/libartservice/service/java/com/android/server/art/DexOptimizer.java
index 6f3f7f1..d2d2069 100644
--- a/libartservice/service/java/com/android/server/art/DexOptimizer.java
+++ b/libartservice/service/java/com/android/server/art/DexOptimizer.java
@@ -27,6 +27,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.Context;
+import android.content.pm.ApplicationInfo;
import android.os.CancellationSignal;
import android.os.RemoteException;
import android.os.ServiceSpecificException;
@@ -372,14 +373,8 @@
}
private boolean isHiddenApiPolicyEnabled() {
- if (mPkg.isSignedWithPlatformKey()) {
- return false;
- }
- if (mPkgState.isSystem() || mPkgState.isUpdatedSystemApp()) {
- // TODO(b/236389629): Check whether the app is in hidden api whitelist.
- return !mPkg.isUsesNonSdkApi();
- }
- return true;
+ return mPkgState.getHiddenApiEnforcementPolicy()
+ != ApplicationInfo.HIDDEN_API_ENFORCEMENT_DISABLED;
}
@NonNull