From 585f12d2f90ffcba772ed6674e3bc175498974b5 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Sun, 30 Apr 2023 13:57:06 -0500 Subject: [PATCH] Disable persistent reminders on Android 14+ --- .../java/com/todoroo/andlib/utility/AndroidUtilities.java | 4 ++++ app/src/main/java/org/tasks/preferences/Preferences.kt | 4 +++- .../java/org/tasks/preferences/fragments/Notifications.kt | 5 +++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/todoroo/andlib/utility/AndroidUtilities.java b/app/src/main/java/com/todoroo/andlib/utility/AndroidUtilities.java index e8d7386bd..bbb3403f4 100644 --- a/app/src/main/java/com/todoroo/andlib/utility/AndroidUtilities.java +++ b/app/src/main/java/com/todoroo/andlib/utility/AndroidUtilities.java @@ -147,6 +147,10 @@ public class AndroidUtilities { return VERSION.SDK_INT < VERSION_CODES.TIRAMISU; } + public static boolean preUpsideDownCake() { + return VERSION.SDK_INT <= VERSION_CODES.TIRAMISU; + } + public static boolean atLeastNougatMR1() { return Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1; } diff --git a/app/src/main/java/org/tasks/preferences/Preferences.kt b/app/src/main/java/org/tasks/preferences/Preferences.kt index dc0dbfdc9..b7c108cca 100644 --- a/app/src/main/java/org/tasks/preferences/Preferences.kt +++ b/app/src/main/java/org/tasks/preferences/Preferences.kt @@ -13,6 +13,7 @@ import androidx.core.app.NotificationCompat import androidx.core.net.toUri import androidx.documentfile.provider.DocumentFile import androidx.preference.PreferenceManager +import com.todoroo.andlib.utility.AndroidUtilities import com.todoroo.andlib.utility.DateUtilities import com.todoroo.andlib.utility.DateUtilities.now import com.todoroo.astrid.activity.BeastModePreferences @@ -463,7 +464,8 @@ class Preferences @JvmOverloads constructor( fun bundleNotifications(): Boolean = getBoolean(R.string.p_bundle_notifications, true) - fun usePersistentReminders(): Boolean = getBoolean(R.string.p_rmd_persistent, true) + fun usePersistentReminders(): Boolean = + AndroidUtilities.preUpsideDownCake() && getBoolean(R.string.p_rmd_persistent, true) var isSyncOngoing: Boolean get() = syncFlags.any { getBoolean(it, false) } diff --git a/app/src/main/java/org/tasks/preferences/fragments/Notifications.kt b/app/src/main/java/org/tasks/preferences/fragments/Notifications.kt index 80539912c..a43b6139c 100644 --- a/app/src/main/java/org/tasks/preferences/fragments/Notifications.kt +++ b/app/src/main/java/org/tasks/preferences/fragments/Notifications.kt @@ -142,6 +142,11 @@ class Notifications : InjectingPreferenceFragment() { R.string.p_rmd_vibrate, R.string.p_led_notification ) + requires( + AndroidUtilities.preUpsideDownCake(), + R.string.p_rmd_persistent, + R.string.p_wearable_notifications, + ) } override fun onResume() {