summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorZoltan Szatmary-Ban <szatmz@google.com>2014-11-13 20:49:43 +0000
committerZoltan Szatmary-Ban <szatmz@google.com>2014-11-13 20:49:43 +0000
commit26ac6a6fd0ef43803c6edd786c8f1fa715ae3cca (patch)
tree5643e83a996ea6672038537489279d5575b68044 /services
parent201caf57f9a9699e04620eac9b1fcdaf4338d2f0 (diff)
downloadframeworks_base-26ac6a6fd0ef43803c6edd786c8f1fa715ae3cca.zip
frameworks_base-26ac6a6fd0ef43803c6edd786c8f1fa715ae3cca.tar.gz
frameworks_base-26ac6a6fd0ef43803c6edd786c8f1fa715ae3cca.tar.bz2
Shutdown backup manager service when device owner is set
Bug: 16641441 Change-Id: I3fe54e43324c15dabd56834a923e8e8cb4eea98d
Diffstat (limited to 'services')
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java13
1 files changed, 13 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 0713772..6bf2606 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -34,6 +34,7 @@ import android.app.admin.DeviceAdminReceiver;
import android.app.admin.DevicePolicyManager;
import android.app.admin.DevicePolicyManagerInternal;
import android.app.admin.IDevicePolicyManager;
+import android.app.backup.IBackupManager;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.ContentResolver;
@@ -3650,6 +3651,18 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
"Trying to set device owner but device owner is already set.");
}
+ // Shutting down backup manager service permanently.
+ long ident = Binder.clearCallingIdentity();
+ try {
+ IBackupManager ibm = IBackupManager.Stub.asInterface(
+ ServiceManager.getService(Context.BACKUP_SERVICE));
+ ibm.setBackupServiceActive(UserHandle.USER_OWNER, false);
+ } catch (RemoteException e) {
+ throw new IllegalStateException("Failed deactivating backup service.", e);
+ } finally {
+ Binder.restoreCallingIdentity(ident);
+ }
+
if (mDeviceOwner == null) {
// Device owner is not set and does not exist, set it.
mDeviceOwner = DeviceOwner.createWithDeviceOwner(packageName, ownerName);