diff options
| author | Christopher Tate <ctate@google.com> | 2015-04-08 20:05:30 -0700 |
|---|---|---|
| committer | Christopher Tate <ctate@google.com> | 2015-04-09 13:13:42 -0700 |
| commit | 511d02fcc37dce092e17354d53023db44817ebe6 (patch) | |
| tree | ab1eb93a4f7a3cbcad9d638bc3773807c413c1ed /core/java/android/app/backup | |
| parent | 7f7e1d13c0f1b7f8996f3b241d5b096c852f891c (diff) | |
| download | frameworks_base-511d02fcc37dce092e17354d53023db44817ebe6.zip frameworks_base-511d02fcc37dce092e17354d53023db44817ebe6.tar.gz frameworks_base-511d02fcc37dce092e17354d53023db44817ebe6.tar.bz2 | |
Add system API for querying the available restore dataset for a package
Bug 20123585
Change-Id: Ife6e77a224b5d4175178aacdb7c285e9944b9eab
Diffstat (limited to 'core/java/android/app/backup')
| -rw-r--r-- | core/java/android/app/backup/BackupManager.java | 26 | ||||
| -rw-r--r-- | core/java/android/app/backup/IBackupManager.aidl | 13 |
2 files changed, 39 insertions, 0 deletions
diff --git a/core/java/android/app/backup/BackupManager.java b/core/java/android/app/backup/BackupManager.java index 9151a16..8b79305 100644 --- a/core/java/android/app/backup/BackupManager.java +++ b/core/java/android/app/backup/BackupManager.java @@ -339,4 +339,30 @@ public class BackupManager { } } } + + /** + * Ask the framework which dataset, if any, the given package's data would be + * restored from if we were to install it right now. + * + * <p>Callers must hold the android.permission.BACKUP permission to use this method. + * + * @param packageName The name of the package whose most-suitable dataset we + * wish to look up + * @return The dataset token from which a restore should be attempted, or zero if + * no suitable data is available. + * + * @hide + */ + @SystemApi + public long getAvailableRestoreToken(String packageName) { + checkServiceBinder(); + if (sService != null) { + try { + return sService.getAvailableRestoreToken(packageName); + } catch (RemoteException e) { + Log.e(TAG, "getAvailableRestoreToken() couldn't connect"); + } + } + return 0; + } } diff --git a/core/java/android/app/backup/IBackupManager.aidl b/core/java/android/app/backup/IBackupManager.aidl index 8f36dc4..87e4ef1 100644 --- a/core/java/android/app/backup/IBackupManager.aidl +++ b/core/java/android/app/backup/IBackupManager.aidl @@ -313,4 +313,17 @@ interface IBackupManager { * is being queried. */ boolean isBackupServiceActive(int whichUser); + + /** + * Ask the framework which dataset, if any, the given package's data would be + * restored from if we were to install it right now. + * + * <p>Callers must hold the android.permission.BACKUP permission to use this method. + * + * @param packageName The name of the package whose most-suitable dataset we + * wish to look up + * @return The dataset token from which a restore should be attempted, or zero if + * no suitable data is available. + */ + long getAvailableRestoreToken(String packageName); } |
