Show/hide back button for 2nd page

By design, we want to show/hide back button for 2nd
layer page when it's in two pane mode.

Test: Manual test
Bug: 219000314
Change-Id: I14d8d7ee08280d5ce80c0b59e1e91d077f0b6d09
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index d3d3604..d9dc590 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -143,6 +143,8 @@
 
     public static final String EXTRA_SHOW_FRAGMENT_AS_SUBSETTING =
             ":settings:show_fragment_as_subsetting";
+    public static final String EXTRA_IS_SECONDARY_LAYER_PAGE =
+            ":settings:is_secondary_layer_page";
 
     /**
      * Additional extra of Settings#ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK.
@@ -301,12 +303,12 @@
             launchSettingFragment(initialFragmentName, intent);
         }
 
-        final boolean isInSetupWizard = WizardManagerHelper.isAnySetupWizard(getIntent());
+        final boolean isActionBarButtonEnabled = isActionBarButtonEnabled(intent);
 
         final ActionBar actionBar = getActionBar();
         if (actionBar != null) {
-            actionBar.setDisplayHomeAsUpEnabled(!isInSetupWizard);
-            actionBar.setHomeButtonEnabled(!isInSetupWizard);
+            actionBar.setDisplayHomeAsUpEnabled(isActionBarButtonEnabled);
+            actionBar.setHomeButtonEnabled(isActionBarButtonEnabled);
             actionBar.setDisplayShowTitleEnabled(true);
         }
         mMainSwitch = findViewById(R.id.switch_bar);
@@ -366,6 +368,18 @@
         }
     }
 
+    private boolean isActionBarButtonEnabled(Intent intent) {
+        if (WizardManagerHelper.isAnySetupWizard(intent)) {
+            return false;
+        }
+        final boolean isSecondaryLayerPage =
+                intent.getBooleanExtra(EXTRA_IS_SECONDARY_LAYER_PAGE, false);
+
+        // TODO: move Settings's ActivityEmbeddingUtils to SettingsLib.
+        return !com.android.settingslib.activityembedding.ActivityEmbeddingUtils
+                        .shouldHideBackButton(this, isSecondaryLayerPage);
+    }
+
     private boolean isSubSettings(Intent intent) {
         return this instanceof SubSettings ||
             intent.getBooleanExtra(EXTRA_SHOW_FRAGMENT_AS_SUBSETTING, false);