Merge "Hide IME adjust dims when divider is hidden" into rvc-dev am: c83fbdea5c am: bf5661ca4d
Change-Id: I4fc749a6c2b0a8576d99270a6f052969c7228b8d
This commit is contained in:
@@ -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(
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user