Force a relayout when task is resized while not drag resizing.
mResizedWhileNotDragResizing is set is task bounds is resized, however individual window's size may not change (eg. a floating dialog). The relayout window may not come and the mResizedWhileNotDragResizing flag won't get cleared. bug: 28111853 Change-Id: If8bb79cc07d9c67d6e5685b0adc24a9ce2623ec6
This commit is contained in:
@@ -9137,7 +9137,8 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
+ " " + w.mOutsets.toShortString()
|
||||
+ " surfaceResized=" + winAnimator.mSurfaceResized
|
||||
+ " configChanged=" + configChanged
|
||||
+ " dragResizingChanged=" + dragResizingChanged);
|
||||
+ " dragResizingChanged=" + dragResizingChanged
|
||||
+ " resizedWhileNotDragResizing=" + w.mResizedWhileNotDragResizing);
|
||||
}
|
||||
|
||||
// If it's a dead window left on screen, and the configuration changed,
|
||||
|
||||
@@ -2266,9 +2266,11 @@ final class WindowState implements WindowManagerPolicy.WindowState {
|
||||
private void dispatchResized(Rect frame, Rect overscanInsets, Rect contentInsets,
|
||||
Rect visibleInsets, Rect stableInsets, Rect outsets, boolean reportDraw,
|
||||
Configuration newConfig) throws RemoteException {
|
||||
final boolean forceRelayout = isDragResizeChanged() || mResizedWhileNotDragResizing;
|
||||
|
||||
mClient.resized(frame, overscanInsets, contentInsets, visibleInsets, stableInsets, outsets,
|
||||
reportDraw, newConfig, getBackdropFrame(frame),
|
||||
isDragResizeChanged() /* forceRelayout */, mPolicy.isNavBarForcedShownLw(this));
|
||||
forceRelayout, mPolicy.isNavBarForcedShownLw(this));
|
||||
mDragResizingChangeReported = true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user