Merge "Fix wrong split layout after drag drop" into tm-qpr-dev
This commit is contained in:
@@ -398,8 +398,6 @@ public class SplitScreenController implements DragAndDropPolicy.Starter,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
mStageCoordinator.updateSurfaceBounds(null /* layout */, t,
|
|
||||||
false /* applyResizingOffset */);
|
|
||||||
for (int i = 0; i < apps.length; ++i) {
|
for (int i = 0; i < apps.length; ++i) {
|
||||||
if (apps[i].mode == MODE_OPENING) {
|
if (apps[i].mode == MODE_OPENING) {
|
||||||
t.show(apps[i].leash);
|
t.show(apps[i].leash);
|
||||||
|
|||||||
@@ -1283,7 +1283,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
|
|||||||
private void onStageHasChildrenChanged(StageListenerImpl stageListener) {
|
private void onStageHasChildrenChanged(StageListenerImpl stageListener) {
|
||||||
final boolean hasChildren = stageListener.mHasChildren;
|
final boolean hasChildren = stageListener.mHasChildren;
|
||||||
final boolean isSideStage = stageListener == mSideStageListener;
|
final boolean isSideStage = stageListener == mSideStageListener;
|
||||||
if (!hasChildren && !mIsExiting) {
|
if (!hasChildren && !mIsExiting && mMainStage.isActive()) {
|
||||||
if (isSideStage && mMainStageListener.mVisible) {
|
if (isSideStage && mMainStageListener.mVisible) {
|
||||||
// Exit to main stage if side stage no longer has children.
|
// Exit to main stage if side stage no longer has children.
|
||||||
if (ENABLE_SHELL_TRANSITIONS) {
|
if (ENABLE_SHELL_TRANSITIONS) {
|
||||||
@@ -1303,7 +1303,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
|
|||||||
EXIT_REASON_APP_FINISHED);
|
EXIT_REASON_APP_FINISHED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (isSideStage && !mMainStage.isActive()) {
|
} else if (isSideStage && hasChildren && !mMainStage.isActive()) {
|
||||||
if (mFocusingTaskInfo != null && !isValidToEnterSplitScreen(mFocusingTaskInfo)) {
|
if (mFocusingTaskInfo != null && !isValidToEnterSplitScreen(mFocusingTaskInfo)) {
|
||||||
final WindowContainerTransaction wct = new WindowContainerTransaction();
|
final WindowContainerTransaction wct = new WindowContainerTransaction();
|
||||||
mSideStage.removeAllTasks(wct, true);
|
mSideStage.removeAllTasks(wct, true);
|
||||||
|
|||||||
Reference in New Issue
Block a user