Merge "Fix incorrect usage for the logging method to cause no data in WW" into sc-v2-dev
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 957efdf..c216258 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -370,8 +370,9 @@
         final SplitStateObserver splitStateObserver = new SplitStateObserver(this /* activity*/,
                 true /* listenOnce */,
                 splitInfos -> {
-                    if (!splitInfos.isEmpty()) {
-                        // It's already in 2-pane and no need to go 2-pane deep link flow.
+                    if (!splitInfos.isEmpty() || !SettingsActivity.this.isTaskRoot()) {
+                        // It's already in 2-pane or in a non-empty task, there is no need to go
+                        // 2-pane deep link flow.
                         return;
                     }
 
diff --git a/src/com/android/settings/localepicker/LocalePickerWithRegionActivity.java b/src/com/android/settings/localepicker/LocalePickerWithRegionActivity.java
index 6ddcf23..bcc55e3 100644
--- a/src/com/android/settings/localepicker/LocalePickerWithRegionActivity.java
+++ b/src/com/android/settings/localepicker/LocalePickerWithRegionActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.localepicker;
 
-import android.app.Activity;
 import android.app.FragmentTransaction;
 import android.content.Intent;
 import android.os.Bundle;
@@ -24,8 +23,11 @@
 
 import com.android.internal.app.LocalePickerWithRegion;
 import com.android.internal.app.LocaleStore;
+import com.android.settings.R;
+import com.android.settings.core.SettingsBaseActivity;
 
-public class LocalePickerWithRegionActivity extends Activity
+/** A activity to show the locale picker page. */
+public class LocalePickerWithRegionActivity extends SettingsBaseActivity
         implements LocalePickerWithRegion.LocaleSelectedListener {
 
     private static final String PARENT_FRAGMENT_NAME = "localeListEditor";
@@ -40,7 +42,7 @@
         getFragmentManager()
                 .beginTransaction()
                 .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
-                .replace(android.R.id.content, selector)
+                .replace(R.id.content_frame, selector)
                 .addToBackStack(PARENT_FRAGMENT_NAME)
                 .commit();
     }
diff --git a/src/com/android/settings/network/MobileNetworkSummaryController.java b/src/com/android/settings/network/MobileNetworkSummaryController.java
index f2e28a3..bd28e70 100644
--- a/src/com/android/settings/network/MobileNetworkSummaryController.java
+++ b/src/com/android/settings/network/MobileNetworkSummaryController.java
@@ -33,9 +33,9 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
+import com.android.settings.activityembedding.ActivityEmbeddingRulesController;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.network.helper.SelectableSubscriptions;
 import com.android.settings.network.helper.SubscriptionAnnotation;
 import com.android.settings.network.telephony.MobileNetworkActivity;
 import com.android.settings.overlay.FeatureFactory;
@@ -202,6 +202,12 @@
                         || mStatusCache.isPhysicalSimDisableSupport()) {
                     final Intent intent = new Intent(mContext, MobileNetworkActivity.class);
                     intent.putExtra(Settings.EXTRA_SUB_ID, info.getSubscriptionId());
+                    //  MobilenetworkActivity is singleTask, set SplitPairRule to show in 2-pane.
+                    ActivityEmbeddingRulesController.registerTwoPanePairRuleForSettingsHome(
+                            mContext,
+                            intent.getComponent(),
+                            null /* secondaryIntentAction */,
+                            false /* clearTop */);
                     mContext.startActivity(intent);
                     return true;
                 }