diff options
| author | 2020-10-29 18:08:05 +0000 | |
|---|---|---|
| committer | 2020-10-29 18:08:05 +0000 | |
| commit | 72cda5ebd4558aa316ab161bd5b4658af95efced (patch) | |
| tree | e7406c08cd77e5fc008a340a43a7de9487449572 | |
| parent | b98e279d84fd7a35a4a524eaf4bbef555625b5a5 (diff) | |
| parent | efdb7a287caa6aa3ebd1ac29dcfcf966a4b3dba9 (diff) | |
Merge "Check if window is using blastSync when deciding to use change tx"
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowStateAnimator.java | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java index 871364569839..1e959e54555f 100644 --- a/services/core/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java @@ -631,25 +631,25 @@ class WindowStateAnimator { } private boolean shouldConsumeMainWindowSizeTransaction() { - // If we use BLASTSync we always consume the transaction when finishing - // the sync. - if (mService.useBLASTSync()) { - return false; - } - // We only consume the transaction when the client is calling relayout - // because this is the only time we know the frameNumber will be valid - // due to the client renderer being paused. Put otherwise, only when - // mInRelayout is true can we guarantee the next frame will contain - // the most recent configuration. - if (!mWin.mInRelayout) return false; - // Since we can only do this for one window, we focus on the main application window - if (mAttrType != TYPE_BASE_APPLICATION) return false; - final Task task = mWin.getTask(); - if (task == null) return false; - if (task.getMainWindowSizeChangeTransaction() == null) return false; - // Likewise we only focus on the task root, since we can only use one window - if (!mWin.mActivityRecord.isRootOfTask()) return false; - return true; + // If we use BLASTSync we always consume the transaction when finishing + // the sync. + if (mService.useBLASTSync() && mWin.useBLASTSync()) { + return false; + } + // We only consume the transaction when the client is calling relayout + // because this is the only time we know the frameNumber will be valid + // due to the client renderer being paused. Put otherwise, only when + // mInRelayout is true can we guarantee the next frame will contain + // the most recent configuration. + if (!mWin.mInRelayout) return false; + // Since we can only do this for one window, we focus on the main application window + if (mAttrType != TYPE_BASE_APPLICATION) return false; + final Task task = mWin.getTask(); + if (task == null) return false; + if (task.getMainWindowSizeChangeTransaction() == null) return false; + // Likewise we only focus on the task root, since we can only use one window + if (!mWin.mActivityRecord.isRootOfTask()) return false; + return true; } void setSurfaceBoundariesLocked(SurfaceControl.Transaction t, final boolean recoveringMemory) { |