From c20f76678a1204bdc9dd8fb3afbb0cde40990cb2 Mon Sep 17 00:00:00 2001 From: BMItter <46747780+BMItter@users.noreply.github.com> Date: Thu, 10 Dec 2020 16:57:36 +0100 Subject: [PATCH] After long update no exposure, additonal logs & potential fix (EXPSOUREAPP-4120) (#1818) * Use startedAt as fallback when finishedAt ist null to avoid new download tasks get launched while a task is running * Additional logging on DefaultDiagnosisKeyProvider * work-runtime-ktx to latest stable * better mapNotNull, adjusted Exception * removed worker downgrade for separate PR Co-authored-by: Ralf Gehrer <ralfgehrer@users.noreply.github.com> --- .../DefaultDiagnosisKeyProvider.kt | 1 + .../de/rki/coronawarnapp/storage/TracingRepository.kt | 10 ++++------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/modules/diagnosiskeyprovider/DefaultDiagnosisKeyProvider.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/modules/diagnosiskeyprovider/DefaultDiagnosisKeyProvider.kt index 3f22ca851..06acd9538 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/modules/diagnosiskeyprovider/DefaultDiagnosisKeyProvider.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/modules/diagnosiskeyprovider/DefaultDiagnosisKeyProvider.kt @@ -59,6 +59,7 @@ class DefaultDiagnosisKeyProvider @Inject constructor( provideDiagnosisKeysTask .addOnSuccessListener { cont.resume(true) } .addOnFailureListener { + Timber.w("Key submission failed because ${it.message}") val wrappedException = when (it is ApiException && it.statusCode == ReportingConstants.STATUS_CODE_REACHED_REQUEST_LIMIT) { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/TracingRepository.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/TracingRepository.kt index e107f9754..c7a5b4c19 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/TracingRepository.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/TracingRepository.kt @@ -26,7 +26,6 @@ import kotlinx.coroutines.flow.map import kotlinx.coroutines.launch import org.joda.time.Duration import timber.log.Timber -import java.util.NoSuchElementException import javax.inject.Inject import javax.inject.Singleton @@ -153,11 +152,10 @@ class TracingRepository @Inject constructor( val taskLastFinishedAt = try { taskController.tasks.first() .filter { it.taskState.type == DownloadDiagnosisKeysTask::class } - .mapNotNull { it.taskState.finishedAt } - .sortedDescending() - .first() - } catch (e: NoSuchElementException) { - Timber.tag(TAG).v("download did not run recently - no task with a finishedAt date found") + .mapNotNull { it.taskState.finishedAt ?: it.taskState.startedAt } + .maxOrNull()!! + } catch (e: NullPointerException) { + Timber.tag(TAG).v("download did not run recently - no task with a date found") return true } -- GitLab