Merge "Update dock stack create mode after rotation if dock side changed" into nyc-dev
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
package com.android.server.wm;
|
package com.android.server.wm;
|
||||||
|
|
||||||
import static android.app.ActivityManager.DOCKED_STACK_CREATE_MODE_TOP_OR_LEFT;
|
import static android.app.ActivityManager.DOCKED_STACK_CREATE_MODE_TOP_OR_LEFT;
|
||||||
|
import static android.app.ActivityManager.DOCKED_STACK_CREATE_MODE_BOTTOM_OR_RIGHT;
|
||||||
import static android.app.ActivityManager.StackId.DOCKED_STACK_ID;
|
import static android.app.ActivityManager.StackId.DOCKED_STACK_ID;
|
||||||
import static android.app.ActivityManager.StackId.HOME_STACK_ID;
|
import static android.app.ActivityManager.StackId.HOME_STACK_ID;
|
||||||
import static android.app.ActivityManager.StackId.PINNED_STACK_ID;
|
import static android.app.ActivityManager.StackId.PINNED_STACK_ID;
|
||||||
@@ -403,6 +404,13 @@ public class TaskStack implements DimLayer.DimLayerUser,
|
|||||||
snapDockedStackAfterRotation(mTmpRect2);
|
snapDockedStackAfterRotation(mTmpRect2);
|
||||||
final int newDockSide = getDockSide(mTmpRect2);
|
final int newDockSide = getDockSide(mTmpRect2);
|
||||||
if (oldDockSide != newDockSide) {
|
if (oldDockSide != newDockSide) {
|
||||||
|
// Update the dock create mode and clear the dock create bounds, these
|
||||||
|
// might change after a rotation and the original values will be invalid.
|
||||||
|
mService.setDockedStackCreateStateLocked(
|
||||||
|
(newDockSide == DOCKED_LEFT || newDockSide == DOCKED_TOP)
|
||||||
|
? DOCKED_STACK_CREATE_MODE_TOP_OR_LEFT
|
||||||
|
: DOCKED_STACK_CREATE_MODE_BOTTOM_OR_RIGHT,
|
||||||
|
null);
|
||||||
mDisplayContent.getDockedDividerController().notifyDockSideChanged(newDockSide);
|
mDisplayContent.getDockedDividerController().notifyDockSideChanged(newDockSide);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4959,10 +4959,14 @@ public class WindowManagerService extends IWindowManager.Stub
|
|||||||
|
|
||||||
public void setDockedStackCreateState(int mode, Rect bounds) {
|
public void setDockedStackCreateState(int mode, Rect bounds) {
|
||||||
synchronized (mWindowMap) {
|
synchronized (mWindowMap) {
|
||||||
|
setDockedStackCreateStateLocked(mode, bounds);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void setDockedStackCreateStateLocked(int mode, Rect bounds) {
|
||||||
mDockedStackCreateMode = mode;
|
mDockedStackCreateMode = mode;
|
||||||
mDockedStackCreateBounds = bounds;
|
mDockedStackCreateBounds = bounds;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new TaskStack and place it on a DisplayContent.
|
* Create a new TaskStack and place it on a DisplayContent.
|
||||||
|
|||||||
Reference in New Issue
Block a user