diff --git a/res/xml/network_provider_sims_list.xml b/res/xml/network_provider_sims_list.xml index cc7589cfa46..abb947a25d4 100644 --- a/res/xml/network_provider_sims_list.xml +++ b/res/xml/network_provider_sims_list.xml @@ -35,7 +35,8 @@ android:title="@string/mobile_network_list_add_more" android:icon="@drawable/ic_menu_add_activated_tint" android:order="100"> - + diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java index 6a20d75c14e..f09175fe529 100644 --- a/src/com/android/settings/Utils.java +++ b/src/com/android/settings/Utils.java @@ -144,6 +144,8 @@ public final class Utils extends com.android.settingslib.Utils { public static final String SYSTEMUI_PACKAGE_NAME = "com.android.systemui"; + public static final String PHONE_PACKAGE_NAME = "com.android.phone"; + public static final String OS_PKG = "os"; /** diff --git a/src/com/android/settings/bluetooth/RequestPermissionHelper.kt b/src/com/android/settings/bluetooth/RequestPermissionHelper.kt index 73084e4371d..d4314c854b4 100644 --- a/src/com/android/settings/bluetooth/RequestPermissionHelper.kt +++ b/src/com/android/settings/bluetooth/RequestPermissionHelper.kt @@ -70,7 +70,10 @@ object RequestPermissionHelper { private fun Context.isDisallowBluetooth() = if (userManager.hasUserRestriction(UserManager.DISALLOW_BLUETOOTH)) { devicePolicyManager.createAdminSupportIntent(UserManager.DISALLOW_BLUETOOTH) - ?.let { startActivity(it) } + ?.let { + it.setPackage(packageName) + startActivity(it) + } true } else false diff --git a/src/com/android/settings/network/AirplaneModePreferenceController.java b/src/com/android/settings/network/AirplaneModePreferenceController.java index b3fc5177e9d..b52779b3f3e 100644 --- a/src/com/android/settings/network/AirplaneModePreferenceController.java +++ b/src/com/android/settings/network/AirplaneModePreferenceController.java @@ -34,6 +34,7 @@ import androidx.preference.TwoStatePreference; import com.android.settings.AirplaneModeEnabler; import com.android.settings.R; +import com.android.settings.Utils; import com.android.settings.core.TogglePreferenceController; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnDestroy; @@ -84,7 +85,8 @@ public class AirplaneModePreferenceController extends TogglePreferenceController // In ECM mode launch ECM app dialog if (mFragment != null) { mFragment.startActivityForResult( - new Intent(TelephonyManager.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS, null), + new Intent(TelephonyManager.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS, null) + .setPackage(Utils.PHONE_PACKAGE_NAME), REQUEST_CODE_EXIT_ECM); } return true; diff --git a/src/com/android/settings/network/MobileNetworkSummaryController.java b/src/com/android/settings/network/MobileNetworkSummaryController.java index 15c149410b3..4627a253eca 100644 --- a/src/com/android/settings/network/MobileNetworkSummaryController.java +++ b/src/com/android/settings/network/MobileNetworkSummaryController.java @@ -146,6 +146,7 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController private void startAddSimFlow() { final Intent intent = new Intent(EuiccManager.ACTION_PROVISION_EMBEDDED_SUBSCRIPTION); + intent.setPackage(com.android.settings.Utils.PHONE_PACKAGE_NAME); intent.putExtra(EuiccManager.EXTRA_FORCE_PROVISION, true); mContext.startActivity(intent); } diff --git a/src/com/android/settings/network/telephony/ApnPreferenceController.java b/src/com/android/settings/network/telephony/ApnPreferenceController.java index c4732ecdfd7..71d7125281b 100644 --- a/src/com/android/settings/network/telephony/ApnPreferenceController.java +++ b/src/com/android/settings/network/telephony/ApnPreferenceController.java @@ -108,6 +108,7 @@ public class ApnPreferenceController extends TelephonyBasePreferenceController i if (getPreferenceKey().equals(preference.getKey())) { // This activity runs in phone process, we must use intent to start final Intent intent = new Intent(Settings.ACTION_APN_SETTINGS); + intent.setPackage(mContext.getPackageName()); // This will setup the Home and Search affordance intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_AS_SUBSETTING, true); intent.putExtra(ApnSettings.SUB_ID, mSubId); diff --git a/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt b/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt index 6d326e080b1..1cf770b3d40 100644 --- a/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt +++ b/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt @@ -75,6 +75,7 @@ class DataUsagePreferenceController(context: Context, key: String) : override fun handlePreferenceTreeClick(preference: Preference): Boolean { if (preference.key != preferenceKey || networkTemplate == null) return false val intent = Intent(Settings.ACTION_MOBILE_DATA_USAGE).apply { + setPackage(mContext.packageName) putExtra(Settings.EXTRA_NETWORK_TEMPLATE, networkTemplate) putExtra(Settings.EXTRA_SUB_ID, mSubId) } diff --git a/src/com/android/settings/network/telephony/EuiccPreferenceController.java b/src/com/android/settings/network/telephony/EuiccPreferenceController.java index 68f43706e24..50523792e6a 100644 --- a/src/com/android/settings/network/telephony/EuiccPreferenceController.java +++ b/src/com/android/settings/network/telephony/EuiccPreferenceController.java @@ -24,6 +24,8 @@ import android.text.TextUtils; import androidx.preference.Preference; +import com.android.settings.Utils; + /** * Preference controller for "Euicc preference" */ @@ -57,7 +59,8 @@ public class EuiccPreferenceController extends TelephonyBasePreferenceController @Override public boolean handlePreferenceTreeClick(Preference preference) { if (TextUtils.equals(preference.getKey(), getPreferenceKey())) { - Intent intent = new Intent(EuiccManager.ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS); + Intent intent = new Intent(EuiccManager.ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS) + .setPackage(Utils.PHONE_PACKAGE_NAME); mContext.startActivity(intent); return true; } diff --git a/src/com/android/settings/network/telephony/MobileNetworkSettings.java b/src/com/android/settings/network/telephony/MobileNetworkSettings.java index 2f2b20e1699..d57de1a788f 100644 --- a/src/com/android/settings/network/telephony/MobileNetworkSettings.java +++ b/src/com/android/settings/network/telephony/MobileNetworkSettings.java @@ -43,6 +43,7 @@ import androidx.preference.Preference; import com.android.settings.R; import com.android.settings.Settings.MobileNetworkActivity; import com.android.settings.SettingsActivity; +import com.android.settings.Utils; import com.android.settings.datausage.BillingCyclePreferenceController; import com.android.settings.datausage.DataUsageSummaryPreferenceController; import com.android.settings.network.CarrierWifiTogglePreferenceController; @@ -133,7 +134,8 @@ public class MobileNetworkSettings extends AbstractMobileNetworkSettings impleme || TextUtils.equals(key, BUTTON_CDMA_SUBSCRIPTION_KEY)) { if (mTelephonyManager.getEmergencyCallbackMode()) { startActivityForResult( - new Intent(TelephonyManager.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS, null), + new Intent(TelephonyManager.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS, null) + .setPackage(Utils.PHONE_PACKAGE_NAME), REQUEST_CODE_EXIT_ECM); mClickedPrefKey = key; } diff --git a/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java b/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java index 5e8a3c3d7e3..153698c381b 100644 --- a/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java +++ b/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java @@ -96,7 +96,8 @@ public class SatelliteSettingPreferenceController extends public boolean handlePreferenceTreeClick(@NonNull Preference preference) { if (getPreferenceKey().equals(preference.getKey())) { // This activity runs in phone process, we must use intent to start - final Intent intent = new Intent(Settings.ACTION_SATELLITE_SETTING); + final Intent intent = new Intent(Settings.ACTION_SATELLITE_SETTING) + .setPackage(mContext.getPackageName()); // This will setup the Home and Search affordance intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_AS_SUBSETTING, true); intent.putExtra(SatelliteSetting.SUB_ID, mSubId); diff --git a/src/com/android/settings/notification/SpatialAudioSettings.java b/src/com/android/settings/notification/SpatialAudioSettings.java index 3bdb52411d3..1938f5165ef 100644 --- a/src/com/android/settings/notification/SpatialAudioSettings.java +++ b/src/com/android/settings/notification/SpatialAudioSettings.java @@ -45,7 +45,8 @@ public class SpatialAudioSettings extends DashboardFragment { footerPreference.setLearnMoreText( getString(R.string.spatial_audio_footer_learn_more_text)); footerPreference.setLearnMoreAction( - view -> startActivity(new Intent(Settings.ACTION_BLUETOOTH_SETTINGS))); + view -> startActivity(new Intent(Settings.ACTION_BLUETOOTH_SETTINGS) + .setPackage(getContext().getPackageName()))); } } diff --git a/src/com/android/settings/print/ProfileSettingsPreferenceFragment.java b/src/com/android/settings/print/ProfileSettingsPreferenceFragment.java index 63b83f1bf34..431e17e4038 100644 --- a/src/com/android/settings/print/ProfileSettingsPreferenceFragment.java +++ b/src/com/android/settings/print/ProfileSettingsPreferenceFragment.java @@ -55,7 +55,8 @@ public abstract class ProfileSettingsPreferenceFragment extends RestrictedDashbo final UserHandle selectedUser = profileSpinnerAdapter.getUserHandle(position); if (selectedUser.getIdentifier() != UserHandle.myUserId()) { final Activity activity = getActivity(); - Intent intent = new Intent(getIntentActionString()); + Intent intent = new Intent(getIntentActionString()) + .setPackage(getContext().getPackageName()); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); activity.startActivityAsUser(intent, selectedUser); diff --git a/src/com/android/settings/spa/network/SimsSection.kt b/src/com/android/settings/spa/network/SimsSection.kt index 0b638c45ae5..bf0a33e22de 100644 --- a/src/com/android/settings/spa/network/SimsSection.kt +++ b/src/com/android/settings/spa/network/SimsSection.kt @@ -31,6 +31,7 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.android.settings.R +import com.android.settings.Utils import com.android.settings.network.SubscriptionUtil import com.android.settings.network.telephony.MobileNetworkUtils import com.android.settings.network.telephony.isSubscriptionEnabledFlow @@ -104,6 +105,7 @@ private fun AddSim() { private fun startAddSimFlow(context: Context) { val intent = Intent(EuiccManager.ACTION_PROVISION_EMBEDDED_SUBSCRIPTION) + intent.setPackage(Utils.PHONE_PACKAGE_NAME) intent.putExtra(EuiccManager.EXTRA_FORCE_PROVISION, true) context.startActivity(intent) } diff --git a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java index e011eb85f1d..f190a50607f 100644 --- a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java +++ b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java @@ -114,7 +114,8 @@ public class WifiWakeupPreferenceController extends TogglePreferenceController i throw new IllegalStateException("No fragment to start activity"); } - final Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); + final Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS) + .setPackage(mContext.getPackageName()); mFragment.startActivityForResult(intent, WIFI_WAKEUP_REQUEST_CODE); return false; } else if (!getWifiScanningEnabled()) { diff --git a/src/com/android/settings/wifi/dpp/WifiDppConfiguratorAuthActivity.java b/src/com/android/settings/wifi/dpp/WifiDppConfiguratorAuthActivity.java index 010607ff7a2..992c5f610d6 100644 --- a/src/com/android/settings/wifi/dpp/WifiDppConfiguratorAuthActivity.java +++ b/src/com/android/settings/wifi/dpp/WifiDppConfiguratorAuthActivity.java @@ -75,6 +75,7 @@ public class WifiDppConfiguratorAuthActivity extends InstrumentedActivity { Intent qrCodeIntent = new Intent(); qrCodeIntent.setAction( WifiDppConfiguratorActivity.ACTION_CONFIGURATOR_QR_CODE_GENERATOR); + qrCodeIntent.setPackage(getPackageName()); qrCodeIntent.putExtras(getIntent()); startActivity(qrCodeIntent); }