From 2f349da025c1de55b7843ae12e500d10f2297ab4 Mon Sep 17 00:00:00 2001 From: Ashwini Oruganti Date: Fri, 8 Jan 2021 13:14:05 -0800 Subject: [PATCH] Bulk apply PendingIntent.FLAG_MUTABLE_UNAUDITED. We've been working hard to require PendingIntents explicitly declare if they allow their contents to be mutated or not, and to finish landing that work this change applies the new FLAG_MUTABLE_UNAUDITED flag to all remaining code locations until they can be manually inspected. Bug: 160794467 Test: manual Change-Id: I7b9ef5dcd35187facef1ec424589b81f834f23c0 --- .../homepage/contextualcards/slices/FaceSetupSlice.java | 2 +- .../settings/network/telephony/EuiccOperationSidecar.java | 2 +- .../android/settings/network/telephony/MobileDataSlice.java | 2 +- src/com/android/settings/sim/SimSelectNotification.java | 6 +++--- .../settings/wifi/calling/WifiCallingSliceHelper.java | 6 +++--- .../settings/wifi/calling/WifiCallingSliceHelperTest.java | 4 ++-- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/com/android/settings/homepage/contextualcards/slices/FaceSetupSlice.java b/src/com/android/settings/homepage/contextualcards/slices/FaceSetupSlice.java index 2e348240172..0ad241e7431 100644 --- a/src/com/android/settings/homepage/contextualcards/slices/FaceSetupSlice.java +++ b/src/com/android/settings/homepage/contextualcards/slices/FaceSetupSlice.java @@ -143,7 +143,7 @@ public class FaceSetupSlice implements CustomSliceable { private static RowBuilder buildRowBuilder(CharSequence title, CharSequence subTitle, IconCompat icon, Context context, Intent intent) { final SliceAction primarySliceAction = SliceAction.createDeeplink( - PendingIntent.getActivity(context, 0, intent, 0), icon, ListBuilder.ICON_IMAGE, + PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_MUTABLE_UNAUDITED), icon, ListBuilder.ICON_IMAGE, title); return new RowBuilder() .setTitleItem(icon, ListBuilder.ICON_IMAGE) diff --git a/src/com/android/settings/network/telephony/EuiccOperationSidecar.java b/src/com/android/settings/network/telephony/EuiccOperationSidecar.java index c82220edeca..a637cc2339f 100644 --- a/src/com/android/settings/network/telephony/EuiccOperationSidecar.java +++ b/src/com/android/settings/network/telephony/EuiccOperationSidecar.java @@ -99,7 +99,7 @@ public abstract class EuiccOperationSidecar extends SidecarFragment { Intent intent = new Intent(getReceiverAction()); intent.putExtra(EXTRA_OP_ID, mOpId); return PendingIntent.getBroadcast( - getContext(), REQUEST_CODE, intent, PendingIntent.FLAG_CANCEL_CURRENT); + getContext(), REQUEST_CODE, intent, PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_MUTABLE_UNAUDITED); } @Override diff --git a/src/com/android/settings/network/telephony/MobileDataSlice.java b/src/com/android/settings/network/telephony/MobileDataSlice.java index c3b08d38bfa..7c9bac0cf06 100644 --- a/src/com/android/settings/network/telephony/MobileDataSlice.java +++ b/src/com/android/settings/network/telephony/MobileDataSlice.java @@ -173,7 +173,7 @@ public class MobileDataSlice implements CustomSliceable { private PendingIntent getPrimaryAction() { final Intent intent = getIntent(); return PendingIntent.getActivity(mContext, 0 /* requestCode */, - intent, 0 /* flags */); + intent, PendingIntent.FLAG_MUTABLE_UNAUDITED /* flags */); } /** diff --git a/src/com/android/settings/sim/SimSelectNotification.java b/src/com/android/settings/sim/SimSelectNotification.java index 8d5a3e05c44..b4bd4096da1 100644 --- a/src/com/android/settings/sim/SimSelectNotification.java +++ b/src/com/android/settings/sim/SimSelectNotification.java @@ -226,7 +226,7 @@ public class SimSelectNotification extends BroadcastReceiver { resultIntent.setPackage(SETTINGS_PACKAGE_NAME); resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); PendingIntent resultPendingIntent = PendingIntent.getActivity(context, 0, resultIntent, - PendingIntent.FLAG_CANCEL_CURRENT); + PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_MUTABLE_UNAUDITED); builder.setContentIntent(resultPendingIntent); NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); @@ -264,7 +264,7 @@ public class SimSelectNotification extends BroadcastReceiver { resultIntent.putExtra(Settings.EXTRA_SUB_ID, subId); resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); PendingIntent resultPendingIntent = PendingIntent.getActivity(context, 0, resultIntent, - PendingIntent.FLAG_CANCEL_CURRENT); + PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_MUTABLE_UNAUDITED); builder.setContentIntent(resultPendingIntent); // Notify the notification. @@ -312,7 +312,7 @@ public class SimSelectNotification extends BroadcastReceiver { resultIntent.putExtra(Intent.EXTRA_TEXT, "help_uri_sim_combination_warning"); PendingIntent resultPendingIntent = PendingIntent.getActivity(context, 0, resultIntent, - PendingIntent.FLAG_CANCEL_CURRENT); + PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_MUTABLE_UNAUDITED); builder.setContentIntent(resultPendingIntent); NotificationManager notificationManager = diff --git a/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java b/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java index 26d742d530e..afab8c3cf77 100644 --- a/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java +++ b/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java @@ -539,7 +539,7 @@ public class WifiCallingSliceHelper { */ public static PendingIntent getSettingsIntent(Context context) { final Intent intent = new Intent(Settings.ACTION_SETTINGS); - return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */); + return PendingIntent.getActivity(context, 0 /* requestCode */, intent, PendingIntent.FLAG_MUTABLE_UNAUDITED /* flags */); } private PendingIntent getBroadcastIntent(String action) { @@ -547,7 +547,7 @@ public class WifiCallingSliceHelper { intent.setClass(mContext, SliceBroadcastReceiver.class); intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND); return PendingIntent.getBroadcast(mContext, 0 /* requestCode */, intent, - PendingIntent.FLAG_CANCEL_CURRENT); + PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_MUTABLE_UNAUDITED); } /** @@ -557,7 +557,7 @@ public class WifiCallingSliceHelper { final Intent intent = new Intent(action); intent.setPackage(SETTINGS_PACKAGE_NAME); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - return PendingIntent.getActivity(mContext, 0 /* requestCode */, intent, 0 /* flags */); + return PendingIntent.getActivity(mContext, 0 /* requestCode */, intent, PendingIntent.FLAG_MUTABLE_UNAUDITED /* flags */); } private Resources getResourcesForSubId(int subId) { diff --git a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java index 03a63b0b8b2..0dcf6852fad 100644 --- a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java +++ b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java @@ -397,14 +397,14 @@ public class WifiCallingSliceHelperTest { final Intent intent = new Intent(action); intent.setClass(mContext, SliceBroadcastReceiver.class); return PendingIntent.getBroadcast(mContext, 0 /* requestCode */, intent, - PendingIntent.FLAG_CANCEL_CURRENT); + PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_MUTABLE_UNAUDITED); } private PendingIntent getActivityIntent(String action) { final Intent intent = new Intent(action); intent.setPackage(SETTINGS_PACKAGE_NAME); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - return PendingIntent.getActivity(mContext, 0 /* requestCode */, intent, 0 /* flags */); + return PendingIntent.getActivity(mContext, 0 /* requestCode */, intent, PendingIntent.FLAG_MUTABLE_UNAUDITED /* flags */); } private void assertTitle(List sliceItems, String title) {