Updater: Add FLAG_IMMUTABLE flag to PendingIntent
Fixes: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles. Change-Id: I63b25512d3bf6e0d3b0cc95d91295f4065175848
This commit is contained in:
@@ -100,7 +100,7 @@ public class UpdaterService extends Service {
|
||||
|
||||
Intent notificationIntent = new Intent(this, UpdatesActivity.class);
|
||||
PendingIntent intent = PendingIntent.getActivity(this, 0, notificationIntent,
|
||||
PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
||||
mNotificationBuilder.setContentIntent(intent);
|
||||
|
||||
mBroadcastReceiver = new BroadcastReceiver() {
|
||||
@@ -502,7 +502,8 @@ public class UpdaterService extends Service {
|
||||
intent.setAction(ACTION_DOWNLOAD_CONTROL);
|
||||
intent.putExtra(EXTRA_DOWNLOAD_ID, downloadId);
|
||||
intent.putExtra(EXTRA_DOWNLOAD_CONTROL, DOWNLOAD_RESUME);
|
||||
return PendingIntent.getService(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
return PendingIntent.getService(this, 0, intent,
|
||||
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
||||
}
|
||||
|
||||
private PendingIntent getPausePendingIntent(String downloadId) {
|
||||
@@ -510,26 +511,28 @@ public class UpdaterService extends Service {
|
||||
intent.setAction(ACTION_DOWNLOAD_CONTROL);
|
||||
intent.putExtra(EXTRA_DOWNLOAD_ID, downloadId);
|
||||
intent.putExtra(EXTRA_DOWNLOAD_CONTROL, DOWNLOAD_PAUSE);
|
||||
return PendingIntent.getService(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
return PendingIntent.getService(this, 0, intent,
|
||||
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
||||
}
|
||||
|
||||
private PendingIntent getRebootPendingIntent() {
|
||||
final Intent intent = new Intent(this, UpdaterReceiver.class);
|
||||
intent.setAction(UpdaterReceiver.ACTION_INSTALL_REBOOT);
|
||||
return PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
return PendingIntent.getBroadcast(this, 0, intent,
|
||||
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
||||
}
|
||||
|
||||
private PendingIntent getSuspendInstallationPendingIntent() {
|
||||
final Intent intent = new Intent(this, UpdaterService.class);
|
||||
intent.setAction(ACTION_INSTALL_SUSPEND);
|
||||
return PendingIntent.getService(this, 0, intent,
|
||||
PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
||||
}
|
||||
|
||||
private PendingIntent getResumeInstallationPendingIntent() {
|
||||
final Intent intent = new Intent(this, UpdaterService.class);
|
||||
intent.setAction(ACTION_INSTALL_RESUME);
|
||||
return PendingIntent.getService(this, 0, intent,
|
||||
PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user