summaryrefslogtreecommitdiffstats
path: root/core/java/android/app/backup
diff options
context:
space:
mode:
authorChristopher Tate <ctate@google.com>2014-10-30 13:44:27 -0700
committerChristopher Tate <ctate@android.com>2014-11-07 18:40:47 +0000
commitbbe23b31dcd0eec8af5b5198970de7ff2a9ef79a (patch)
treee0f6458989ba16677e19f930fcfd128af6d11d3f /core/java/android/app/backup
parent4b19b7aaff1d1ff972ebe68101c2107454bbe5de (diff)
downloadframeworks_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.aidl12
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);
}