Merge "Make MobileNetworkActivity support onNewIntent" into qt-r1-dev am: 20ec6a4b6f
am: f61428cf1d

Change-Id: I21991a0d06bf861d6a0fd6906b455a36d8b10c55
diff --git a/src/com/android/settings/network/telephony/MobileNetworkActivity.java b/src/com/android/settings/network/telephony/MobileNetworkActivity.java
index b8ed31f..e20032f 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkActivity.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkActivity.java
@@ -77,6 +77,13 @@
     };
 
     @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 f38f2a2..e43655b 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 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 @@
 
         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);
+    }
 }