Merge "Force relayout if sync operation is requested explicitly" into sc-dev am: 2498beaa3d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14799531 Change-Id: Ib30f1a41e3bdb3a129f468103dc76d87edec0bea
This commit is contained in:
@@ -3840,8 +3840,9 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
|||||||
|
|
||||||
fillClientWindowFramesAndConfiguration(mClientWindowFrames, mLastReportedConfiguration,
|
fillClientWindowFramesAndConfiguration(mClientWindowFrames, mLastReportedConfiguration,
|
||||||
true /* useLatestConfig */, false /* relayoutVisible */);
|
true /* useLatestConfig */, false /* relayoutVisible */);
|
||||||
final boolean reportDraw = drawPending || useBLASTSync() || !mRedrawForSyncReported;
|
final boolean syncRedraw = shouldSendRedrawForSync();
|
||||||
final boolean forceRelayout = reportOrientation || isDragResizeChanged() || !mRedrawForSyncReported;
|
final boolean reportDraw = syncRedraw || drawPending;
|
||||||
|
final boolean forceRelayout = syncRedraw || reportOrientation || isDragResizeChanged();
|
||||||
final DisplayContent displayContent = getDisplayContent();
|
final DisplayContent displayContent = getDisplayContent();
|
||||||
final boolean alwaysConsumeSystemBars =
|
final boolean alwaysConsumeSystemBars =
|
||||||
displayContent.getDisplayPolicy().areSystemBarsForcedShownLw(this);
|
displayContent.getDisplayPolicy().areSystemBarsForcedShownLw(this);
|
||||||
@@ -5939,10 +5940,14 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
|||||||
* for Windows involved in these Syncs
|
* for Windows involved in these Syncs
|
||||||
*/
|
*/
|
||||||
private boolean shouldSendRedrawForSync() {
|
private boolean shouldSendRedrawForSync() {
|
||||||
|
if (mRedrawForSyncReported) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
final Task task = getTask();
|
final Task task = getTask();
|
||||||
if (task != null && task.getMainWindowSizeChangeTransaction() != null)
|
if (task != null && task.getMainWindowSizeChangeTransaction() != null) {
|
||||||
return !mRedrawForSyncReported;
|
return true;
|
||||||
return useBLASTSync() && !mRedrawForSyncReported;
|
}
|
||||||
|
return useBLASTSync();
|
||||||
}
|
}
|
||||||
|
|
||||||
void requestRedrawForSync() {
|
void requestRedrawForSync() {
|
||||||
|
|||||||
Reference in New Issue
Block a user