Merge "Add DPM constant - Hibernation Exemption AppOp"

This commit is contained in:
Alex Johnston
2023-02-13 20:12:32 +00:00
committed by Android (Google) Code Review
3 changed files with 15 additions and 1 deletions

View File

@@ -1287,6 +1287,7 @@ package android.app.admin {
field public static final int EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION = 2; // 0x2
field public static final int EXEMPT_FROM_APP_STANDBY = 0; // 0x0
field public static final int EXEMPT_FROM_DISMISSIBLE_NOTIFICATIONS = 1; // 0x1
field public static final int EXEMPT_FROM_HIBERNATION = 3; // 0x3
field public static final String EXTRA_FORCE_UPDATE_ROLE_HOLDER = "android.app.extra.FORCE_UPDATE_ROLE_HOLDER";
field public static final String EXTRA_LOST_MODE_LOCATION = "android.app.extra.LOST_MODE_LOCATION";
field public static final String EXTRA_PROFILE_OWNER_NAME = "android.app.extra.PROFILE_OWNER_NAME";

View File

@@ -3895,6 +3895,14 @@ public class DevicePolicyManager {
@SystemApi
public static final int EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION = 2;
/**
* Prevent an app from entering hibernation.
*
* @hide
*/
@SystemApi
public static final int EXEMPT_FROM_HIBERNATION = 3;
/**
* Exemptions to platform restrictions, given to an application through
* {@link #setApplicationExemptions(String, Set)}.
@@ -3904,7 +3912,8 @@ public class DevicePolicyManager {
@IntDef(prefix = { "EXEMPT_FROM_"}, value = {
EXEMPT_FROM_APP_STANDBY,
EXEMPT_FROM_DISMISSIBLE_NOTIFICATIONS,
EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION
EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION,
EXEMPT_FROM_HIBERNATION
})
@Retention(RetentionPolicy.SOURCE)
public @interface ApplicationExemptionConstants {}

View File

@@ -33,6 +33,7 @@ import static android.app.AppOpsManager.MODE_DEFAULT;
import static android.app.AppOpsManager.OPSTR_SYSTEM_EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION;
import static android.app.AppOpsManager.OPSTR_SYSTEM_EXEMPT_FROM_APP_STANDBY;
import static android.app.AppOpsManager.OPSTR_SYSTEM_EXEMPT_FROM_DISMISSIBLE_NOTIFICATIONS;
import static android.app.AppOpsManager.OPSTR_SYSTEM_EXEMPT_FROM_HIBERNATION;
import static android.app.admin.DeviceAdminInfo.HEADLESS_DEVICE_OWNER_MODE_AFFILIATED;
import static android.app.admin.DeviceAdminReceiver.ACTION_COMPLIANCE_ACKNOWLEDGEMENT_REQUIRED;
import static android.app.admin.DeviceAdminReceiver.EXTRA_TRANSFER_OWNERSHIP_ADMIN_EXTRAS_BUNDLE;
@@ -61,6 +62,7 @@ import static android.app.admin.DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE_PER
import static android.app.admin.DevicePolicyManager.EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION;
import static android.app.admin.DevicePolicyManager.EXEMPT_FROM_APP_STANDBY;
import static android.app.admin.DevicePolicyManager.EXEMPT_FROM_DISMISSIBLE_NOTIFICATIONS;
import static android.app.admin.DevicePolicyManager.EXEMPT_FROM_HIBERNATION;
import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE;
import static android.app.admin.DevicePolicyManager.EXTRA_RESOURCE_IDS;
import static android.app.admin.DevicePolicyManager.EXTRA_RESOURCE_TYPE;
@@ -727,6 +729,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
APPLICATION_EXEMPTION_CONSTANTS_TO_APP_OPS.put(
EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION,
OPSTR_SYSTEM_EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION);
APPLICATION_EXEMPTION_CONSTANTS_TO_APP_OPS.put(
EXEMPT_FROM_HIBERNATION, OPSTR_SYSTEM_EXEMPT_FROM_HIBERNATION);
}
/**