Add the mutability flag for SettingsSliceProvider
Starting Android S, all PendingIntent should have the mutability flag assigned to prevent from vulnerability. Fixes: 172811605 Fixes: 172206649 Test: 1. Play on the slices in Settings search. 2. Make a permission request intent of Settings wifi slice in the slice-viewer app, clicking on it and make sure it gets redirect to Settings without crashes. Change-Id: I86f915bc062a6e632b5ca9c74e232db1036f08de
This commit is contained in:
@@ -343,7 +343,7 @@ public class SettingsSliceProvider extends SliceProvider {
|
|||||||
final Intent settingsIntent = new Intent(Settings.ACTION_SETTINGS)
|
final Intent settingsIntent = new Intent(Settings.ACTION_SETTINGS)
|
||||||
.setPackage(Utils.SETTINGS_PACKAGE_NAME);
|
.setPackage(Utils.SETTINGS_PACKAGE_NAME);
|
||||||
final PendingIntent noOpIntent = PendingIntent.getActivity(getContext(),
|
final PendingIntent noOpIntent = PendingIntent.getActivity(getContext(),
|
||||||
0 /* requestCode */, settingsIntent, 0 /* flags */);
|
0 /* requestCode */, settingsIntent, PendingIntent.FLAG_IMMUTABLE);
|
||||||
return noOpIntent;
|
return noOpIntent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -565,7 +565,8 @@ public class SettingsSliceProviderTest {
|
|||||||
final Intent settingsIntent = new Intent(Settings.ACTION_SETTINGS)
|
final Intent settingsIntent = new Intent(Settings.ACTION_SETTINGS)
|
||||||
.setPackage(Utils.SETTINGS_PACKAGE_NAME);
|
.setPackage(Utils.SETTINGS_PACKAGE_NAME);
|
||||||
PendingIntent settingsPendingIntent =
|
PendingIntent settingsPendingIntent =
|
||||||
PendingIntent.getActivity(mContext, 0, settingsIntent, 0);
|
PendingIntent.getActivity(mContext, 0, settingsIntent,
|
||||||
|
PendingIntent.FLAG_IMMUTABLE);
|
||||||
|
|
||||||
assertThat(pendingIntent).isEqualTo(settingsPendingIntent);
|
assertThat(pendingIntent).isEqualTo(settingsPendingIntent);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user