diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/DefaultRiskLevels.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/DefaultRiskLevels.kt index 6448ac57e44d236b2e7924488454cba64e7cf2b8..68d9b8b15df9a37596fab84e1438c6272dc14954 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/DefaultRiskLevels.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/DefaultRiskLevels.kt @@ -1,6 +1,7 @@ package de.rki.coronawarnapp.risk import androidx.annotation.VisibleForTesting +import androidx.core.app.NotificationManagerCompat import com.google.android.gms.nearby.exposurenotification.ExposureSummary import de.rki.coronawarnapp.CoronaWarnApplication import de.rki.coronawarnapp.R @@ -195,18 +196,30 @@ class DefaultRiskLevels @Inject constructor( @VisibleForTesting internal fun updateRiskLevelScore(riskLevel: RiskLevel) { val lastCalculatedScore = RiskLevelRepository.getLastCalculatedScore() + Timber.d("last CalculatedS core is ${lastCalculatedScore.raw} and Current Risk Level is ${riskLevel.raw}") + if (RiskLevel.riskLevelChangedBetweenLowAndHigh( lastCalculatedScore, riskLevel ) && !LocalData.submissionWasSuccessful() ) { + Timber.d( + "Notification Permission = ${ + NotificationManagerCompat.from(CoronaWarnApplication.getAppContext()).areNotificationsEnabled() + }" + ) + NotificationHelper.sendNotification( CoronaWarnApplication.getAppContext().getString(R.string.notification_body) ) + + Timber.d("Risk level changed and notification sent. Current Risk level is ${riskLevel.raw}") } if (lastCalculatedScore.raw == RiskLevelConstants.INCREASED_RISK && riskLevel.raw == RiskLevelConstants.LOW_LEVEL_RISK) { LocalData.isUserToBeNotifiedOfLoweredRiskLevel = true + + Timber.d("Risk level changed LocalData is updated. Current Risk level is ${riskLevel.raw}") } RiskLevelRepository.setRiskLevelScore(riskLevel) } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundNoiseOneTimeWorker.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundNoiseOneTimeWorker.kt index 4dfc187b4cb173eba23e66924001d1925a686999..b77d7c9d79b47591ac2ae4cd42a52eca7ef227fa 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundNoiseOneTimeWorker.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundNoiseOneTimeWorker.kt @@ -7,6 +7,7 @@ import com.squareup.inject.assisted.Assisted import com.squareup.inject.assisted.AssistedInject import de.rki.coronawarnapp.playbook.Playbook import de.rki.coronawarnapp.util.worker.InjectedWorkerFactory +import timber.log.Timber /** * One time background noise worker @@ -25,6 +26,7 @@ class BackgroundNoiseOneTimeWorker @AssistedInject constructor( * @return Result */ override suspend fun doWork(): Result { + Timber.d("$id: doWork() started. Run attempt: $runAttemptCount") var result = Result.success() try { @@ -38,6 +40,7 @@ class BackgroundNoiseOneTimeWorker @AssistedInject constructor( } } + Timber.d("$id: doWork() finished with %s", result) return result } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundNoisePeriodicWorker.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundNoisePeriodicWorker.kt index 3869efb0a2ff59d518a538c814ff821cb8b6e30f..15b175f853c7dd9ffdc7385c4130b0460d293232 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundNoisePeriodicWorker.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/BackgroundNoisePeriodicWorker.kt @@ -34,7 +34,7 @@ class BackgroundNoisePeriodicWorker @AssistedInject constructor( * @see BackgroundConstants.NUMBER_OF_DAYS_TO_RUN_PLAYBOOK */ override suspend fun doWork(): Result { - Timber.d("Background job started. Run attempt: $runAttemptCount") + Timber.d("$id: doWork() started. Run attempt: $runAttemptCount") var result = Result.success() try { @@ -57,11 +57,13 @@ class BackgroundNoisePeriodicWorker @AssistedInject constructor( Result.retry() } } + Timber.d("$id: doWork() finished with %s", result) return result } private fun stopWorker() { BackgroundWorkScheduler.WorkType.BACKGROUND_NOISE_PERIODIC_WORK.stop() + Timber.d("$id: worker stopped") } @AssistedInject.Factory diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/DiagnosisTestResultRetrievalPeriodicWorker.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/DiagnosisTestResultRetrievalPeriodicWorker.kt index 47e3adb2e33df6171a4960e69b8c07912c9d5958..60dc57174abac3d7ed941ad2dd3d7662da4066e6 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/DiagnosisTestResultRetrievalPeriodicWorker.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/worker/DiagnosisTestResultRetrievalPeriodicWorker.kt @@ -43,19 +43,20 @@ class DiagnosisTestResultRetrievalPeriodicWorker @AssistedInject constructor( */ override suspend fun doWork(): Result { - Timber.d("Background job started. Run attempt: $runAttemptCount") + Timber.d("$id: doWork() started. Run attempt: $runAttemptCount") BackgroundWorkHelper.sendDebugNotification( "TestResult Executing: Start", "TestResult started. Run attempt: $runAttemptCount " ) if (runAttemptCount > BackgroundConstants.WORKER_RETRY_COUNT_THRESHOLD) { - Timber.d("Background job failed after $runAttemptCount attempts. Rescheduling") + Timber.d("$id doWork() failed after $runAttemptCount attempts. Rescheduling") BackgroundWorkHelper.sendDebugNotification( "TestResult Executing: Failure", "TestResult failed with $runAttemptCount attempts" ) - BackgroundWorkScheduler.scheduleDiagnosisKeyPeriodicWork() + Timber.d("$id Rescheduled background worker") + return Result.failure() } var result = Result.success() @@ -65,10 +66,13 @@ class DiagnosisTestResultRetrievalPeriodicWorker @AssistedInject constructor( System.currentTimeMillis() ) < BackgroundConstants.POLLING_VALIDITY_MAX_DAYS ) { + Timber.d(" $id maximum days not exceeded") val testResult = SubmissionService.asyncRequestTestResult() initiateNotification(testResult) + Timber.d(" $id Test Result Notification Initiated") } else { stopWorker() + Timber.d(" $id worker stopped") } } catch (e: Exception) { result = Result.retry() @@ -77,6 +81,7 @@ class DiagnosisTestResultRetrievalPeriodicWorker @AssistedInject constructor( BackgroundWorkHelper.sendDebugNotification( "TestResult Executing: End", "TestResult result: $result " ) + Timber.d("$id: doWork() finished with %s", result) return result } @@ -94,9 +99,10 @@ class DiagnosisTestResultRetrievalPeriodicWorker @AssistedInject constructor( */ private fun initiateNotification(testResult: TestResult) { if (LocalData.isTestResultNotificationSent() || LocalData.submissionWasSuccessful()) { + Timber.d("$id: Notification already sent or there was a successful submission") return } - + Timber.d("$id: Test Result retried is $testResult") if (testResult == TestResult.NEGATIVE || testResult == TestResult.POSITIVE || testResult == TestResult.INVALID ) { @@ -107,6 +113,7 @@ class DiagnosisTestResultRetrievalPeriodicWorker @AssistedInject constructor( CoronaWarnApplication.getAppContext() .getString(R.string.notification_body) ) + Timber.d("$id: Test Result available and notification is initiated") } LocalData.isTestResultNotificationSent(true) stopWorker() @@ -122,7 +129,7 @@ class DiagnosisTestResultRetrievalPeriodicWorker @AssistedInject constructor( private fun stopWorker() { LocalData.initialPollingForTestResultTimeStamp(0L) BackgroundWorkScheduler.WorkType.DIAGNOSIS_TEST_RESULT_PERIODIC_WORKER.stop() - + Timber.d("$id: Background worker stopped") BackgroundWorkHelper.sendDebugNotification( "TestResult Stopped", "TestResult Stopped" )