From a07897d5aef3de4c007775c5fd629ddf21a97afd Mon Sep 17 00:00:00 2001
From: BMItter <46747780+BMItter@users.noreply.github.com>
Date: Fri, 2 Oct 2020 12:58:11 +0200
Subject: [PATCH] Submission result request handling fix (EXPOSUREAPP-3001)
 (#1291)

* Fix unnecessary refreshes in resultRequests

* satisfy circleCI
---
 .../ui/viewmodel/SubmissionViewModel.kt             | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/SubmissionViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/SubmissionViewModel.kt
index bbdc09f3f..6e187a782 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/SubmissionViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/SubmissionViewModel.kt
@@ -124,12 +124,21 @@ class SubmissionViewModel : ViewModel() {
         }
     }
 
-    fun refreshDeviceUIState(refreshTestResult: Boolean = true) =
+    fun refreshDeviceUIState(refreshTestResult: Boolean = true) {
+        var refresh = refreshTestResult
+
+        deviceUiState.value?.let {
+            if (it != DeviceUIState.PAIRED_NO_RESULT && it != DeviceUIState.UNPAIRED) {
+                refresh = false
+                Timber.d("refreshDeviceUIState: Change refresh, state ${it.name} doesn't require refresh")
+            }
+        }
         executeRequestWithState(
-            { SubmissionRepository.refreshUIState(refreshTestResult) },
+            { SubmissionRepository.refreshUIState(refresh) },
             _uiStateState,
             _uiStateError
         )
+    }
 
     fun validateAndStoreTestGUID(rawResult: String) {
         val scanResult = QRScanResult(rawResult)
-- 
GitLab