From 55685e7f01899eb31e55ac67dcfd38bf0f8f8b94 Mon Sep 17 00:00:00 2001 From: sunilpaulmathew Date: Sun, 15 Sep 2024 15:01:58 +0200 Subject: [PATCH] Fixed sNotz reminder in higher Android versions Signed-off-by: sunilpaulmathew --- .../snotz/utils/sNotzReminders.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/sunilpaulmathew/snotz/utils/sNotzReminders.java b/app/src/main/java/com/sunilpaulmathew/snotz/utils/sNotzReminders.java index 046a3c6..786b1e1 100644 --- a/app/src/main/java/com/sunilpaulmathew/snotz/utils/sNotzReminders.java +++ b/app/src/main/java/com/sunilpaulmathew/snotz/utils/sNotzReminders.java @@ -7,7 +7,9 @@ import android.app.TimePickerDialog; import android.content.Context; import android.content.Intent; +import android.net.Uri; import android.os.Build; +import android.provider.Settings; import androidx.appcompat.widget.AppCompatImageButton; @@ -115,7 +117,17 @@ private static void setReminder(AppCompatImageButton button, boolean modify, dou } mIntent.putExtra("id", mNotificationID); - if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT) { + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && !mAlarmManager.canScheduleExactAlarms()) { + Intent intent = new Intent(Settings.ACTION_REQUEST_SCHEDULE_EXACT_ALARM); + intent.setData(Uri.parse("package:" + context.getPackageName())); + context.startActivity(intent); + return; + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && !mAlarmManager.canScheduleExactAlarms()) { + Intent intent = new Intent(Settings.ACTION_REQUEST_SCHEDULE_EXACT_ALARM); + context.startActivity(intent); + return; + } else if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT) { mAlarmManager.setExact(AlarmManager.RTC_WAKEUP, mCalendar.getTimeInMillis(), mPendingIntent); } else { mAlarmManager.set(AlarmManager.RTC_WAKEUP, mCalendar.getTimeInMillis(), mPendingIntent);