summaryrefslogtreecommitdiffstats
path: root/services/devicepolicy
diff options
context:
space:
mode:
authorRicardo Cerqueira <ricardo@cyngn.com>2015-08-17 01:54:30 +0100
committerSteve Kondik <steve@cyngn.com>2015-10-27 15:12:09 -0700
commit92bc5ca1d0720d26b0243f4ab5e350886b55ca84 (patch)
tree05c165750c3f4fd99f528ef224b1678a61f411fa /services/devicepolicy
parent0027f56e24616d7a5c62573fd2dd194f91af7110 (diff)
downloadframeworks_base-92bc5ca1d0720d26b0243f4ab5e350886b55ca84.zip
frameworks_base-92bc5ca1d0720d26b0243f4ab5e350886b55ca84.tar.gz
frameworks_base-92bc5ca1d0720d26b0243f4ab5e350886b55ca84.tar.bz2
DevicePolicy: Restore backup manager if the device owner is cleared
Change I3fe54e43324c15dabd56834a923e8e8cb4eea98d permanently disables the backup manager when a device owner is set. Put the service back if the owner is cleared Addresses CYNGNOS-779 Fixes android.security.cts.ServicePermissionsTest#testDumpProtected when run after com.android.cts.devicepolicy.DeviceOwnerTest#testKeyManagement Change-Id: I1c5bc39f6feb6be03975cedc16185378bbc28473
Diffstat (limited to 'services/devicepolicy')
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index c1a4243..3b8d3c4 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -4263,6 +4263,14 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
mDeviceOwner.clearDeviceOwner();
mDeviceOwner.writeOwnerFile();
updateDeviceOwnerLocked();
+ // Restore backup manager.
+ try {
+ IBackupManager ibm = IBackupManager.Stub.asInterface(
+ ServiceManager.getService(Context.BACKUP_SERVICE));
+ ibm.setBackupServiceActive(UserHandle.USER_OWNER, true);
+ } catch (RemoteException e) {
+ throw new IllegalStateException("Failed activating backup service.", e);
+ }
}
}
}