summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-07-02 14:30:56 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-07-02 14:30:56 -0700
commite15df4017c3625de700e9f9953073f38898bbc89 (patch)
treecfdb4b3aa0957fecff028e30ac3eb93e21c3108c
parentfe11ea5e2df4a4414aa266e93179c3098b03a795 (diff)
parent8c0324752a7f47afd9e84f0a3088954b5d05a94b (diff)
downloadframeworks_base-e15df4017c3625de700e9f9953073f38898bbc89.zip
frameworks_base-e15df4017c3625de700e9f9953073f38898bbc89.tar.gz
frameworks_base-e15df4017c3625de700e9f9953073f38898bbc89.tar.bz2
Merge change 6132 into donut
* changes: If we can't get the restore set's metadata, don't continue
-rw-r--r--services/java/com/android/server/BackupManagerService.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/services/java/com/android/server/BackupManagerService.java b/services/java/com/android/server/BackupManagerService.java
index c3b9157..7977d1f 100644
--- a/services/java/com/android/server/BackupManagerService.java
+++ b/services/java/com/android/server/BackupManagerService.java
@@ -943,6 +943,15 @@ class BackupManagerService extends IBackupManager.Stub {
mPackageManager, agentPackages);
processOneRestore(omPackage, 0, IBackupAgent.Stub.asInterface(pmAgent.onBind()));
+ // Verify that the backup set includes metadata. If not, we can't do
+ // signature/version verification etc, so we simply do not proceed with
+ // the restore operation.
+ Metadata pmMeta = pmAgent.getRestoredMetadata(packageName);
+ if (pmMeta == null) {
+ Log.i(TAG, "No restore metadata available, so not restoring settings");
+ return;
+ }
+
int count = 0;
for (;;) {
packageName = mTransport.nextRestorePackage();