diff --git a/android_app/app/build.gradle b/android_app/app/build.gradle index 5f6729c6..dd4e5611 100644 --- a/android_app/app/build.gradle +++ b/android_app/app/build.gradle @@ -6,7 +6,7 @@ android { defaultConfig { applicationId "com.health.openscale" testApplicationId "com.health.openscale.test" - minSdkVersion 21 + minSdkVersion 23 targetSdkVersion 31 versionCode 58 versionName "2.4.3" diff --git a/android_app/app/src/main/java/com/health/openscale/core/alarm/AlarmBackupHandler.java b/android_app/app/src/main/java/com/health/openscale/core/alarm/AlarmBackupHandler.java index d2880147..41aa5724 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/alarm/AlarmBackupHandler.java +++ b/android_app/app/src/main/java/com/health/openscale/core/alarm/AlarmBackupHandler.java @@ -75,7 +75,7 @@ public class AlarmBackupHandler Intent alarmIntent = new Intent(context, ReminderBootReceiver.class); alarmIntent.putExtra(INTENT_EXTRA_BACKUP_ALARM, true); - return PendingIntent.getBroadcast(context, ALARM_NOTIFICATION_ID, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT); + return PendingIntent.getBroadcast(context, ALARM_NOTIFICATION_ID, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); } public void disableAlarm(Context context) { diff --git a/android_app/app/src/main/java/com/health/openscale/core/alarm/AlarmHandler.java b/android_app/app/src/main/java/com/health/openscale/core/alarm/AlarmHandler.java index 049ac5a6..68ee9777 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/alarm/AlarmHandler.java +++ b/android_app/app/src/main/java/com/health/openscale/core/alarm/AlarmHandler.java @@ -15,6 +15,8 @@ */ package com.health.openscale.core.alarm; +import static android.content.Context.NOTIFICATION_SERVICE; + import android.app.AlarmManager; import android.app.Notification; import android.app.NotificationChannel; @@ -25,6 +27,8 @@ import android.content.Intent; import android.os.Build; import android.service.notification.StatusBarNotification; +import androidx.core.app.NotificationCompat; + import com.health.openscale.R; import com.health.openscale.core.datatypes.ScaleMeasurement; import com.health.openscale.gui.MainActivity; @@ -34,11 +38,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Set; -import androidx.core.app.NotificationCompat; import timber.log.Timber; -import static android.content.Context.NOTIFICATION_SERVICE; - public class AlarmHandler { public static final String INTENT_EXTRA_ALARM = "alarmIntent"; @@ -116,7 +117,7 @@ public class AlarmHandler Intent alarmIntent = new Intent(context, ReminderBootReceiver.class); alarmIntent.putExtra(INTENT_EXTRA_ALARM, true); - return PendingIntent.getBroadcast(context, dayOfWeek, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT); + return PendingIntent.getBroadcast(context, dayOfWeek, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); } public void disableAllAlarms(Context context) @@ -156,7 +157,7 @@ public class AlarmHandler Intent notifyIntent = new Intent(context, MainActivity.class); PendingIntent notifyPendingIntent = - PendingIntent.getActivity(context, 0, notifyIntent, PendingIntent.FLAG_UPDATE_CURRENT); + PendingIntent.getActivity(context, 0, notifyIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context, "openScale_notify"); diff --git a/android_app/app/src/main/java/com/health/openscale/gui/widget/WidgetProvider.java b/android_app/app/src/main/java/com/health/openscale/gui/widget/WidgetProvider.java index 3fc7cb2e..51ac866b 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/widget/WidgetProvider.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/widget/WidgetProvider.java @@ -144,7 +144,7 @@ public class WidgetProvider extends AppWidgetProvider { // Start main activity when widget is clicked Intent intent = new Intent(context, MainActivity.class); - PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); + PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_IMMUTABLE); views.setOnClickPendingIntent(R.id.widget_layout, pendingIntent); appWidgetManager.updateAppWidget(appWidgetId, views);