Merge "More flexible API enforcement policy." into pi-dev

am: c6d9f7ce1d

Change-Id: I397333316f8afaee0e2591afdf336325532bd2ed
This commit is contained in:
Mathew Inwood
2018-03-27 10:51:21 +00:00
committed by android-build-merger

View File

@@ -1654,13 +1654,31 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
}
}
private boolean isPackageWhitelistedForHiddenApis() {
return SystemConfig.getInstance().getHiddenApiWhitelistedApps().contains(packageName);
}
/**
* @hide
*/
public boolean isAllowedToUseHiddenApi() {
boolean whitelisted =
SystemConfig.getInstance().getHiddenApiWhitelistedApps().contains(packageName);
return whitelisted && (isSystemApp() || isUpdatedSystemApp());
public @HiddenApiEnforcementPolicy int getHiddenApiEnforcementPolicy() {
if (mHiddenApiPolicy != HIDDEN_API_ENFORCEMENT_DEFAULT) {
return mHiddenApiPolicy;
}
if (isPackageWhitelistedForHiddenApis() && (isSystemApp() || isUpdatedSystemApp())) {
return HIDDEN_API_ENFORCEMENT_NONE;
}
return HIDDEN_API_ENFORCEMENT_BLACK;
}
/**
* @hide
*/
public void setHiddenApiEnforcementPolicy(@HiddenApiEnforcementPolicy int policy) {
if (!isValidHiddenApiEnforcementPolicy(policy)) {
throw new IllegalArgumentException("Invalid API enforcement policy: " + policy);
}
mHiddenApiPolicy = policy;
}
/**