Loading libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java +11 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import android.annotation.Nullable; import android.app.ActivityManager; import android.content.Context; import android.graphics.Rect; import android.hardware.devicestate.DeviceStateManager; import android.os.Bundle; import android.os.IBinder; import android.util.Log; Loading Loading @@ -158,6 +159,10 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler, mSurfaceSession); mDisplayImeController = displayImeController; mRootTDAOrganizer.registerListener(displayId, this); final DeviceStateManager deviceStateManager = mContext.getSystemService(DeviceStateManager.class); deviceStateManager.registerCallback(taskOrganizer.getExecutor(), new DeviceStateManager.FoldStateListener(mContext, this::onFoldedStateChanged)); mSplitTransitions = new SplitScreenTransitions(transactionPool, transitions, mOnTransitionAnimationComplete); transitions.addHandler(this); Loading Loading @@ -599,6 +604,12 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler, } } private void onFoldedStateChanged(boolean folded) { if (folded && mMainStage.isActive()) { exitSplitScreen(); } } private Rect getSideStageBounds() { return mSideStagePosition == SPLIT_POSITION_TOP_OR_LEFT ? mSplitLayout.getBounds1() : mSplitLayout.getBounds2(); Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java +11 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import android.annotation.Nullable; import android.app.ActivityManager; import android.content.Context; import android.graphics.Rect; import android.hardware.devicestate.DeviceStateManager; import android.os.Bundle; import android.os.IBinder; import android.util.Log; Loading Loading @@ -158,6 +159,10 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler, mSurfaceSession); mDisplayImeController = displayImeController; mRootTDAOrganizer.registerListener(displayId, this); final DeviceStateManager deviceStateManager = mContext.getSystemService(DeviceStateManager.class); deviceStateManager.registerCallback(taskOrganizer.getExecutor(), new DeviceStateManager.FoldStateListener(mContext, this::onFoldedStateChanged)); mSplitTransitions = new SplitScreenTransitions(transactionPool, transitions, mOnTransitionAnimationComplete); transitions.addHandler(this); Loading Loading @@ -599,6 +604,12 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler, } } private void onFoldedStateChanged(boolean folded) { if (folded && mMainStage.isActive()) { exitSplitScreen(); } } private Rect getSideStageBounds() { return mSideStagePosition == SPLIT_POSITION_TOP_OR_LEFT ? mSplitLayout.getBounds1() : mSplitLayout.getBounds2(); Loading