Merge "Only complete sync draw for visible window" into tm-qpr-dev am: d883525692

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19801735

Change-Id: I43454529441290ece843d65dbac0143c18ea2fe0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Riddle Hsu
2022-09-13 12:51:56 +00:00
committed by Automerger Merge Worker
2 changed files with 6 additions and 6 deletions

View File

@@ -650,7 +650,7 @@ public class WindowManagerService extends IWindowManager.Stub
// Whether the system should use BLAST for ViewRootImpl
final boolean mUseBLAST;
// Whether to enable BLASTSyncEngine Transaction passing.
final boolean mUseBLASTSync = true;
static final boolean USE_BLAST_SYNC = true;
final BLASTSyncEngine mSyncEngine;
@@ -2576,7 +2576,7 @@ public class WindowManagerService extends IWindowManager.Stub
if (outSyncIdBundle != null) {
final int maybeSyncSeqId;
if (mUseBLASTSync && win.useBLASTSync() && viewVisibility != View.GONE
if (USE_BLAST_SYNC && win.useBLASTSync() && viewVisibility == View.VISIBLE
&& win.mSyncSeqId > lastSyncSeqId) {
maybeSyncSeqId = win.shouldSyncWithBuffers() ? win.mSyncSeqId : -1;
win.markRedrawForSyncReported();
@@ -5659,7 +5659,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
public boolean useBLASTSync() {
return mUseBLASTSync;
return USE_BLAST_SYNC;
}
@Override

View File

@@ -5959,10 +5959,10 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
@Override
boolean isSyncFinished() {
if (mSyncState == SYNC_STATE_WAITING_FOR_DRAW && mViewVisibility == View.GONE
if (mSyncState == SYNC_STATE_WAITING_FOR_DRAW && mViewVisibility != View.VISIBLE
&& !isVisibleRequested()) {
// Don't wait for GONE windows. However, we don't alter the state in case the window
// becomes un-gone while the syncset is still active.
// Don't wait for invisible windows. However, we don't alter the state in case the
// window becomes visible while the sync group is still active.
return true;
}
return super.isSyncFinished();