Skip to content

Commit c83fbde

Browse files
Evan RoskyAndroid (Google) Code Review
authored andcommitted
Merge "Hide IME adjust dims when divider is hidden" into rvc-dev
2 parents 175d91f + c3a5090 commit c83fbde

3 files changed

Lines changed: 19 additions & 2 deletions

File tree

packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,8 @@ private void addDivider(Configuration configuration) {
277277
mView = (DividerView)
278278
LayoutInflater.from(dctx).inflate(R.layout.docked_stack_divider, null);
279279
DisplayLayout displayLayout = mDisplayController.getDisplayLayout(mContext.getDisplayId());
280-
mView.injectDependencies(mWindowManager, mDividerState, this, mSplits, mSplitLayout);
280+
mView.injectDependencies(mWindowManager, mDividerState, this, mSplits, mSplitLayout,
281+
mImePositionProcessor);
281282
mView.setVisibility(mVisible ? View.VISIBLE : View.INVISIBLE);
282283
mView.setMinimizedDockStack(mMinimized, mHomeStackResizable);
283284
final int size = dctx.getResources().getDimensionPixelSize(

packages/SystemUI/src/com/android/systemui/stackdivider/DividerImeController.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,18 @@ private void onProgress(float progress, SurfaceControl.Transaction t) {
266266
mLastSecondaryDim * invProg + progress * mTargetSecondaryDim);
267267
}
268268

269+
void setDimsHidden(SurfaceControl.Transaction t, boolean hidden) {
270+
final DividerView view = getView();
271+
if (hidden) {
272+
view.setResizeDimLayer(t, true /* primary */, 0.f /* alpha */);
273+
view.setResizeDimLayer(t, false /* primary */, 0.f /* alpha */);
274+
} else {
275+
updateDimTargets();
276+
view.setResizeDimLayer(t, true /* primary */, mTargetPrimaryDim);
277+
view.setResizeDimLayer(t, false /* primary */, mTargetSecondaryDim);
278+
}
279+
}
280+
269281
private void onEnd(boolean cancelled, SurfaceControl.Transaction t) {
270282
if (!cancelled) {
271283
onProgress(1.f, t);

packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ public interface DividerCallbacks {
143143
private VelocityTracker mVelocityTracker;
144144
private FlingAnimationUtils mFlingAnimationUtils;
145145
private SplitDisplayLayout mSplitLayout;
146+
private DividerImeController mImeController;
146147
private DividerCallbacks mCallback;
147148
private final AnimationHandler mAnimationHandler = new AnimationHandler();
148149

@@ -358,12 +359,14 @@ protected void onLayout(boolean changed, int left, int top, int right, int botto
358359
}
359360

360361
public void injectDependencies(DividerWindowManager windowManager, DividerState dividerState,
361-
DividerCallbacks callback, SplitScreenTaskOrganizer tiles, SplitDisplayLayout sdl) {
362+
DividerCallbacks callback, SplitScreenTaskOrganizer tiles, SplitDisplayLayout sdl,
363+
DividerImeController imeController) {
362364
mWindowManager = windowManager;
363365
mState = dividerState;
364366
mCallback = callback;
365367
mTiles = tiles;
366368
mSplitLayout = sdl;
369+
mImeController = imeController;
367370

368371
if (mState.mRatioPositionBeforeMinimized == 0) {
369372
// Set the middle target as the initial state
@@ -403,6 +406,7 @@ void setHidden(boolean hidden) {
403406
} else {
404407
t.show(sc);
405408
}
409+
mImeController.setDimsHidden(t, hidden);
406410
t.apply();
407411
mTiles.releaseTransaction(t);
408412
});

0 commit comments

Comments
 (0)