diff options
3 files changed, 19 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java b/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java index 379bb9d247db..95aceed1126b 100644 --- a/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java +++ b/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java @@ -277,7 +277,8 @@ public class Divider extends SystemUI implements DividerView.DividerCallbacks, mView = (DividerView) LayoutInflater.from(dctx).inflate(R.layout.docked_stack_divider, null); DisplayLayout displayLayout = mDisplayController.getDisplayLayout(mContext.getDisplayId()); - mView.injectDependencies(mWindowManager, mDividerState, this, mSplits, mSplitLayout); + mView.injectDependencies(mWindowManager, mDividerState, this, mSplits, mSplitLayout, + mImePositionProcessor); mView.setVisibility(mVisible ? View.VISIBLE : View.INVISIBLE); mView.setMinimizedDockStack(mMinimized, mHomeStackResizable); final int size = dctx.getResources().getDimensionPixelSize( diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerImeController.java b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerImeController.java index 533fd5fa6352..1e0c07b1cd4c 100644 --- a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerImeController.java +++ b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerImeController.java @@ -266,6 +266,18 @@ class DividerImeController implements DisplayImeController.ImePositionProcessor mLastSecondaryDim * invProg + progress * mTargetSecondaryDim); } + void setDimsHidden(SurfaceControl.Transaction t, boolean hidden) { + final DividerView view = getView(); + if (hidden) { + view.setResizeDimLayer(t, true /* primary */, 0.f /* alpha */); + view.setResizeDimLayer(t, false /* primary */, 0.f /* alpha */); + } else { + updateDimTargets(); + view.setResizeDimLayer(t, true /* primary */, mTargetPrimaryDim); + view.setResizeDimLayer(t, false /* primary */, mTargetSecondaryDim); + } + } + private void onEnd(boolean cancelled, SurfaceControl.Transaction t) { if (!cancelled) { onProgress(1.f, t); diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java index 8ca50cdddf71..e349b5af5b2d 100644 --- a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java +++ b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java @@ -143,6 +143,7 @@ public class DividerView extends FrameLayout implements OnTouchListener, private VelocityTracker mVelocityTracker; private FlingAnimationUtils mFlingAnimationUtils; private SplitDisplayLayout mSplitLayout; + private DividerImeController mImeController; private DividerCallbacks mCallback; private final AnimationHandler mAnimationHandler = new AnimationHandler(); @@ -358,12 +359,14 @@ public class DividerView extends FrameLayout implements OnTouchListener, } public void injectDependencies(DividerWindowManager windowManager, DividerState dividerState, - DividerCallbacks callback, SplitScreenTaskOrganizer tiles, SplitDisplayLayout sdl) { + DividerCallbacks callback, SplitScreenTaskOrganizer tiles, SplitDisplayLayout sdl, + DividerImeController imeController) { mWindowManager = windowManager; mState = dividerState; mCallback = callback; mTiles = tiles; mSplitLayout = sdl; + mImeController = imeController; if (mState.mRatioPositionBeforeMinimized == 0) { // Set the middle target as the initial state @@ -403,6 +406,7 @@ public class DividerView extends FrameLayout implements OnTouchListener, } else { t.show(sc); } + mImeController.setDimsHidden(t, hidden); t.apply(); mTiles.releaseTransaction(t); }); |