diff --git a/api/current.txt b/api/current.txt index d5e17da4cb289..9b5c3768095e5 100644 --- a/api/current.txt +++ b/api/current.txt @@ -72,6 +72,7 @@ package android { field public static final java.lang.String LOCATION_HARDWARE = "android.permission.LOCATION_HARDWARE"; field public static final java.lang.String MANAGE_ACCOUNTS = "android.permission.MANAGE_ACCOUNTS"; field public static final java.lang.String MANAGE_APP_TOKENS = "android.permission.MANAGE_APP_TOKENS"; + field public static final java.lang.String MANAGE_DEVICE_ADMINS = "android.permission.MANAGE_DEVICE_ADMINS"; field public static final java.lang.String MANAGE_DOCUMENTS = "android.permission.MANAGE_DOCUMENTS"; field public static final java.lang.String MASTER_CLEAR = "android.permission.MASTER_CLEAR"; field public static final java.lang.String MODIFY_AUDIO_SETTINGS = "android.permission.MODIFY_AUDIO_SETTINGS"; diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index fb8359b81318c..378bce63414d9 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -1901,6 +1901,13 @@ android:description="@string/permdesc_bindDeviceAdmin" android:protectionLevel="signature" /> + + + diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index b01b50e98ca01..8743119ad8053 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -1020,6 +1020,12 @@ Allows the holder to send intents to a device administrator. Should never be needed for normal apps. + + add or remove a device admin + + Allows the holder to add or remove active device + administrators. Should never be needed for normal apps. + change screen orientation diff --git a/packages/Keyguard/AndroidManifest.xml b/packages/Keyguard/AndroidManifest.xml index 7d77c48b5636d..7039d6d27d52c 100644 --- a/packages/Keyguard/AndroidManifest.xml +++ b/packages/Keyguard/AndroidManifest.xml @@ -35,6 +35,7 @@ + diff --git a/services/java/com/android/server/DevicePolicyManagerService.java b/services/java/com/android/server/DevicePolicyManagerService.java index 7ecd2c0364e50..4c8100628805d 100644 --- a/services/java/com/android/server/DevicePolicyManagerService.java +++ b/services/java/com/android/server/DevicePolicyManagerService.java @@ -1043,7 +1043,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { */ public void setActiveAdmin(ComponentName adminReceiver, boolean refreshing, int userHandle) { mContext.enforceCallingOrSelfPermission( - android.Manifest.permission.BIND_DEVICE_ADMIN, null); + android.Manifest.permission.MANAGE_DEVICE_ADMINS, null); enforceCrossUserPermission(userHandle); DevicePolicyData policy = getUserData(userHandle); @@ -1146,7 +1146,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { return; } mContext.enforceCallingOrSelfPermission( - android.Manifest.permission.BIND_DEVICE_ADMIN, null); + android.Manifest.permission.MANAGE_DEVICE_ADMINS, null); } long ident = Binder.clearCallingIdentity(); try {