diff options
author | Christopher Tate <ctate@google.com> | 2014-10-30 13:44:27 -0700 |
---|---|---|
committer | Christopher Tate <ctate@android.com> | 2014-11-07 18:40:47 +0000 |
commit | bbe23b31dcd0eec8af5b5198970de7ff2a9ef79a (patch) | |
tree | e0f6458989ba16677e19f930fcfd128af6d11d3f /core/java/android/app/backup | |
parent | 4b19b7aaff1d1ff972ebe68101c2107454bbe5de (diff) | |
download | frameworks_base-bbe23b31dcd0eec8af5b5198970de7ff2a9ef79a.zip frameworks_base-bbe23b31dcd0eec8af5b5198970de7ff2a9ef79a.tar.gz frameworks_base-bbe23b31dcd0eec8af5b5198970de7ff2a9ef79a.tar.bz2 |
Enable runtime turndown of backup/restore services
The heavy implementation of the backup manager service is now sitting
behind a lightweight trampoline that actually provides the binder
call interface. The indirection allows us now to tear down the
implementation on the fly without breaking callers who have cached
binder references to the backup services: these callers will simply
see their future invocations failing benignly.
In addition there is now an API for suitably privileged callers such
as device policy management to effect this turndown.
Finally, there is now a static system property, "ro.backup.disable",
that a product can use to outright remove backup/restore operation
from the system's operation. The public APIs will continue to be
safely usable on such products but no data will be moved to or
from the device.
Bug 17367491
Change-Id: I8108e386ef3b5c967938fae483366d6978fe4e04
Diffstat (limited to 'core/java/android/app/backup')
-rw-r--r-- | core/java/android/app/backup/IBackupManager.aidl | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/core/java/android/app/backup/IBackupManager.aidl b/core/java/android/app/backup/IBackupManager.aidl index 8a44c8e..0a2d4f5 100644 --- a/core/java/android/app/backup/IBackupManager.aidl +++ b/core/java/android/app/backup/IBackupManager.aidl @@ -291,4 +291,16 @@ interface IBackupManager { * {@hide} */ void opComplete(int token); + + /** + * Make the device's backup and restore machinery (in)active. When it is inactive, + * the device will not perform any backup operations, nor will it deliver data for + * restore, although clients can still safely call BackupManager methods. + * + * @param whichUser User handle of the defined user whose backup active state + * is to be adjusted. + * @param makeActive {@code true} when backup services are to be made active; + * {@code false} otherwise. + */ + void setBackupServiceActive(int whichUser, boolean makeActive); } |