Skip to content
This repository has been archived by the owner on Jan 10, 2024. It is now read-only.

Commit

Permalink
Add FLAG_IMMUTABLE to all PendingIntent instantiations
Browse files Browse the repository at this point in the history
  • Loading branch information
jfoerste committed Apr 23, 2022
1 parent b8ba384 commit 2e4f2a7
Show file tree
Hide file tree
Showing 9 changed files with 16 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ class UpdatePushNotification(

val sound = Uri.parse("android.resource://${appContext.packageName}/${R.raw.message}")
val alarm = Intent(appContext, MainActivity::class.java)
val pending = PendingIntent.getActivity(appContext, 0, alarm, PendingIntent.FLAG_UPDATE_CURRENT)
val pending = PendingIntent.getActivity(appContext, 0, alarm, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT)

val description = if (info.description.isNotEmpty()) {
info.description
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class TimetableWidget : AppWidgetProvider() {
override fun onDisabled(context: Context) {
// Cancel alarm as the last widget has been removed
val intent = Intent(context, TimetableWidget::class.java)
val sender = PendingIntent.getBroadcast(context, 0, intent, 0)
val sender = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_IMMUTABLE)
val alarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager?
if (alarmManager != null) {
alarmManager.cancel(sender)
Expand Down Expand Up @@ -66,7 +66,7 @@ class TimetableWidget : AppWidgetProvider() {

val intent = Intent(context, TimetableWidget::class.java)
intent.action = BROADCAST_UPDATE_TIMETABLE_WIDGETS
val pi = PendingIntent.getBroadcast(context, 0, intent, 0)
val pi = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_IMMUTABLE)

val am = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager?
if (am != null) {
Expand Down Expand Up @@ -113,20 +113,20 @@ class TimetableWidget : AppWidgetProvider() {
val configIntent = Intent(context, TimetableWidgetConfigureActivity::class.java)
configIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId)
val pendingConfigIntent = PendingIntent.getActivity(
context, appWidgetId, configIntent, PendingIntent.FLAG_UPDATE_CURRENT)
context, appWidgetId, configIntent, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT)
remoteViews.setOnClickPendingIntent(R.id.timetable_widget_setting, pendingConfigIntent)

// Set up the calendar activity listeners
val calendarIntent = Intent(context, CalendarActivity::class.java)
val pendingCalendarIntent = PendingIntent.getActivity(
context, appWidgetId, calendarIntent, PendingIntent.FLAG_UPDATE_CURRENT)
context, appWidgetId, calendarIntent, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT)
remoteViews.setOnClickPendingIntent(R.id.timetable_widget_header, pendingCalendarIntent)

// Set up the calendar intent used when the user taps an event
val eventIntent = Intent(context, CalendarActivity::class.java)
eventIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId)
val eventPendingIntent = PendingIntent.getActivity(
context, appWidgetId, eventIntent, PendingIntent.FLAG_UPDATE_CURRENT)
context, appWidgetId, eventIntent, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT)
remoteViews.setPendingIntentTemplate(R.id.timetable_widget_listview, eventPendingIntent)

// Set up the intent that starts the TimetableWidgetService, which will
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ class GradesNotificationProvider(
R.plurals.new_grades_format_string, size, size, formattedNewGrades)

val intent = GradesActivity.newIntent(context)
val pendingIntent = PendingIntent.getActivity(context, 0, intent, FLAG_UPDATE_CURRENT)
val pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_IMMUTABLE or FLAG_UPDATE_CURRENT)

val deleteIntent = GradeNotificationDeleteReceiver.newIntent(context, newGrades)
val deletePendingIntent = PendingIntent.getBroadcast(
context, DELETE_REQUEST_CODE, deleteIntent, PendingIntent.FLAG_UPDATE_CURRENT)
context, DELETE_REQUEST_CODE, deleteIntent, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT)

val notification = getNotificationBuilder()
.setContentTitle(title)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ class CafeteriaNotificationProvider(context: Context) : NotificationProvider(con
}

val pendingIntent = PendingIntent.getActivity(
context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)
context, 0, intent, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT)

val summaryNotification = getNotificationBuilder()
.setContentTitle(title)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class NewsNotificationProvider(

val intent = Intent(context, NewsActivity::class.java)
val pendingIntent = PendingIntent.getActivity(
context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)
context, 0, intent, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT)

val notification = getNotificationBuilder()
.setContentTitle(summaryTitle)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class TransportNotificationProvider(context: Context) : NotificationProvider(con

val intent = station.getIntent(context)
val pendingIntent = PendingIntent.getActivity(
context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)
context, 0, intent, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT)

val notification = getNotificationBuilder()
.setContentTitle(title)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ class MVVWidget : AppWidgetProvider() {
}

val intent = Intent(context, MVVWidget::class.java)
val sender = PendingIntent.getBroadcast(context, 0, intent, 0)
val sender = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_IMMUTABLE)
val alarmManager = context.alarmManager
alarmManager.cancel(sender)
if (autoReload) {
Expand Down Expand Up @@ -114,7 +114,7 @@ class MVVWidget : AppWidgetProvider() {
putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId)
}
val pendingIntent = PendingIntent.getActivity(
context, appWidgetId, configIntent, PendingIntent.FLAG_UPDATE_CURRENT)
context, appWidgetId, configIntent, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT)
remoteViews.setOnClickPendingIntent(R.id.mvv_widget_setting_button, pendingIntent)

// Set up the reload functionality
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ class GeofencingRegistrationService : JobIntentService() {
val request = intent.getParcelableExtra<GeofencingRequest>(Const.ADD_GEOFENCE_EXTRA) ?: return
val geofenceIntent = Intent(this, GeofencingUpdateReceiver::class.java)
val geofencePendingIntent = PendingIntent.getBroadcast(
this, 0, geofenceIntent, PendingIntent.FLAG_UPDATE_CURRENT)
this, 0, geofenceIntent, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT)

locationClient.addGeofences(request, geofencePendingIntent)
Utils.log("Registered new Geofence")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,8 @@ class ScanResultsAvailableReceiver : BroadcastReceiver() {
val setupIntent = Intent(context, SetupEduroamActivity::class.java)
val hideIntent = Intent(context, NeverShowAgainService::class.java)

val setupPendingIntent = PendingIntent.getActivity(context, 0, setupIntent, PendingIntent.FLAG_UPDATE_CURRENT)
val hidePendingIntent = PendingIntent.getService(context, 0, hideIntent, PendingIntent.FLAG_UPDATE_CURRENT)
val setupPendingIntent = PendingIntent.getActivity(context, 0, setupIntent, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT)
val hidePendingIntent = PendingIntent.getService(context, 0, hideIntent, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT)

// Create FcmNotification using NotificationCompat.Builder
val notification = NotificationCompat.Builder(context, Const.NOTIFICATION_CHANNEL_EDUROAM)
Expand Down

0 comments on commit 2e4f2a7

Please sign in to comment.