Loading AndroidManifest.xml +8 −20 Original line number Diff line number Diff line Loading @@ -238,17 +238,14 @@ android:value="true" /> </activity> <activity android:name=".network.telephony.MobileNetworkActivity" <activity android:name=".Settings$MobileNetworkActivity" android:label="@string/network_settings_title" android:exported="true" android:taskAffinity="com.android.settings.root" android:launchMode="singleTask" android:configChanges="orientation|screenSize|keyboardHidden"> <!-- Note: Since the framework does not support the multiple requests of network scan from the UI, this singleTask can protect that there is only one Settings$NetworkSelectActivity which can request the network scan. If removing the "singleTask" in the future, please also modify the Settings$NetworkSelectActivity's structure. --> android:configChanges="orientation|screenSize|keyboardHidden" android:launchMode="singleInstance" android:exported="true"> <meta-data android:name="com.android.settings.FRAGMENT_CLASS" android:value="com.android.settings.network.telephony.MobileNetworkSettings"/> <intent-filter android:priority="1"> <!-- Displays the MobileNetworkActivity and opt-in dialog for capability discovery. --> <action android:name="android.telephony.ims.action.SHOW_CAPABILITY_DISCOVERY_OPT_IN" /> Loading @@ -259,14 +256,6 @@ </intent-filter> </activity> <activity android:name=".Settings$SubscriptionSettingsActivity" android:label="@string/network_settings_title" android:exported="false"> <meta-data android:name="com.android.settings.FRAGMENT_CLASS" android:value="com.android.settings.network.telephony.MobileNetworkSettings"/> </activity> <activity android:name=".Settings$MobileNetworkListActivity" android:exported="true" android:label="@string/network_settings_title"> Loading Loading @@ -549,7 +538,6 @@ <activity android:name="Settings$ApnSettingsActivity" android:label="@string/apn_settings" android:launchMode="singleTask" android:exported="true" android:configChanges="orientation|keyboardHidden|screenSize"> <intent-filter android:priority="1"> Loading src/com/android/settings/Settings.java +50 −1 Original line number Diff line number Diff line Loading @@ -19,12 +19,17 @@ package com.android.settings; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.ims.ImsRcsManager; import android.text.TextUtils; import android.util.FeatureFlagUtils; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.core.FeatureFlags; import com.android.settings.enterprise.EnterprisePrivacySettings; import com.android.settings.network.SubscriptionUtil; import com.android.settings.network.telephony.MobileNetworkUtils; import com.android.settings.overlay.FeatureFactory; import com.android.settings.security.SecuritySettingsFeatureProvider; Loading Loading @@ -304,7 +309,51 @@ public class Settings extends SettingsActivity { public static class WifiCallingDisclaimerActivity extends SettingsActivity { /* empty */ } public static class MobileNetworkListActivity extends SettingsActivity {} public static class PowerMenuSettingsActivity extends SettingsActivity {} public static class SubscriptionSettingsActivity extends SettingsActivity { /* empty */ } public static class MobileNetworkActivity extends SettingsActivity { public static final String EXTRA_MMS_MESSAGE = "mms_message"; public static final String EXTRA_SHOW_CAPABILITY_DISCOVERY_OPT_IN = "show_capability_discovery_opt_in"; @Override public Intent getIntent() { final Intent intent = new Intent(super.getIntent()); int subId = intent.getIntExtra(android.provider.Settings.EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID); SubscriptionInfo subInfo = SubscriptionUtil.getSubscriptionOrDefault( getApplicationContext(), subId); CharSequence title = SubscriptionUtil.getUniqueSubscriptionDisplayName( subInfo, getApplicationContext()); intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE, title); intent.putExtra(android.provider.Settings.EXTRA_SUB_ID, subId); if (android.provider.Settings.ACTION_MMS_MESSAGE_SETTING.equals(intent.getAction())) { // highlight "mms_message" preference. intent.putExtra(EXTRA_FRAGMENT_ARG_KEY, EXTRA_MMS_MESSAGE); } if (doesIntentContainOptInAction(intent)) { intent.putExtra(EXTRA_SHOW_CAPABILITY_DISCOVERY_OPT_IN, maybeShowContactDiscoveryDialog(subId)); } return intent; } private boolean maybeShowContactDiscoveryDialog(int subId) { // If this activity was launched using ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN, show the // associated dialog only if the opt-in has not been granted yet. return MobileNetworkUtils.isContactDiscoveryVisible(getApplicationContext(), subId) // has the user already enabled this configuration? && !MobileNetworkUtils.isContactDiscoveryEnabled( getApplicationContext(), subId); } public static boolean doesIntentContainOptInAction(Intent intent) { String intentAction = (intent != null ? intent.getAction() : null); return TextUtils.equals(intentAction, ImsRcsManager.ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN); } } /** * Activity for BugReportHandlerPicker. Loading src/com/android/settings/network/MobileNetworkListController.java +4 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.settings.network; import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME; import static androidx.lifecycle.Lifecycle.Event.ON_PAUSE; import static androidx.lifecycle.Lifecycle.Event.ON_RESUME; Loading @@ -34,7 +36,6 @@ import androidx.preference.PreferenceScreen; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.R; import com.android.settings.network.telephony.MobileNetworkActivity; import com.android.settings.network.telephony.MobileNetworkUtils; import com.android.settingslib.core.AbstractPreferenceController; Loading Loading @@ -137,7 +138,8 @@ public class MobileNetworkListController extends AbstractPreferenceController im && !SubscriptionUtil.showToggleForPhysicalSim(mSubscriptionManager)) { SubscriptionUtil.startToggleSubscriptionDialogActivity(mContext, subId, true); } else { final Intent intent = new Intent(mContext, MobileNetworkActivity.class); final Intent intent = new Intent(Settings.ACTION_NETWORK_OPERATOR_SETTINGS); intent.setPackage(SETTINGS_PACKAGE_NAME); intent.putExtra(Settings.EXTRA_SUB_ID, info.getSubscriptionId()); mContext.startActivity(intent); } Loading src/com/android/settings/network/MobileNetworkPreferenceController.java +4 −2 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.settings.network; import static android.os.UserHandle.myUserId; import static android.os.UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS; import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME; import static androidx.lifecycle.Lifecycle.Event; import android.content.BroadcastReceiver; Loading @@ -38,7 +40,6 @@ import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.network.telephony.MobileNetworkActivity; import com.android.settings.network.telephony.MobileNetworkUtils; import com.android.settingslib.RestrictedLockUtilsInternal; import com.android.settingslib.RestrictedPreference; Loading Loading @@ -146,7 +147,8 @@ public class MobileNetworkPreferenceController extends AbstractPreferenceControl @Override public boolean handlePreferenceTreeClick(Preference preference) { if (KEY_MOBILE_NETWORK_SETTINGS.equals(preference.getKey())) { final Intent intent = new Intent(mContext, MobileNetworkActivity.class); final Intent intent = new Intent(Settings.ACTION_NETWORK_OPERATOR_SETTINGS); intent.setPackage(SETTINGS_PACKAGE_NAME); mContext.startActivity(intent); return true; } Loading src/com/android/settings/network/telephony/MobileDataSlice.java +5 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.settings.network.telephony; import static android.app.slice.Slice.EXTRA_TOGGLE_STATE; import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME; import android.annotation.ColorInt; import android.app.PendingIntent; import android.content.Context; Loading @@ -27,6 +29,7 @@ import android.database.ContentObserver; import android.net.Uri; import android.os.Handler; import android.os.Looper; import android.provider.Settings; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; Loading Loading @@ -142,7 +145,8 @@ public class MobileDataSlice implements CustomSliceable { @Override public Intent getIntent() { return new Intent(mContext, MobileNetworkActivity.class); return new Intent(Settings.ACTION_NETWORK_OPERATOR_SETTINGS).setPackage( SETTINGS_PACKAGE_NAME); } @Override Loading Loading
AndroidManifest.xml +8 −20 Original line number Diff line number Diff line Loading @@ -238,17 +238,14 @@ android:value="true" /> </activity> <activity android:name=".network.telephony.MobileNetworkActivity" <activity android:name=".Settings$MobileNetworkActivity" android:label="@string/network_settings_title" android:exported="true" android:taskAffinity="com.android.settings.root" android:launchMode="singleTask" android:configChanges="orientation|screenSize|keyboardHidden"> <!-- Note: Since the framework does not support the multiple requests of network scan from the UI, this singleTask can protect that there is only one Settings$NetworkSelectActivity which can request the network scan. If removing the "singleTask" in the future, please also modify the Settings$NetworkSelectActivity's structure. --> android:configChanges="orientation|screenSize|keyboardHidden" android:launchMode="singleInstance" android:exported="true"> <meta-data android:name="com.android.settings.FRAGMENT_CLASS" android:value="com.android.settings.network.telephony.MobileNetworkSettings"/> <intent-filter android:priority="1"> <!-- Displays the MobileNetworkActivity and opt-in dialog for capability discovery. --> <action android:name="android.telephony.ims.action.SHOW_CAPABILITY_DISCOVERY_OPT_IN" /> Loading @@ -259,14 +256,6 @@ </intent-filter> </activity> <activity android:name=".Settings$SubscriptionSettingsActivity" android:label="@string/network_settings_title" android:exported="false"> <meta-data android:name="com.android.settings.FRAGMENT_CLASS" android:value="com.android.settings.network.telephony.MobileNetworkSettings"/> </activity> <activity android:name=".Settings$MobileNetworkListActivity" android:exported="true" android:label="@string/network_settings_title"> Loading Loading @@ -549,7 +538,6 @@ <activity android:name="Settings$ApnSettingsActivity" android:label="@string/apn_settings" android:launchMode="singleTask" android:exported="true" android:configChanges="orientation|keyboardHidden|screenSize"> <intent-filter android:priority="1"> Loading
src/com/android/settings/Settings.java +50 −1 Original line number Diff line number Diff line Loading @@ -19,12 +19,17 @@ package com.android.settings; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.ims.ImsRcsManager; import android.text.TextUtils; import android.util.FeatureFlagUtils; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.core.FeatureFlags; import com.android.settings.enterprise.EnterprisePrivacySettings; import com.android.settings.network.SubscriptionUtil; import com.android.settings.network.telephony.MobileNetworkUtils; import com.android.settings.overlay.FeatureFactory; import com.android.settings.security.SecuritySettingsFeatureProvider; Loading Loading @@ -304,7 +309,51 @@ public class Settings extends SettingsActivity { public static class WifiCallingDisclaimerActivity extends SettingsActivity { /* empty */ } public static class MobileNetworkListActivity extends SettingsActivity {} public static class PowerMenuSettingsActivity extends SettingsActivity {} public static class SubscriptionSettingsActivity extends SettingsActivity { /* empty */ } public static class MobileNetworkActivity extends SettingsActivity { public static final String EXTRA_MMS_MESSAGE = "mms_message"; public static final String EXTRA_SHOW_CAPABILITY_DISCOVERY_OPT_IN = "show_capability_discovery_opt_in"; @Override public Intent getIntent() { final Intent intent = new Intent(super.getIntent()); int subId = intent.getIntExtra(android.provider.Settings.EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID); SubscriptionInfo subInfo = SubscriptionUtil.getSubscriptionOrDefault( getApplicationContext(), subId); CharSequence title = SubscriptionUtil.getUniqueSubscriptionDisplayName( subInfo, getApplicationContext()); intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE, title); intent.putExtra(android.provider.Settings.EXTRA_SUB_ID, subId); if (android.provider.Settings.ACTION_MMS_MESSAGE_SETTING.equals(intent.getAction())) { // highlight "mms_message" preference. intent.putExtra(EXTRA_FRAGMENT_ARG_KEY, EXTRA_MMS_MESSAGE); } if (doesIntentContainOptInAction(intent)) { intent.putExtra(EXTRA_SHOW_CAPABILITY_DISCOVERY_OPT_IN, maybeShowContactDiscoveryDialog(subId)); } return intent; } private boolean maybeShowContactDiscoveryDialog(int subId) { // If this activity was launched using ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN, show the // associated dialog only if the opt-in has not been granted yet. return MobileNetworkUtils.isContactDiscoveryVisible(getApplicationContext(), subId) // has the user already enabled this configuration? && !MobileNetworkUtils.isContactDiscoveryEnabled( getApplicationContext(), subId); } public static boolean doesIntentContainOptInAction(Intent intent) { String intentAction = (intent != null ? intent.getAction() : null); return TextUtils.equals(intentAction, ImsRcsManager.ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN); } } /** * Activity for BugReportHandlerPicker. Loading
src/com/android/settings/network/MobileNetworkListController.java +4 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.settings.network; import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME; import static androidx.lifecycle.Lifecycle.Event.ON_PAUSE; import static androidx.lifecycle.Lifecycle.Event.ON_RESUME; Loading @@ -34,7 +36,6 @@ import androidx.preference.PreferenceScreen; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.R; import com.android.settings.network.telephony.MobileNetworkActivity; import com.android.settings.network.telephony.MobileNetworkUtils; import com.android.settingslib.core.AbstractPreferenceController; Loading Loading @@ -137,7 +138,8 @@ public class MobileNetworkListController extends AbstractPreferenceController im && !SubscriptionUtil.showToggleForPhysicalSim(mSubscriptionManager)) { SubscriptionUtil.startToggleSubscriptionDialogActivity(mContext, subId, true); } else { final Intent intent = new Intent(mContext, MobileNetworkActivity.class); final Intent intent = new Intent(Settings.ACTION_NETWORK_OPERATOR_SETTINGS); intent.setPackage(SETTINGS_PACKAGE_NAME); intent.putExtra(Settings.EXTRA_SUB_ID, info.getSubscriptionId()); mContext.startActivity(intent); } Loading
src/com/android/settings/network/MobileNetworkPreferenceController.java +4 −2 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.settings.network; import static android.os.UserHandle.myUserId; import static android.os.UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS; import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME; import static androidx.lifecycle.Lifecycle.Event; import android.content.BroadcastReceiver; Loading @@ -38,7 +40,6 @@ import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.network.telephony.MobileNetworkActivity; import com.android.settings.network.telephony.MobileNetworkUtils; import com.android.settingslib.RestrictedLockUtilsInternal; import com.android.settingslib.RestrictedPreference; Loading Loading @@ -146,7 +147,8 @@ public class MobileNetworkPreferenceController extends AbstractPreferenceControl @Override public boolean handlePreferenceTreeClick(Preference preference) { if (KEY_MOBILE_NETWORK_SETTINGS.equals(preference.getKey())) { final Intent intent = new Intent(mContext, MobileNetworkActivity.class); final Intent intent = new Intent(Settings.ACTION_NETWORK_OPERATOR_SETTINGS); intent.setPackage(SETTINGS_PACKAGE_NAME); mContext.startActivity(intent); return true; } Loading
src/com/android/settings/network/telephony/MobileDataSlice.java +5 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.settings.network.telephony; import static android.app.slice.Slice.EXTRA_TOGGLE_STATE; import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME; import android.annotation.ColorInt; import android.app.PendingIntent; import android.content.Context; Loading @@ -27,6 +29,7 @@ import android.database.ContentObserver; import android.net.Uri; import android.os.Handler; import android.os.Looper; import android.provider.Settings; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; Loading Loading @@ -142,7 +145,8 @@ public class MobileDataSlice implements CustomSliceable { @Override public Intent getIntent() { return new Intent(mContext, MobileNetworkActivity.class); return new Intent(Settings.ACTION_NETWORK_OPERATOR_SETTINGS).setPackage( SETTINGS_PACKAGE_NAME); } @Override Loading