Ensure only system-provided call settings is accessible via intent.
Ensure only the system provided ACTION_SHOW_CALL_SETTINGS screen is shown
by setting priority > 0 for the default telephony implementation of this
screen.
Remove config.xml overlay for settings package as it won't be needed since
only system apps can declare an intent-filter priority > 0.
Test: Manual test call forwarding notification redirects as expected.
Fixes: 184238873
Change-Id: I39d72d0c1dda900cb034cf93993be17805b6ecff
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 014fc17..15881b8 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -429,7 +429,7 @@
android:configChanges="orientation|screenSize|keyboardHidden"
android:exported="true"
android:theme="@style/DialerSettingsLight">
- <intent-filter>
+ <intent-filter android:priority="1">
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.MAIN" />
<action android:name="android.telecom.action.SHOW_CALL_SETTINGS" />
diff --git a/res/values/config.xml b/res/values/config.xml
index a296254..9f8cc81 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -317,8 +317,4 @@
<!-- The package names which can request thermal mitigation. -->
<string-array name="thermal_mitigation_allowlisted_packages" translatable="false">
</string-array>
-
- <!-- The package name of the app which hosts the
- {@link TelecomManager#ACTION_SHOW_CALL_SETTINGS} settings screen. -->
- <string name="call_settings_package_name">com.android.phone</string>
</resources>
diff --git a/src/com/android/phone/NotificationMgr.java b/src/com/android/phone/NotificationMgr.java
index fb45f4c..f2641a1 100644
--- a/src/com/android/phone/NotificationMgr.java
+++ b/src/com/android/phone/NotificationMgr.java
@@ -567,8 +567,6 @@
Intent intent = new Intent(TelecomManager.ACTION_SHOW_CALL_SETTINGS);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
- intent.setPackage(mContext.getResources().getString(
- R.string.call_settings_package_name));
SubscriptionInfoHelper.addExtrasToIntent(
intent, mSubscriptionManager.getActiveSubscriptionInfo(subId));
builder.setContentIntent(PendingIntent.getActivity(mContext, subId /* requestCode */,