From 6a980548578ecc65badf69395fa3cc7ef6d6a9c0 Mon Sep 17 00:00:00 2001 From: Graham Jones Date: Sat, 29 Jan 2022 21:10:38 +0000 Subject: [PATCH] Added code to check if battery optimisation is switched on...but it does not seem to work --- .../org/openseizuredetector/StartupActivity.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/src/main/java/uk/org/openseizuredetector/StartupActivity.java b/app/src/main/java/uk/org/openseizuredetector/StartupActivity.java index e5842aa..77fbb16 100644 --- a/app/src/main/java/uk/org/openseizuredetector/StartupActivity.java +++ b/app/src/main/java/uk/org/openseizuredetector/StartupActivity.java @@ -33,9 +33,12 @@ import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageInfo; import android.graphics.Color; +import android.net.Uri; import android.os.Bundle; import android.os.Handler; +import android.os.PowerManager; import android.preference.PreferenceManager; +import android.provider.Settings; import android.text.SpannableString; import android.text.SpannedString; import android.text.util.Linkify; @@ -159,6 +162,18 @@ public class StartupActivity extends Activity { mUtil.requestPermissions(this); } + // FIXME = this does not seem to work - says there is a problem if optimisation is switched off... + PowerManager powerManager = (PowerManager)getSystemService(Context.POWER_SERVICE); + if (powerManager.isIgnoringBatteryOptimizations(getPackageName())) { + Log.i(TAG,"Power Management OK - we are ignoring Battery Optimizations"); + } else { + Log.e(TAG,"Power Management Problem - not ignoring Battery Optimisations"); + Intent i = new Intent(); + i.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); + i.setData(Uri.parse("package:" + getPackageName())); + startActivity(i); + } + String versionName = mUtil.getAppVersionName(); tv = (TextView) findViewById(R.id.appNameTv);