Sticky placeholder and adjacent finish rule in Settings
Bug: 204829538
Test: Open Settings in landscape in two panes, rotate to portrait to stack, rotate back to split
Change-Id: I5790962051d0b01902f3b50e958848eff7cf7334
diff --git a/libs/window_ext_lib.aar b/libs/window_ext_lib.aar
index c576270..ca58b36 100644
--- a/libs/window_ext_lib.aar
+++ b/libs/window_ext_lib.aar
Binary files differ
diff --git a/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java b/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
index d3d53a8..4060e53 100644
--- a/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
+++ b/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
@@ -29,6 +29,7 @@
import androidx.window.embedding.SplitPairFilter;
import androidx.window.embedding.SplitPairRule;
import androidx.window.embedding.SplitPlaceholderRule;
+import androidx.window.embedding.SplitRule;
import com.android.settings.Settings;
import com.android.settings.SubSettings;
@@ -81,8 +82,8 @@
secondaryIntentAction));
SplitController.getInstance().registerRule(new SplitPairRule(filters,
- finishPrimaryWithSecondary,
- finishSecondaryWithPrimary,
+ finishPrimaryWithSecondary ? SplitRule.FINISH_ADJACENT : SplitRule.FINISH_NEVER,
+ finishSecondaryWithPrimary ? SplitRule.FINISH_ADJACENT : SplitRule.FINISH_NEVER,
clearTop,
ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthPx(context),
ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthPx(context),
@@ -154,6 +155,8 @@
final SplitPlaceholderRule placeholderRule = new SplitPlaceholderRule(
activityFilters,
intent,
+ true /* stickyPlaceholder */,
+ SplitRule.FINISH_ADJACENT,
ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthPx(mContext),
ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthPx(mContext),
ActivityEmbeddingUtils.SPLIT_RATIO,