From fb9f47fd4fbb6f835addae3efdce06951aae8747 Mon Sep 17 00:00:00 2001 From: Jerry Chang Date: Wed, 11 May 2022 01:47:04 +0000 Subject: [PATCH] Add a config to control split-screen task dimming In split-screen when a task is the IME target, the other one is dimmed. Add a config to enable/disable this functionality. Test: Manual Bug: 229090560 Change-Id: If41d89744acd6dcba27085755b6cd3947ee3ad62 --- libs/WindowManager/Shell/res/values/config.xml | 3 +++ .../com/android/wm/shell/common/split/SplitLayout.java | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/libs/WindowManager/Shell/res/values/config.xml b/libs/WindowManager/Shell/res/values/config.xml index 8ba41ab60c879..f03b7f66cdc83 100644 --- a/libs/WindowManager/Shell/res/values/config.xml +++ b/libs/WindowManager/Shell/res/values/config.xml @@ -100,4 +100,7 @@ 0x55 + + + true diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java index 0b8e631068fcc..c94455d9151a0 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java @@ -107,6 +107,8 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange private int mOrientation; private int mRotation; + private final boolean mDimNonImeSide; + public SplitLayout(String windowName, Context context, Configuration configuration, SplitLayoutHandler splitLayoutHandler, SplitWindowManager.ParentContainerCallbacks parentContainerCallbacks, @@ -131,6 +133,8 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange mRootBounds.set(configuration.windowConfiguration.getBounds()); mDividerSnapAlgorithm = getSnapAlgorithm(mContext, mRootBounds, null); resetDividerPosition(); + + mDimNonImeSide = resources.getBoolean(R.bool.config_dimNonImeAttachedSide); } private int getDividerInsets(Resources resources, Display display) { @@ -860,10 +864,10 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange // Update target dim values mLastDim1 = mDimValue1; mTargetDim1 = imeTargetPosition == SPLIT_POSITION_BOTTOM_OR_RIGHT && mImeShown - ? ADJUSTED_NONFOCUS_DIM : 0.0f; + && mDimNonImeSide ? ADJUSTED_NONFOCUS_DIM : 0.0f; mLastDim2 = mDimValue2; mTargetDim2 = imeTargetPosition == SPLIT_POSITION_TOP_OR_LEFT && mImeShown - ? ADJUSTED_NONFOCUS_DIM : 0.0f; + && mDimNonImeSide ? ADJUSTED_NONFOCUS_DIM : 0.0f; // Calculate target bounds offset for IME mLastYOffset = mYOffsetForIme;