summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Bernardo Rufino <brufino@google.com> 2018-08-09 13:00:51 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2018-08-09 13:00:51 +0000
commit65d1a7719aba99d501e8a3a1144b2a7b66a25b0a (patch)
tree832b26d6eaeebca75fd786e685f117079cccfcd1
parentda711183782efa609286ea65c21544f9dd2b9070 (diff)
parent8fe7b59a713c2e3c68fea4d22251b1701339dbd6 (diff)
Merge "Add null check for full-backup task"
-rw-r--r--services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java4
-rw-r--r--services/robotests/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java11
2 files changed, 14 insertions, 1 deletions
diff --git a/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java b/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java
index 113e2b67d04e..1cb99334dfeb 100644
--- a/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java
+++ b/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java
@@ -756,7 +756,9 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
BackupObserverUtils.sendBackupFinished(mObserver, BackupManager.ERROR_BACKUP_CANCELLED);
} else {
mListener.onFinished(callerLogString);
- mFullBackupTask.unregisterTask();
+ if (mFullBackupTask != null) {
+ mFullBackupTask.unregisterTask();
+ }
switch (mStatus) {
case BackupTransport.TRANSPORT_OK:
case BackupTransport.TRANSPORT_QUOTA_EXCEEDED:
diff --git a/services/robotests/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java b/services/robotests/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java
index fde9bc898979..de22201e3874 100644
--- a/services/robotests/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java
+++ b/services/robotests/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java
@@ -1584,6 +1584,17 @@ public class KeyValueBackupTaskTest {
new RuntimeException().toString());
}
+ @Test
+ public void testRunTask_whenBackupRunning_doesNotThrow() throws Exception {
+ TransportMock transportMock = setUpInitializedTransport(mTransport);
+ when(mBackupManagerService.isBackupOperationInProgress()).thenReturn(true);
+ KeyValueBackupTask task =
+ createKeyValueBackupTask(
+ transportMock.transportClient, mTransport.transportDirName);
+
+ runTask(task);
+ }
+
private void runTask(KeyValueBackupTask task) {
// Pretend we are not on the main-thread to prevent RemoteCall from complaining
mShadowMainLooper.setCurrentThread(false);