summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorChristopher Tate <ctate@google.com>2011-09-26 17:12:08 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-09-26 17:12:08 -0700
commit7462251b0a3f2601236b599bcabf54451143b704 (patch)
treee9a2f5ba4db8ccb43cc2a509c3cd75cd1bcb73c3 /services
parenta200a23af10dfcbbe46d10e868c2eae9f2c794a4 (diff)
parent5f2f41350ec127c16ea05722687201ad7a227658 (diff)
downloadframeworks_base-7462251b0a3f2601236b599bcabf54451143b704.zip
frameworks_base-7462251b0a3f2601236b599bcabf54451143b704.tar.gz
frameworks_base-7462251b0a3f2601236b599bcabf54451143b704.tar.bz2
Merge "Don't hang in restore if the transport reports failure" into ics-factoryrom
Diffstat (limited to 'services')
-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 2938c45..2d24f99 100644
--- a/services/java/com/android/server/BackupManagerService.java
+++ b/services/java/com/android/server/BackupManagerService.java
@@ -4372,8 +4372,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;
}