Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e52db912 authored by Mathew Inwood's avatar Mathew Inwood Committed by android-build-merger
Browse files

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

am: c6d9f7ce

Change-Id: I397333316f8afaee0e2591afdf336325532bd2ed
parents 33a0fe9d c6d9f7ce
Loading
Loading
Loading
Loading
+22 −4
Original line number Diff line number Diff line
@@ -1654,13 +1654,31 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
        }
    }

    private boolean isPackageWhitelistedForHiddenApis() {
        return SystemConfig.getInstance().getHiddenApiWhitelistedApps().contains(packageName);
    }

    /**
     * @hide
     */
    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 boolean isAllowedToUseHiddenApi() {
        boolean whitelisted =
                SystemConfig.getInstance().getHiddenApiWhitelistedApps().contains(packageName);
        return whitelisted && (isSystemApp() || isUpdatedSystemApp());
    public void setHiddenApiEnforcementPolicy(@HiddenApiEnforcementPolicy int policy) {
        if (!isValidHiddenApiEnforcementPolicy(policy)) {
            throw new IllegalArgumentException("Invalid API enforcement policy: " + policy);
        }
        mHiddenApiPolicy = policy;
    }

    /**