Merge "Ensure hibernation exemption toggle uses pre-S flag" into sc-dev

This commit is contained in:
Rajeev Kumar
2021-05-26 16:46:58 +00:00
committed by Android (Google) Code Review
3 changed files with 30 additions and 2 deletions

View File

@@ -23,6 +23,7 @@ import static android.app.AppOpsManager.OPSTR_AUTO_REVOKE_PERMISSIONS_IF_UNUSED;
import static android.provider.DeviceConfig.NAMESPACE_APP_HIBERNATION;
import static com.android.settings.Utils.PROPERTY_APP_HIBERNATION_ENABLED;
import static com.android.settings.Utils.PROPERTY_HIBERNATION_TARGETS_PRE_S_APPS;
import android.app.AppOpsManager;
import android.content.Context;
@@ -95,8 +96,11 @@ public final class HibernationSwitchPreferenceController extends AppInfoPreferen
: android.os.Build.VERSION_CODES.Q;
try {
mPackageUid = packageManager.getPackageUid(packageName, /* flags */ 0);
mIsPackageExemptByDefault = packageManager.getTargetSdkVersion(packageName)
<= maxTargetSdkVersionForExemptApps;
mIsPackageExemptByDefault =
hibernationTargetsPreSApps()
? false
: packageManager.getTargetSdkVersion(packageName)
<= maxTargetSdkVersionForExemptApps;
mIsPackageSet = true;
} catch (PackageManager.NameNotFoundException e) {
Slog.w(TAG, "Package [" + mPackageName + "] is not found!");
@@ -142,4 +146,9 @@ public final class HibernationSwitchPreferenceController extends AppInfoPreferen
return DeviceConfig.getBoolean(
NAMESPACE_APP_HIBERNATION, PROPERTY_APP_HIBERNATION_ENABLED, false);
}
private static boolean hibernationTargetsPreSApps() {
return DeviceConfig.getBoolean(
NAMESPACE_APP_HIBERNATION, PROPERTY_HIBERNATION_TARGETS_PRE_S_APPS, false);
}
}