From 3140bc00526fea5e54bf347183e770dc9eb3dde7 Mon Sep 17 00:00:00 2001 From: Jaakko Malkki Date: Sun, 26 Nov 2023 13:35:13 +0200 Subject: [PATCH] Check from PowerManager whether battery optimizations were disabled when showing warning toast --- .../ui/composables/BatteryOptimizationsDialog.kt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/xyz/malkki/neostumbler/ui/composables/BatteryOptimizationsDialog.kt b/app/src/main/java/xyz/malkki/neostumbler/ui/composables/BatteryOptimizationsDialog.kt index 73ac4d42..65a46c34 100644 --- a/app/src/main/java/xyz/malkki/neostumbler/ui/composables/BatteryOptimizationsDialog.kt +++ b/app/src/main/java/xyz/malkki/neostumbler/ui/composables/BatteryOptimizationsDialog.kt @@ -1,10 +1,8 @@ package xyz.malkki.neostumbler.ui.composables -import android.app.Activity import android.os.PowerManager import android.widget.Toast import androidx.activity.compose.rememberLauncherForActivityResult -import androidx.activity.result.ActivityResult import androidx.activity.result.contract.ActivityResultContracts import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.wrapContentHeight @@ -40,12 +38,13 @@ fun BatteryOptimizationsDialog(onBatteryOptimizationsDisabled: (Boolean) -> Unit val batteryOptimizationActivityLauncher = rememberLauncherForActivityResult( contract = ActivityResultContracts.StartActivityForResult(), - onResult = { result: ActivityResult -> + onResult = { _ -> coroutineScope.launch { oneTimeActionHelper.markActionShown(ACTION_NAME) } - val batteryOptimizationsDisabled = result.resultCode == Activity.RESULT_OK + //Check from PowerManager whether battery optimizations were disabled -> activity result code seems to be unreliable here + val batteryOptimizationsDisabled = powerManager.isIgnoringBatteryOptimizations(context.packageName) onBatteryOptimizationsDisabled(batteryOptimizationsDisabled) if (!batteryOptimizationsDisabled) {