diff options
| author | 2018-08-09 13:00:51 +0000 | |
|---|---|---|
| committer | 2018-08-09 13:00:51 +0000 | |
| commit | 65d1a7719aba99d501e8a3a1144b2a7b66a25b0a (patch) | |
| tree | 832b26d6eaeebca75fd786e685f117079cccfcd1 | |
| parent | da711183782efa609286ea65c21544f9dd2b9070 (diff) | |
| parent | 8fe7b59a713c2e3c68fea4d22251b1701339dbd6 (diff) | |
Merge "Add null check for full-backup task"
| -rw-r--r-- | services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java | 4 | ||||
| -rw-r--r-- | services/robotests/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java | 11 |
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); |