Merge "Hide IME adjust dims when divider is hidden" into rvc-dev am: c83fbdea5c

Change-Id: Ib7e561672d62e7c508bc6df24f0e01ac15925de7
This commit is contained in:
Evan Rosky
2020-05-20 18:47:38 +00:00
committed by Automerger Merge Worker
3 changed files with 19 additions and 2 deletions

View File

@@ -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(

View File

@@ -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);

View File

@@ -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);
});