Merge "[Telephony settings] Settings crashes when rotate screen in Preferred network type" am: 18e1a7c047 am: df73f7e090 am: c8f766c6d3 am: 1555c9b8e5

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1432711

Change-Id: I7e44e269d925117b03c01022cefd8ee78e07e390
diff --git a/src/com/android/settings/network/telephony/MobileNetworkActivity.java b/src/com/android/settings/network/telephony/MobileNetworkActivity.java
index a792824..6513384 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkActivity.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkActivity.java
@@ -81,7 +81,7 @@
         mCurSubscriptionId = updateSubscriptionIndex;
         mFragmentForceReload = (mCurSubscriptionId == oldSubId);
         final SubscriptionInfo info = getSubscription();
-        updateSubscriptions(info);
+        updateSubscriptions(info, null);
 
         // If the subscription has changed or the new intent doesnt contain the opt in action,
         // remove the old discovery dialog. If the activity is being recreated, we will see
@@ -132,7 +132,7 @@
         // perform registration after mCurSubscriptionId been configured.
         registerActiveSubscriptionsListener();
 
-        updateSubscriptions(subscription);
+        updateSubscriptions(subscription, savedInstanceState);
     }
 
     @VisibleForTesting
@@ -154,7 +154,7 @@
     public void onChanged() {
         SubscriptionInfo info = getSubscription();
         int oldSubIndex = mCurSubscriptionId;
-        updateSubscriptions(info);
+        updateSubscriptions(info, null);
 
         // Remove the dialog if the subscription associated with this activity changes.
         if (info == null) {
@@ -209,14 +209,16 @@
     }
 
     @VisibleForTesting
-    void updateSubscriptions(SubscriptionInfo subscription) {
+    void updateSubscriptions(SubscriptionInfo subscription, Bundle savedInstanceState) {
         if (subscription == null) {
             return;
         }
         final int subscriptionIndex = subscription.getSubscriptionId();
 
         updateTitleAndNavigation(subscription);
-        switchFragment(subscription);
+        if (savedInstanceState == null) {
+            switchFragment(subscription);
+        }
 
         mCurSubscriptionId = subscriptionIndex;
         mFragmentForceReload = false;