summaryrefslogtreecommitdiffstats
path: root/core/java/android/app
diff options
context:
space:
mode:
authorJulia Reynolds <juliacr@google.com>2015-03-05 10:06:41 -0500
committerJulia Reynolds <juliacr@google.com>2015-03-05 11:47:14 -0500
commit1c3754a35c434e4102c7ac3dceb887fa137b153b (patch)
treedd71ae5dbf0bd6181abb4ed6cf688be0a39b6b97 /core/java/android/app
parentaf3435481214b839fc462fcfe5e5ff378a31fb91 (diff)
downloadframeworks_base-1c3754a35c434e4102c7ac3dceb887fa137b153b.zip
frameworks_base-1c3754a35c434e4102c7ac3dceb887fa137b153b.tar.gz
frameworks_base-1c3754a35c434e4102c7ac3dceb887fa137b153b.tar.bz2
Add security check for clearDeviceInitializer in the service.
Bug: 19230954 Change-Id: I5c648492bef0d2b579b6f59b91afc890e3092d36
Diffstat (limited to 'core/java/android/app')
-rw-r--r--core/java/android/app/admin/DevicePolicyManager.java8
-rw-r--r--core/java/android/app/admin/IDevicePolicyManager.aidl2
2 files changed, 6 insertions, 4 deletions
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index add7130..3d587b6 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -2476,12 +2476,14 @@ public class DevicePolicyManager {
/**
* Removes the device initializer, so that it will not be invoked on user initialization for any
* subsequently created users. This method can be called by either the device owner or device
- * initializer itself.
+ * initializer itself. The caller must be an active administrator.
+ *
+ * @param who Which {@link DeviceAdminReceiver} this request is associated with.
*/
- public void clearDeviceInitializerApp() {
+ public void clearDeviceInitializerApp(ComponentName who) {
if (mService != null) {
try {
- mService.clearDeviceInitializer(mContext.getPackageName());
+ mService.clearDeviceInitializer(who);
} catch (RemoteException re) {
Log.w(TAG, "Failed to clear device initializer");
}
diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl
index 5e58fe0..5cbab4b 100644
--- a/core/java/android/app/admin/IDevicePolicyManager.aidl
+++ b/core/java/android/app/admin/IDevicePolicyManager.aidl
@@ -202,7 +202,7 @@ interface IDevicePolicyManager {
boolean setUserEnabled(in ComponentName who);
boolean isDeviceInitializer(String packageName);
- void clearDeviceInitializer(String packageName);
+ void clearDeviceInitializer(in ComponentName who);
boolean setDeviceInitializer(in ComponentName who, in ComponentName initializer, String initializerName);
String getDeviceInitializer();
}