From 1e56c522eb2ed6a0075f78f9e95208097d211859 Mon Sep 17 00:00:00 2001 From: Philipp Woessner <64482866+pwoessner@users.noreply.github.com> Date: Mon, 3 Aug 2020 13:59:08 +0200 Subject: [PATCH] changed background prio dialogs and texts (#963) --- .../main/java/de/rki/coronawarnapp/CoronaWarnApplication.kt | 2 +- .../rki/coronawarnapp/transaction/RiskLevelTransaction.kt | 2 +- .../main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt | 5 ++--- .../de/rki/coronawarnapp/ui/viewmodel/TracingViewModel.kt | 2 +- .../java/de/rki/coronawarnapp/util/ConnectivityHelper.kt | 6 ++---- Corona-Warn-App/src/main/res/values-de/strings.xml | 4 ++-- .../coronawarnapp/transaction/RiskLevelTransactionTest.kt | 4 ++-- 7 files changed, 11 insertions(+), 14 deletions(-) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/CoronaWarnApplication.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/CoronaWarnApplication.kt index d70277f32..244c88119 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/CoronaWarnApplication.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/CoronaWarnApplication.kt @@ -70,7 +70,7 @@ class CoronaWarnApplication : Application(), LifecycleObserver, "Application onCreate", "App was woken up" ) // Only do this if the background jobs are enabled - if (ConnectivityHelper.isBackgroundJobEnabled(applicationContext)) + if (ConnectivityHelper.autoModeEnabled(applicationContext)) ProcessLifecycleOwner.get().lifecycleScope.launch { // we want a wakelock as the OS does not handle this for us like in the background // job execution diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/RiskLevelTransaction.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/RiskLevelTransaction.kt index d7daa2c0d..bb272906f 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/RiskLevelTransaction.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/RiskLevelTransaction.kt @@ -300,7 +300,7 @@ object RiskLevelTransaction : Transaction() { if (timeSinceLastDiagnosisKeyFetchFromServer.millisecondsToHours() > TimeVariables.getMaxStaleExposureRiskRange() && isActiveTracingTimeAboveThreshold() ) { - if (ConnectivityHelper.isBackgroundJobEnabled(CoronaWarnApplication.getAppContext())) { + if (ConnectivityHelper.autoModeEnabled(CoronaWarnApplication.getAppContext())) { return@executeState UNKNOWN_RISK_OUTDATED_RESULTS.also { Timber.v("diagnosis keys outdated and active tracing time is above threshold") Timber.v("manual mode not active (background jobs enabled)") diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt index 21aab5b52..2302135b6 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt @@ -93,7 +93,7 @@ class MainActivity : AppCompatActivity() { ConnectivityHelper.registerNetworkStatusCallback(this, callbackNetwork) ConnectivityHelper.registerBluetoothStatusCallback(this, callbackBluetooth) ConnectivityHelper.registerLocationStatusCallback(this, callbackLocation) - settingsViewModel.updateBackgroundJobEnabled(ConnectivityHelper.isBackgroundJobEnabled(this)) + settingsViewModel.updateBackgroundJobEnabled(ConnectivityHelper.autoModeEnabled(this)) scheduleWork() checkShouldDisplayBackgroundWarning() } @@ -150,8 +150,7 @@ class MainActivity : AppCompatActivity() { // show battery optimization system dialog after background processing dialog checkForEnergyOptimizedEnabled() }, { - // declined, show additional dialog explaining manual risk calculation - showManualCheckingRequiredDialog() + // declined }) DialogHelper.showDialog(dialog) } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/TracingViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/TracingViewModel.kt index 26e65a038..145486acd 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/TracingViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/TracingViewModel.kt @@ -82,7 +82,7 @@ class TracingViewModel : ViewModel() { // only fetch the diagnosis keys if background jobs are enabled, so that in manual // model the keys are only fetched on button press of the user val isBackgroundJobEnabled = - ConnectivityHelper.isBackgroundJobEnabled(CoronaWarnApplication.getAppContext()) + ConnectivityHelper.autoModeEnabled(CoronaWarnApplication.getAppContext()) Timber.v("Keys were not retrieved today $keysWereNotRetrievedToday") Timber.v("Network is enabled $isNetworkEnabled") diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ConnectivityHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ConnectivityHelper.kt index da39aa39b..7771bd45d 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ConnectivityHelper.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ConnectivityHelper.kt @@ -209,10 +209,8 @@ object ConnectivityHelper { * * @see isBackgroundRestricted */ - fun isBackgroundJobEnabled(context: Context): Boolean { - return !isBackgroundRestricted(context) && PowerManagementHelper.isIgnoringBatteryOptimizations( - context - ) + fun autoModeEnabled(context: Context): Boolean { + return !isBackgroundRestricted(context) || PowerManagementHelper.isIgnoringBatteryOptimizations(context) } /** diff --git a/Corona-Warn-App/src/main/res/values-de/strings.xml b/Corona-Warn-App/src/main/res/values-de/strings.xml index 803710aef..0875bd313 100644 --- a/Corona-Warn-App/src/main/res/values-de/strings.xml +++ b/Corona-Warn-App/src/main/res/values-de/strings.xml @@ -420,7 +420,7 @@ <!-- XACT: onboarding(tracing) - dialog about energy optimized header text --> <string name="onboarding_energy_optimized_dialog_headline">"Priorisierte Hintergrundaktivität erlauben"</string> <!-- YMSI: onboarding(tracing) - dialog about energy optimized --> - <string name="onboarding_energy_optimized_dialog_body">"Erlauben Sie die priorisierte Hintergrundaktivität, damit die App jederzeit Ihren Risikostatus im Hintergrund ermitteln kann (empfohlen). Damit wird die Optimierung des Akku-Verbrauchs ausschließlich für die Corona-Warn-App deaktiviert. Ein stark erhöhter Akku-Verbrauch ist hierbei nicht zu erwarten. \n\nWenn Sie diese Einstellung nicht erlauben, müssen Sie Ihren Risikostatus manuell in der App aktualisieren."</string> + <string name="onboarding_energy_optimized_dialog_body">"Erlauben Sie die priorisierte Hintergrundaktivität, damit die App jederzeit Ihren Risikostatus im Hintergrund ermitteln kann (empfohlen). Damit wird die Optimierung des Akku-Verbrauchs ausschließlich für die Corona-Warn-App deaktiviert. Ein stark erhöhter Akku-Verbrauch ist hierbei nicht zu erwarten.\n\nWenn Sie diese Einstellung nicht erlauben, empfehlen wir die App mindestens alle 24 Stunden einmal aktiv zu öffnen."</string> <!-- XBUT: onboarding(tracing) - dialog about energy optimized, open device settings --> <string name="onboarding_energy_optimized_dialog_button_positive">"Erlauben"</string> <!-- XBUT: onboarding(tracing) - dialog about energy optimized, continue in app --> @@ -428,7 +428,7 @@ <!-- XACT: onboarding(tracing) - dialog about manual checking header text --> <string name="onboarding_manual_required_dialog_headline">"Priorisierte Hintergrundaktivität deaktiviert"</string> <!-- YMSI: onboarding(tracing) - dialog about manual checking --> - <string name="onboarding_manual_required_dialog_body">"Beachten Sie, dass Sie ohne Aktivierung der priorisierten Hintergrundaktivität die App einmal am Tag aufrufen müssen, um Ihren Risikostatus manuell aktualisieren zu können. \n\nSie können die priorisierte Hintergrundaktivität jederzeit in Ihren Einstellungen aktivieren. "</string> + <string name="onboarding_manual_required_dialog_body">"Beachten Sie, dass Sie ohne Aktivierung der priorisierten Hintergrundaktivität die App mindestens alle 24 Stunden einmal aktiv aufrufen müssen, um Ihren Risikostatus aktualisieren zu können.\n\nSie können die priorisierte Hintergrundaktivität jederzeit in Ihren Einstellungen aktivieren."</string> <!-- XBUT: onboarding(tracing) - dialog about manual checking button --> <string name="onboarding_manual_required_dialog_button">"Ok"</string> <!-- XACT: onboarding(tracing) - illustraction description, header image --> diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/transaction/RiskLevelTransactionTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/transaction/RiskLevelTransactionTest.kt index afdac4dc5..288032cc3 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/transaction/RiskLevelTransactionTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/transaction/RiskLevelTransactionTest.kt @@ -152,7 +152,7 @@ class RiskLevelTransactionTest { ) // background jobs are enabled - every { ConnectivityHelper.isBackgroundJobEnabled(CoronaWarnApplication.getAppContext()) } returns true + every { ConnectivityHelper.autoModeEnabled(CoronaWarnApplication.getAppContext()) } returns true runBlocking { @@ -200,7 +200,7 @@ class RiskLevelTransactionTest { ) // background jobs are disabled - every { ConnectivityHelper.isBackgroundJobEnabled(CoronaWarnApplication.getAppContext()) } returns false + every { ConnectivityHelper.autoModeEnabled(CoronaWarnApplication.getAppContext()) } returns false runBlocking { -- GitLab