summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/BackupManagerService.java
diff options
context:
space:
mode:
authorChristopher Tate <ctate@google.com>2011-09-26 20:40:56 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2011-09-26 20:40:56 -0700
commitd7208b98e97abcbc728cb748cc6ff99332b6750f (patch)
tree57c5b5a25f23cf7b1f1c458e11018eaf0919c988 /services/java/com/android/server/BackupManagerService.java
parent3a6c2e985534aeaef04661e2875a8745022c334a (diff)
parent7462251b0a3f2601236b599bcabf54451143b704 (diff)
am 7462251b: Merge "Don\'t hang in restore if the transport reports failure" into ics-factoryrom
* commit '7462251b0a3f2601236b599bcabf54451143b704': Don't hang in restore if the transport reports failure
Diffstat (limited to 'services/java/com/android/server/BackupManagerService.java')
-rw-r--r--services/java/com/android/server/BackupManagerService.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/services/java/com/android/server/BackupManagerService.java b/services/java/com/android/server/BackupManagerService.java
index 8a207efe9d3e..e30ce72e5790 100644
--- a/services/java/com/android/server/BackupManagerService.java
+++ b/services/java/com/android/server/BackupManagerService.java
@@ -4374,8 +4374,13 @@ class BackupManagerService extends IBackupManager.Stub {
ParcelFileDescriptor.MODE_TRUNCATE);
if (mTransport.getRestoreData(mBackupData) != BackupConstants.TRANSPORT_OK) {
+ // Transport-level failure, so we wind everything up and
+ // terminate the restore operation.
Slog.e(TAG, "Error getting restore data for " + packageName);
EventLog.writeEvent(EventLogTags.RESTORE_TRANSPORT_FAILURE);
+ mBackupData.close();
+ mBackupDataName.delete();
+ executeNextState(RestoreState.FINAL);
return;
}