diff --git a/src/com/android/settings/network/telephony/MobileNetworkActivity.java b/src/com/android/settings/network/telephony/MobileNetworkActivity.java index b8ed31f94b8..e20032f61ee 100644 --- a/src/com/android/settings/network/telephony/MobileNetworkActivity.java +++ b/src/com/android/settings/network/telephony/MobileNetworkActivity.java @@ -76,6 +76,13 @@ public class MobileNetworkActivity extends SettingsBaseActivity { } }; + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + setIntent(intent); + updateSubscriptions(null); + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java index f38f2a2bb0c..e43655b32d1 100644 --- a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java +++ b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java @@ -40,6 +40,8 @@ import android.view.View; import com.android.internal.telephony.TelephonyIntents; import com.android.internal.view.menu.ContextMenuBuilder; import com.android.settings.R; +import com.android.settings.core.FeatureFlags; +import com.android.settings.development.featureflags.FeatureFlagPersistent; import com.android.settings.network.SubscriptionUtil; import com.google.android.material.bottomnavigation.BottomNavigationView; @@ -207,4 +209,19 @@ public class MobileNetworkActivityTest { assertThat(bundle.getInt(Settings.EXTRA_SUB_ID)).isEqualTo(PREV_SUB_ID); } + + @Test + public void onNewIntent_newSubscriptionId_fragmentReplaced() { + FeatureFlagPersistent.setEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2, true); + + mSubscriptionInfos.add(mSubscriptionInfo); + mSubscriptionInfos.add(mSubscriptionInfo2); + SubscriptionUtil.setAvailableSubscriptionsForTesting(mSubscriptionInfos); + mMobileNetworkActivity.mCurSubscriptionId = PREV_SUB_ID; + + final Intent newIntent = new Intent(); + newIntent.putExtra(Settings.EXTRA_SUB_ID, CURRENT_SUB_ID); + mMobileNetworkActivity.onNewIntent(newIntent); + assertThat(mMobileNetworkActivity.mCurSubscriptionId).isEqualTo(CURRENT_SUB_ID); + } }