From 1672693e3ea8e31918631ac2952f17cec2a3bec4 Mon Sep 17 00:00:00 2001 From: Rituraj Sambherao <54317407+ritsam@users.noreply.github.com> Date: Wed, 11 Nov 2020 12:40:06 +0000 Subject: [PATCH] Implement specific logs to analyse (EXPOSUREAPP-3440) (#1563) * improved logging for Bakcground Worker * loggin added in updateRiskLevelScore Notification Permissions logged and notification sent is loggged * merge conflict resolution * uniformity in Log tags Co-authored-by: harambasicluka <64483219+harambasicluka@users.noreply.github.com> --- .../rki/coronawarnapp/risk/DefaultRiskLevels.kt | 13 +++++++++++++ .../worker/BackgroundNoiseOneTimeWorker.kt | 3 +++ .../worker/BackgroundNoisePeriodicWorker.kt | 4 +++- ...iagnosisTestResultRetrievalPeriodicWorker.kt | 17 ++++++++++++----- 4 files changed, 31 insertions(+), 6 deletions(-) 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 6448ac57e..68d9b8b15 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 4dfc187b4..b77d7c9d7 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 3869efb0a..15b175f85 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 47e3adb2e..60dc57174 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" ) -- GitLab