diff options
author | Rubin Xu <rubinxu@google.com> | 2015-05-12 09:06:09 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-05-12 09:06:14 +0000 |
commit | 9fc8bb63d8c15ecfcd3a72a685eaec6c8ec0aa6e (patch) | |
tree | 6e144a7c4766ff880956a87e2edb7c63369f7af0 /services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java | |
parent | c12e4e468fa8c72875632b11b96b2f67ea98d7c0 (diff) | |
parent | d86d58cd010b087d6d481062f84c894e0ced7bbc (diff) | |
download | frameworks_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.java | 15 |
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; } } |