Merge "Check if window is using blastSync when deciding to use change tx"
This commit is contained in:
committed by
Android (Google) Code Review
commit
72cda5ebd4
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user