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 d70277f32c949c3f619b8d854844d652dbd2170b..244c8811965003a36ab9803ec810065d4cf4559a 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 d7daa2c0dcba960f702b50dcffb4d57b0a463ee4..bb272906f58f2fc04084263debdfa92c49563c60 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 21aab5b528003702507158f378fe33df0b2bb59b..2302135b6258005f0c59d13d33e1d4d0bcd147b4 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 26e65a0388c236051796dde376076e2d554c1cf6..145486acde528c4c803341a6ff1b591d794b697b 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 da39aa39b7b2bbeb14b7f6edbb2611ea58d57bf5..7771bd45d1d11cf11d1535bb352036c5d7c64b05 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 803710aef0e9151e1c7d9cc9c14442d4bd1e5a7e..0875bd31362bde918d0e7015d1c93a317aabbe02 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 afdac4dc5f2990e40d7de6403b7f421357df47f1..288032cc3c743718d8a121865f65309fa775b5f1 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 {