diff --git a/MeditationAssistant/build.gradle b/MeditationAssistant/build.gradle
index b9b851c..1bc1a80 100644
--- a/MeditationAssistant/build.gradle
+++ b/MeditationAssistant/build.gradle
@@ -8,8 +8,8 @@ android {
minSdkVersion 16
targetSdkVersion 33
- versionCode 166
- versionName "1.6.6"
+ versionCode 167
+ versionName "1.6.7"
applicationId "sh.ftp.rocketninelabs.meditationassistant"
manifestPlaceholders = [
diff --git a/MeditationAssistant/src/main/AndroidManifest.xml b/MeditationAssistant/src/main/AndroidManifest.xml
index a01c612..f9e10e3 100644
--- a/MeditationAssistant/src/main/AndroidManifest.xml
+++ b/MeditationAssistant/src/main/AndroidManifest.xml
@@ -27,6 +27,12 @@
+
+
= 21 && allowAlarmClock) {
- getAlarmManager().setAlarmClock(new AlarmManager.AlarmClockInfo(triggerAtMillis, PendingIntent.getActivity(this, 0, new Intent(getApplicationContext(), MainActivity.class), PendingIntent.FLAG_UPDATE_CURRENT)), pendingIntent);
+ getAlarmManager().setAlarmClock(new AlarmManager.AlarmClockInfo(triggerAtMillis, PendingIntent.getActivity(this, 0, new Intent(getApplicationContext(), MainActivity.class), PendingIntent.FLAG_UPDATE_CURRENT | MeditationAssistant.extraPendingIntentFlags())), pendingIntent);
} else if (Build.VERSION.SDK_INT >= 19) {
getAlarmManager().setExact(AlarmManager.RTC_WAKEUP, triggerAtMillis, pendingIntent);
} else {
@@ -765,7 +765,7 @@ public class MeditationAssistant extends Application {
AuthorizationService authorizationService = new AuthorizationService(context);
- PendingIntent authIntent = PendingIntent.getActivity(MeditationAssistant.this, 0, new Intent(context, AuthResultActivity.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK), PendingIntent.FLAG_CANCEL_CURRENT);
+ PendingIntent authIntent = PendingIntent.getActivity(MeditationAssistant.this, 0, new Intent(context, AuthResultActivity.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK), PendingIntent.FLAG_CANCEL_CURRENT | MeditationAssistant.extraPendingIntentFlags());
authorizationService.performAuthorizationRequest(
request,
@@ -1297,7 +1297,7 @@ public class MeditationAssistant extends Application {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
cancelDailyReminder(context);
- reminderPendingIntent = PendingIntent.getBroadcast(context, dailyReminderNotificationID, new Intent(MeditationAssistant.ACTION_REMINDER), PendingIntent.FLAG_CANCEL_CURRENT);
+ reminderPendingIntent = PendingIntent.getBroadcast(context, dailyReminderNotificationID, new Intent(MeditationAssistant.ACTION_REMINDER), PendingIntent.FLAG_CANCEL_CURRENT | MeditationAssistant.extraPendingIntentFlags());
/* Don't use setAlarmClock here as it will always place an alarm icon in the status bar */
setAlarm(false, calendar.getTimeInMillis(), reminderPendingIntent);
@@ -1332,7 +1332,7 @@ public class MeditationAssistant extends Application {
Log.e("MeditationAssistant", "AlarmManager update was not canceled. " + e.toString());
}
try {
- PendingIntent.getBroadcast(context, 0, new Intent(MeditationAssistant.ACTION_REMINDER), PendingIntent.FLAG_CANCEL_CURRENT).cancel();
+ PendingIntent.getBroadcast(context, 0, new Intent(MeditationAssistant.ACTION_REMINDER), PendingIntent.FLAG_CANCEL_CURRENT | MeditationAssistant.extraPendingIntentFlags()).cancel();
} catch (Exception e) {
Log.e("MeditationAssistant", "PendingIntent broadcast was not canceled. " + e.toString());
}
@@ -1553,14 +1553,14 @@ public class MeditationAssistant extends Application {
// intent.putExtra("notificationButton", "notification");
// intent.putExtra("notificationButton", "");
PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent,
- PendingIntent.FLAG_UPDATE_CURRENT);
+ PendingIntent.FLAG_UPDATE_CURRENT | MeditationAssistant.extraPendingIntentFlags());
Intent intent3 = new Intent(this, MainActivity.class);
// intent3.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
// intent3.putExtra("notificationButton", "end");
intent3.setAction("notificationEndBell");
PendingIntent pIntentEnd = PendingIntent.getActivity(this, 0, intent3,
- PendingIntent.FLAG_UPDATE_CURRENT);
+ PendingIntent.FLAG_UPDATE_CURRENT | MeditationAssistant.extraPendingIntentFlags());
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setOngoing(true)
@@ -1591,20 +1591,20 @@ public class MeditationAssistant extends Application {
// intent.putExtra("notificationButton", "notification");
// intent.putExtra("notificationButton", "");
PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent,
- PendingIntent.FLAG_UPDATE_CURRENT);
+ PendingIntent.FLAG_UPDATE_CURRENT | MeditationAssistant.extraPendingIntentFlags());
Intent intent2 = new Intent(this, MainActivity.class);
// intent2.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent2.setAction("notificationPause");
PendingIntent pIntentPause = PendingIntent.getActivity(this, 0, intent2,
- PendingIntent.FLAG_UPDATE_CURRENT);
+ PendingIntent.FLAG_UPDATE_CURRENT | MeditationAssistant.extraPendingIntentFlags());
Intent intent3 = new Intent(this, MainActivity.class);
// intent3.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
// intent3.putExtra("notificationButton", "end");
intent3.setAction("notificationEnd");
PendingIntent pIntentEnd = PendingIntent.getActivity(this, 0, intent3,
- PendingIntent.FLAG_UPDATE_CURRENT);
+ PendingIntent.FLAG_UPDATE_CURRENT | MeditationAssistant.extraPendingIntentFlags());
String streaktext = "";
if (getMeditationStreak().get(0) > 1) {
@@ -2643,4 +2643,11 @@ public class MeditationAssistant extends Application {
super.attachBaseContext(base);
MultiDex.install(this);
}
+
+ public static int extraPendingIntentFlags() {
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S) {
+ return 0;
+ }
+ return PendingIntent.FLAG_MUTABLE;
+ }
}
diff --git a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/WidgetPresetProvider.java b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/WidgetPresetProvider.java
index 0cd55cb..6b9ee6a 100644
--- a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/WidgetPresetProvider.java
+++ b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/WidgetPresetProvider.java
@@ -57,7 +57,7 @@ public class WidgetPresetProvider extends AppWidgetProvider {
clickintent.putExtra("widgetid", widgetId);
PendingIntent pendingIntent = PendingIntent.getActivity(
- context, widgetId, clickintent, 0);
+ context, widgetId, clickintent, MeditationAssistant.extraPendingIntentFlags());
updateViews.setOnClickPendingIntent(R.id.layWidget, pendingIntent);
updateViews.setOnClickPendingIntent(R.id.txtWidgetPresetText, pendingIntent);
diff --git a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/WidgetStreakService.java b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/WidgetStreakService.java
index 08c06b0..57c7e15 100644
--- a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/WidgetStreakService.java
+++ b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/WidgetStreakService.java
@@ -54,7 +54,7 @@ public class WidgetStreakService extends Service {
Intent clickintent = new Intent(getApplicationContext(), MainActivity.class);
clickintent.setAction("widgetclick");
PendingIntent pendingIntent = PendingIntent.getActivity(
- getApplicationContext(), 0, clickintent, 0);
+ getApplicationContext(), 0, clickintent, MeditationAssistant.extraPendingIntentFlags());
updateViews.setOnClickPendingIntent(R.id.layWidget, pendingIntent);
updateViews.setOnClickPendingIntent(R.id.txtWidgetStreakDays, pendingIntent);
updateViews.setOnClickPendingIntent(R.id.txtWidgetStreakText, pendingIntent);
diff --git a/build.gradle b/build.gradle
index 93efa99..9e4b99d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@ buildscript {
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.2.0'
+ classpath 'com.android.tools.build:gradle:7.2.2'
}
}