Merge "Tear down agent after preflight rejection" into oc-dr1-dev
am: 47303ec66b
Change-Id: Id831cef2f90ad39537975d31407f00b2f768d59e
This commit is contained in:
@@ -4871,6 +4871,7 @@ public class BackupManagerService implements BackupManagerServiceInterface {
|
|||||||
final int N = mPackages.size();
|
final int N = mPackages.size();
|
||||||
final byte[] buffer = new byte[8192];
|
final byte[] buffer = new byte[8192];
|
||||||
for (int i = 0; i < N; i++) {
|
for (int i = 0; i < N; i++) {
|
||||||
|
mBackupRunner = null;
|
||||||
PackageInfo currentPackage = mPackages.get(i);
|
PackageInfo currentPackage = mPackages.get(i);
|
||||||
String packageName = currentPackage.packageName;
|
String packageName = currentPackage.packageName;
|
||||||
if (DEBUG) {
|
if (DEBUG) {
|
||||||
@@ -5054,7 +5055,13 @@ public class BackupManagerService implements BackupManagerServiceInterface {
|
|||||||
}
|
}
|
||||||
EventLog.writeEvent(EventLogTags.FULL_BACKUP_AGENT_FAILURE, packageName,
|
EventLog.writeEvent(EventLogTags.FULL_BACKUP_AGENT_FAILURE, packageName,
|
||||||
"transport rejected");
|
"transport rejected");
|
||||||
// Do nothing, clean up, and continue looping.
|
// This failure state can come either a-priori from the transport, or
|
||||||
|
// from the preflight pass. If we got as far as preflight, we now need
|
||||||
|
// to tear down the target process.
|
||||||
|
if (mBackupRunner != null) {
|
||||||
|
tearDownAgentAndKill(currentPackage.applicationInfo);
|
||||||
|
}
|
||||||
|
// ... and continue looping.
|
||||||
} else if (backupPackageStatus == BackupTransport.TRANSPORT_QUOTA_EXCEEDED) {
|
} else if (backupPackageStatus == BackupTransport.TRANSPORT_QUOTA_EXCEEDED) {
|
||||||
sendBackupOnPackageResult(mBackupObserver, packageName,
|
sendBackupOnPackageResult(mBackupObserver, packageName,
|
||||||
BackupManager.ERROR_TRANSPORT_QUOTA_EXCEEDED);
|
BackupManager.ERROR_TRANSPORT_QUOTA_EXCEEDED);
|
||||||
@@ -5063,6 +5070,7 @@ public class BackupManagerService implements BackupManagerServiceInterface {
|
|||||||
EventLog.writeEvent(EventLogTags.FULL_BACKUP_QUOTA_EXCEEDED,
|
EventLog.writeEvent(EventLogTags.FULL_BACKUP_QUOTA_EXCEEDED,
|
||||||
packageName);
|
packageName);
|
||||||
}
|
}
|
||||||
|
tearDownAgentAndKill(currentPackage.applicationInfo);
|
||||||
// Do nothing, clean up, and continue looping.
|
// Do nothing, clean up, and continue looping.
|
||||||
} else if (backupPackageStatus == BackupTransport.AGENT_ERROR) {
|
} else if (backupPackageStatus == BackupTransport.AGENT_ERROR) {
|
||||||
sendBackupOnPackageResult(mBackupObserver, packageName,
|
sendBackupOnPackageResult(mBackupObserver, packageName,
|
||||||
@@ -5086,6 +5094,7 @@ public class BackupManagerService implements BackupManagerServiceInterface {
|
|||||||
EventLog.writeEvent(EventLogTags.FULL_BACKUP_TRANSPORT_FAILURE);
|
EventLog.writeEvent(EventLogTags.FULL_BACKUP_TRANSPORT_FAILURE);
|
||||||
// Abort entire backup pass.
|
// Abort entire backup pass.
|
||||||
backupRunStatus = BackupManager.ERROR_TRANSPORT_ABORTED;
|
backupRunStatus = BackupManager.ERROR_TRANSPORT_ABORTED;
|
||||||
|
tearDownAgentAndKill(currentPackage.applicationInfo);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
// Success!
|
// Success!
|
||||||
|
|||||||
Reference in New Issue
Block a user