Using rotate split layout while split active

While startEnterSplit, if mRotateSplitLayout is exist then it
means we got rotation changed but still not update mSplitLayout
until onDisplayConfigurationChanged callback.

We should using mRotateSplitLayout on this case to ensure the
DisplayLayout is right.

Fix: 190028155
Test: close auto-rotation, open landscape app then
      enable split screen
Change-Id: I68cf0ca3d10ed500100af843e7ed5afdc090b8fc
This commit is contained in:
Tony Huang
2021-06-09 10:22:40 +08:00
parent 6c9c6cb626
commit c5d4ac74c7

View File

@@ -550,12 +550,14 @@ public class LegacySplitScreenController implements DisplayController.OnDisplays
update(mDisplayController.getDisplayContext(
mContext.getDisplayId()).getResources().getConfiguration());
// Set resizable directly here because applyEnterSplit already resizes home stack.
mHomeStackResizable = mWindowManagerProxy.applyEnterSplit(mSplits, mSplitLayout);
mHomeStackResizable = mWindowManagerProxy.applyEnterSplit(mSplits,
mRotateSplitLayout != null ? mRotateSplitLayout : mSplitLayout);
}
public void prepareEnterSplitTransition(WindowContainerTransaction outWct) {
// Set resizable directly here because buildEnterSplit already resizes home stack.
mHomeStackResizable = mWindowManagerProxy.buildEnterSplit(outWct, mSplits, mSplitLayout);
mHomeStackResizable = mWindowManagerProxy.buildEnterSplit(outWct, mSplits,
mRotateSplitLayout != null ? mRotateSplitLayout : mSplitLayout);
}
public void finishEnterSplitTransition(boolean minimized) {