Use FLAG_IMMUTABLE for CarrierServiceStateTracker

Require that the PendingIntent be immutable so that a malicious app is
 not able to hijack and mutate any of the details.

Test: Android builds
Bug: 155094269
Change-Id: Iea9ec6451170e592dc72c035d6eec7b80150ddd4
Merged-In: Iea9ec6451170e592dc72c035d6eec7b80150ddd4
(cherry picked from commit 89763569eacb10c4043d8937c948130b1f816e79)
diff --git a/src/java/com/android/internal/telephony/CarrierServiceStateTracker.java b/src/java/com/android/internal/telephony/CarrierServiceStateTracker.java
index 7f49f28..caa35d8 100644
--- a/src/java/com/android/internal/telephony/CarrierServiceStateTracker.java
+++ b/src/java/com/android/internal/telephony/CarrierServiceStateTracker.java
@@ -401,7 +401,7 @@
             Intent notificationIntent = new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS);
             notificationIntent.putExtra("expandable", true);
             PendingIntent settingsIntent = PendingIntent.getActivity(context, 0, notificationIntent,
-                    PendingIntent.FLAG_ONE_SHOT);
+                    PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE);
             CharSequence title = context.getText(
                     com.android.internal.R.string.NetworkPreferenceSwitchTitle);
             CharSequence details = context.getText(