Loading libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java +22 −13 Original line number Diff line number Diff line Loading @@ -620,22 +620,9 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler, } mSyncQueue.runInSync(t -> { final SurfaceControl dividerLeash = mSplitLayout.getDividerLeash(); final SurfaceControl sideStageLeash = mSideStage.mRootLeash; final SurfaceControl mainStageLeash = mMainStage.mRootLeash; if (dividerLeash != null) { if (mDividerVisible) { t.show(dividerLeash) .setLayer(dividerLeash, Integer.MAX_VALUE) .setPosition(dividerLeash, mSplitLayout.getDividerBounds().left, mSplitLayout.getDividerBounds().top); } else { t.hide(dividerLeash); } } if (sideStageVisible) { final Rect sideStageBounds = getSideStageBounds(); t.show(sideStageLeash) Loading @@ -662,9 +649,30 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler, } else { t.hide(mainStageLeash); } applyDividerVisibility(t); }); } private void applyDividerVisibility(SurfaceControl.Transaction t) { final SurfaceControl dividerLeash = mSplitLayout.getDividerLeash(); if (dividerLeash == null) { return; } if (mDividerVisible) { t.show(dividerLeash) .setLayer(dividerLeash, Integer.MAX_VALUE) .setPosition(dividerLeash, mSplitLayout.getDividerBounds().left, mSplitLayout.getDividerBounds().top); } else { t.hide(dividerLeash); } } private void onStageHasChildrenChanged(StageListenerImpl stageListener) { final boolean hasChildren = stageListener.mHasChildren; final boolean isSideStage = stageListener == mSideStageListener; Loading Loading @@ -782,6 +790,7 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler, && mSplitLayout.updateConfiguration(mDisplayAreaInfo.configuration) && mMainStage.isActive()) { onBoundsChanged(mSplitLayout); mSyncQueue.runInSync(t -> applyDividerVisibility(t)); } } Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java +22 −13 Original line number Diff line number Diff line Loading @@ -620,22 +620,9 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler, } mSyncQueue.runInSync(t -> { final SurfaceControl dividerLeash = mSplitLayout.getDividerLeash(); final SurfaceControl sideStageLeash = mSideStage.mRootLeash; final SurfaceControl mainStageLeash = mMainStage.mRootLeash; if (dividerLeash != null) { if (mDividerVisible) { t.show(dividerLeash) .setLayer(dividerLeash, Integer.MAX_VALUE) .setPosition(dividerLeash, mSplitLayout.getDividerBounds().left, mSplitLayout.getDividerBounds().top); } else { t.hide(dividerLeash); } } if (sideStageVisible) { final Rect sideStageBounds = getSideStageBounds(); t.show(sideStageLeash) Loading @@ -662,9 +649,30 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler, } else { t.hide(mainStageLeash); } applyDividerVisibility(t); }); } private void applyDividerVisibility(SurfaceControl.Transaction t) { final SurfaceControl dividerLeash = mSplitLayout.getDividerLeash(); if (dividerLeash == null) { return; } if (mDividerVisible) { t.show(dividerLeash) .setLayer(dividerLeash, Integer.MAX_VALUE) .setPosition(dividerLeash, mSplitLayout.getDividerBounds().left, mSplitLayout.getDividerBounds().top); } else { t.hide(dividerLeash); } } private void onStageHasChildrenChanged(StageListenerImpl stageListener) { final boolean hasChildren = stageListener.mHasChildren; final boolean isSideStage = stageListener == mSideStageListener; Loading Loading @@ -782,6 +790,7 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler, && mSplitLayout.updateConfiguration(mDisplayAreaInfo.configuration) && mMainStage.isActive()) { onBoundsChanged(mSplitLayout); mSyncQueue.runInSync(t -> applyDividerVisibility(t)); } } Loading