Fix [kv-3]PerformBackupTask using last package status to decide status sent to IBackupObserver.
We only report failure to IBackupObserver.backupFinished() when we meet transport failure, but now it will report failure when the last package meet TRANSPORT_PACKAGE_REJECTED or TRANSPORT_QUOTA_EXCEEDED, add above two states in FINAL to prevent the situation, and update related test, also javadoc of IBackupObserver. Bug: 77271953 Test: make -j RunFrameworksServicesRoboTests ROBOTEST_FILTER=PerformBackupTaskTest Change-Id: Ic2bfdf9f50d700f8ccb509e081ae8e0afb186020
This commit is contained in:
@@ -629,6 +629,8 @@ public class PerformBackupTask implements BackupRestoreTask {
|
||||
mFullBackupTask.unregisterTask();
|
||||
switch (mStatus) {
|
||||
case BackupTransport.TRANSPORT_OK:
|
||||
case BackupTransport.TRANSPORT_QUOTA_EXCEEDED:
|
||||
case BackupTransport.TRANSPORT_PACKAGE_REJECTED:
|
||||
BackupObserverUtils.sendBackupFinished(mObserver,
|
||||
BackupManager.SUCCESS);
|
||||
break;
|
||||
|
||||
@@ -419,7 +419,7 @@ public class PerformBackupTaskTest {
|
||||
runTask(task);
|
||||
|
||||
verify(mObserver).onResult(PACKAGE_1, BackupManager.ERROR_TRANSPORT_PACKAGE_REJECTED);
|
||||
verify(mObserver).backupFinished(BackupManager.ERROR_TRANSPORT_ABORTED);
|
||||
verify(mObserver).backupFinished(BackupManager.SUCCESS);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -467,8 +467,7 @@ public class PerformBackupTaskTest {
|
||||
|
||||
verify(mObserver).onResult(PACKAGE_1, BackupManager.SUCCESS);
|
||||
verify(mObserver).onResult(PACKAGE_2, BackupManager.ERROR_TRANSPORT_PACKAGE_REJECTED);
|
||||
// TODO: Should we return the status of the last?
|
||||
verify(mObserver).backupFinished(BackupManager.ERROR_TRANSPORT_ABORTED);
|
||||
verify(mObserver).backupFinished(BackupManager.SUCCESS);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -488,7 +487,7 @@ public class PerformBackupTaskTest {
|
||||
runTask(task);
|
||||
|
||||
verify(mObserver).onResult(PACKAGE_1, BackupManager.ERROR_TRANSPORT_QUOTA_EXCEEDED);
|
||||
verify(mObserver).backupFinished(BackupManager.ERROR_TRANSPORT_ABORTED);
|
||||
verify(mObserver).backupFinished(BackupManager.SUCCESS);
|
||||
verify(agentMock.agent).onQuotaExceeded(anyLong(), anyLong());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user