From 3b07e34c22e8f7daae855f871bf7fe19ea9d2bf8 Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 19 Jan 2024 22:20:22 +0100 Subject: [PATCH] Was ignoring battery optimizations --- app/src/main/java/eu/faircode/email/FragmentMessages.java | 6 +++--- .../main/java/eu/faircode/email/FragmentOptionsMisc.java | 2 +- app/src/main/java/eu/faircode/email/FragmentSetup.java | 5 +++++ app/src/main/java/eu/faircode/email/Helper.java | 4 ++++ 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 46bda5cdb1..adc0a4ce00 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -5301,10 +5301,10 @@ public class FragmentMessages extends FragmentBase //boolean canSchedule = AlarmManagerCompatEx.canScheduleExactAlarms(context); boolean enabled = prefs.getBoolean("enabled", true); boolean reminder = prefs.getBoolean("setup_reminder", true); - boolean targeting = - (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU); + boolean was_ignoring = prefs.getBoolean("was_ignoring", false); + boolean targeting = (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU); grpBatteryOptimizations.setVisibility( - !isIgnoring && enabled && reminder && targeting ? View.VISIBLE : View.GONE); + !isIgnoring && enabled && reminder && !was_ignoring && targeting ? View.VISIBLE : View.GONE); boolean compact = prefs.getBoolean("compact", false); int zoom = prefs.getInt("view_zoom", compact ? 0 : 1); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java index d791620c6e..c54a6dbba5 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java @@ -304,7 +304,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc "identities_asked", "identities_primary_hint", "raw_asked", "all_read_asked", "delete_asked", "cc_bcc", "inline_image_hint", "compose_reference", "send_dialog", - "setup_reminder", "setup_advanced", + "setup_reminder", "was_ignoring", "setup_advanced", "signature_images_hint", "gmail_checked", "eml_auto_confirm", diff --git a/app/src/main/java/eu/faircode/email/FragmentSetup.java b/app/src/main/java/eu/faircode/email/FragmentSetup.java index bae02a79f6..3361b35809 100644 --- a/app/src/main/java/eu/faircode/email/FragmentSetup.java +++ b/app/src/main/java/eu/faircode/email/FragmentSetup.java @@ -1017,6 +1017,11 @@ public class FragmentSetup extends FragmentBase implements SharedPreferences.OnS boolean isIgnoring = !Boolean.FALSE.equals(Helper.isIgnoringOptimizations(getContext())); boolean canScheduleExact = AlarmManagerCompatEx.canScheduleExactAlarms(getContext()); + if (isIgnoring && !BuildConfig.DEBUG) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); + prefs.edit().putBoolean("was_ignoring", true).apply(); + } + tvDozeDone.setText(isIgnoring ? R.string.title_setup_done : R.string.title_setup_to_do); tvDozeDone.setTextColor(isIgnoring ? textColorPrimary : colorWarning); tvDozeDone.setCompoundDrawablesWithIntrinsicBounds( diff --git a/app/src/main/java/eu/faircode/email/Helper.java b/app/src/main/java/eu/faircode/email/Helper.java index 4e01efd8d6..d576fb928f 100644 --- a/app/src/main/java/eu/faircode/email/Helper.java +++ b/app/src/main/java/eu/faircode/email/Helper.java @@ -1534,6 +1534,10 @@ public class Helper { return "Xiaomi".equalsIgnoreCase(Build.MANUFACTURER); } + static boolean isZte() { + return "ZTE".equalsIgnoreCase(Build.MANUFACTURER); + } + static boolean isRedmiNote() { // Manufacturer: Xiaomi // Model: Redmi Note 8 Pro