summaryrefslogtreecommitdiffstats
path: root/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
diff options
context:
space:
mode:
authorRubin Xu <rubinxu@google.com>2015-05-12 09:06:09 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-05-12 09:06:14 +0000
commit9fc8bb63d8c15ecfcd3a72a685eaec6c8ec0aa6e (patch)
tree6e144a7c4766ff880956a87e2edb7c63369f7af0 /services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
parentc12e4e468fa8c72875632b11b96b2f67ea98d7c0 (diff)
parentd86d58cd010b087d6d481062f84c894e0ced7bbc (diff)
downloadframeworks_base-9fc8bb63d8c15ecfcd3a72a685eaec6c8ec0aa6e.zip
frameworks_base-9fc8bb63d8c15ecfcd3a72a685eaec6c8ec0aa6e.tar.gz
frameworks_base-9fc8bb63d8c15ecfcd3a72a685eaec6c8ec0aa6e.tar.bz2
Merge "Tweak SystemUpdatePolicy according to API review." into mnc-dev
Diffstat (limited to 'services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java')
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index c6816b0..ba5d666 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -39,6 +39,7 @@ import android.app.admin.DeviceAdminReceiver;
import android.app.admin.DevicePolicyManager;
import android.app.admin.DevicePolicyManagerInternal;
import android.app.admin.IDevicePolicyManager;
+import android.app.admin.SystemUpdatePolicy;
import android.app.backup.IBackupManager;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
@@ -6238,7 +6239,10 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
}
@Override
- public void setSystemUpdatePolicy(ComponentName who, PersistableBundle policy) {
+ public void setSystemUpdatePolicy(ComponentName who, SystemUpdatePolicy policy) {
+ if (policy != null && !policy.isValid()) {
+ throw new IllegalArgumentException("Invalid system update policy.");
+ }
synchronized (this) {
getActiveAdminForCallerLocked(who, DeviceAdminInfo.USES_POLICY_DEVICE_OWNER);
if (policy == null) {
@@ -6254,9 +6258,14 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
}
@Override
- public PersistableBundle getSystemUpdatePolicy() {
+ public SystemUpdatePolicy getSystemUpdatePolicy() {
synchronized (this) {
- return mDeviceOwner.getSystemUpdatePolicy();
+ SystemUpdatePolicy policy = mDeviceOwner.getSystemUpdatePolicy();
+ if (policy != null && !policy.isValid()) {
+ Slog.w(LOG_TAG, "Stored system update policy is invalid, return null instead.");
+ return null;
+ }
+ return policy;
}
}