Better multi-pane handling for the top-level Parental controls setting screen.

Register a two-pane-pair-rule for the dashboard activity so that the navigation is handled correctly.

Bug: 426667343
Test: atest TopLevelSupervisionPreferenceControllerTest
Test: manual
Flag: android.app.supervision.flags.enable_supervision_settings_screen
Change-Id: I3528bfd612bf9de3de2983be93206d75cbcb5868
diff --git a/src/com/android/settings/supervision/TopLevelSupervisionPreferenceController.kt b/src/com/android/settings/supervision/TopLevelSupervisionPreferenceController.kt
index b62f8a1..9aaf529 100644
--- a/src/com/android/settings/supervision/TopLevelSupervisionPreferenceController.kt
+++ b/src/com/android/settings/supervision/TopLevelSupervisionPreferenceController.kt
@@ -16,17 +16,33 @@
 package com.android.settings.supervision
 
 import android.app.supervision.flags.Flags
+import android.content.ComponentName
 import android.content.Context
 import android.content.Intent
 import androidx.preference.Preference
+import androidx.preference.PreferenceScreen
+import com.android.settings.SettingsActivity.EXTRA_IS_SECOND_LAYER_PAGE
+import com.android.settings.activityembedding.ActivityEmbeddingRulesController
 import com.android.settings.core.BasePreferenceController
 
 /** Controller for the top level Supervision settings Preference item. */
 class TopLevelSupervisionPreferenceController(context: Context, key: String) :
     BasePreferenceController(context, key) {
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        ActivityEmbeddingRulesController.registerTwoPanePairRuleForSettingsHome(
+            mContext,
+            ComponentName(mContext, SupervisionDashboardActivity::class.java),
+            /* secondaryIntentAction= */ null,
+            /* clearTop= */ true,
+        )
+    }
+
     override fun handlePreferenceTreeClick(preference: Preference): Boolean {
         if (preference.key == preferenceKey) {
             val intent = Intent(mContext, SupervisionDashboardActivity::class.java)
+            intent.putExtra(EXTRA_IS_SECOND_LAYER_PAGE, true)
             mContext.startActivity(intent)
             return true
         }