Merge "[Settings] Move display of VPN version into summary text" into sc-v2-dev
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index ffac933..67f74be 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1882,6 +1882,7 @@
 
         <activity
             android:name=".accessibility.AccessibilityScreenSizeForSetupWizardActivity"
+            android:theme="@android:style/Theme.DeviceDefault.Settings"
             android:exported="false"/>
 
         <activity
diff --git a/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java b/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
index fb13a99..fa61994 100644
--- a/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
+++ b/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
@@ -77,8 +77,8 @@
             ComponentName primaryComponent,
             ComponentName secondaryComponent,
             String secondaryIntentAction,
-            boolean finishPrimaryWithSecondary,
-            boolean finishSecondaryWithPrimary,
+            int finishPrimaryWithSecondary,
+            int finishSecondaryWithPrimary,
             boolean clearTop) {
         if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(context)) {
             return;
@@ -88,8 +88,8 @@
                 secondaryIntentAction));
 
         SplitController.getInstance().registerRule(new SplitPairRule(filters,
-                finishPrimaryWithSecondary ? SplitRule.FINISH_ADJACENT : SplitRule.FINISH_NEVER,
-                finishSecondaryWithPrimary ? SplitRule.FINISH_ADJACENT : SplitRule.FINISH_NEVER,
+                finishPrimaryWithSecondary,
+                finishSecondaryWithPrimary,
                 clearTop,
                 ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthPx(context),
                 ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthPx(context),
@@ -117,17 +117,8 @@
                 getComponentName(context, Settings.class),
                 secondaryComponent,
                 secondaryIntentAction,
-                finishPrimaryWithSecondary,
-                finishSecondaryWithPrimary,
-                clearTop);
-
-        registerTwoPanePairRule(
-                context,
-                new ComponentName(context, DeepLinkHomepageActivity.class),
-                secondaryComponent,
-                secondaryIntentAction,
-                finishPrimaryWithSecondary,
-                finishSecondaryWithPrimary,
+                finishPrimaryWithSecondary ? SplitRule.FINISH_ADJACENT : SplitRule.FINISH_NEVER,
+                finishSecondaryWithPrimary ? SplitRule.FINISH_ADJACENT : SplitRule.FINISH_NEVER,
                 clearTop);
 
         registerTwoPanePairRule(
@@ -135,8 +126,19 @@
                 getComponentName(context, SettingsHomepageActivity.class),
                 secondaryComponent,
                 secondaryIntentAction,
-                finishPrimaryWithSecondary,
-                finishSecondaryWithPrimary,
+                finishPrimaryWithSecondary ? SplitRule.FINISH_ADJACENT : SplitRule.FINISH_NEVER,
+                finishSecondaryWithPrimary ? SplitRule.FINISH_ADJACENT : SplitRule.FINISH_NEVER,
+                clearTop);
+
+        // We should finish HomePageActivity altogether even if it shows in single pane for all deep
+        // link cases.
+        registerTwoPanePairRule(
+                context,
+                new ComponentName(context, DeepLinkHomepageActivity.class),
+                secondaryComponent,
+                secondaryIntentAction,
+                finishPrimaryWithSecondary ? SplitRule.FINISH_ALWAYS : SplitRule.FINISH_NEVER,
+                finishSecondaryWithPrimary ? SplitRule.FINISH_ALWAYS : SplitRule.FINISH_NEVER,
                 clearTop);
 
         registerTwoPanePairRule(
@@ -144,8 +146,8 @@
                 getComponentName(context, SliceDeepLinkHomepageActivity.class),
                 secondaryComponent,
                 secondaryIntentAction,
-                finishPrimaryWithSecondary,
-                finishSecondaryWithPrimary,
+                finishPrimaryWithSecondary ? SplitRule.FINISH_ALWAYS : SplitRule.FINISH_NEVER,
+                finishSecondaryWithPrimary ? SplitRule.FINISH_ALWAYS : SplitRule.FINISH_NEVER,
                 clearTop);
     }
 
diff --git a/src/com/android/settings/display/PreviewPagerAdapter.java b/src/com/android/settings/display/PreviewPagerAdapter.java
index a424b1d..018be32 100644
--- a/src/com/android/settings/display/PreviewPagerAdapter.java
+++ b/src/com/android/settings/display/PreviewPagerAdapter.java
@@ -109,10 +109,6 @@
         return (view == object);
     }
 
-    FrameLayout[] getPreviewFrames() {
-        return mPreviewFrames;
-    }
-
     boolean isAnimating() {
         return mAnimationCounter > 0;
     }
diff --git a/src/com/android/settings/display/PreviewSeekBarPreferenceFragment.java b/src/com/android/settings/display/PreviewSeekBarPreferenceFragment.java
index c6d5b8b..abd14d2 100644
--- a/src/com/android/settings/display/PreviewSeekBarPreferenceFragment.java
+++ b/src/com/android/settings/display/PreviewSeekBarPreferenceFragment.java
@@ -264,12 +264,6 @@
         @Override
         public void onPageSelected(int position) {
             mPreviewPager.sendAccessibilityEvent(AccessibilityEvent.TYPE_ANNOUNCEMENT);
-            // To avoid displaying previous page on the left side in SUW landscape mode for
-            // large size.
-            if (position > 0) {
-                mPreviewPagerAdapter.getPreviewFrames()[position - 1].setVisibility(View.INVISIBLE);
-            }
-            mPreviewPagerAdapter.getPreviewFrames()[position].setVisibility(View.VISIBLE);
         }
     };
 
diff --git a/src/com/android/settings/homepage/SettingsHomepageActivity.java b/src/com/android/settings/homepage/SettingsHomepageActivity.java
index 909c146..0d11df5 100644
--- a/src/com/android/settings/homepage/SettingsHomepageActivity.java
+++ b/src/com/android/settings/homepage/SettingsHomepageActivity.java
@@ -40,6 +40,7 @@
 import androidx.fragment.app.FragmentActivity;
 import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentTransaction;
+import androidx.window.embedding.SplitRule;
 
 import com.android.settings.R;
 import com.android.settings.Settings;
@@ -338,15 +339,15 @@
                 new ComponentName(getApplicationContext(), getClass()),
                 targetComponentName,
                 targetIntent.getAction(),
-                true /* finishPrimaryWithSecondary */,
-                true /* finishSecondaryWithPrimary */,
+                SplitRule.FINISH_ALWAYS,
+                SplitRule.FINISH_ALWAYS,
                 true /* clearTop*/);
         ActivityEmbeddingRulesController.registerTwoPanePairRule(this,
                 new ComponentName(Settings.class.getPackageName(), Settings.class.getName()),
                 targetComponentName,
                 targetIntent.getAction(),
-                true /* finishPrimaryWithSecondary */,
-                true /* finishSecondaryWithPrimary */,
+                SplitRule.FINISH_ALWAYS,
+                SplitRule.FINISH_ALWAYS,
                 true /* clearTop*/);
         startActivity(targetIntent);
     }