Merge "Dismiss staged split after folded the device" into sc-v2-dev am: 4048fa7a26
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14700845 Change-Id: Icd0fc9969d2b6a0552c8aea89aefe61e04f36f01
This commit is contained in:
@@ -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;
|
||||
@@ -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);
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user