diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java index 00f4a45ba9c55..0285f7075e957 100644 --- a/services/core/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java @@ -228,8 +228,6 @@ class WindowStateAnimator { int mAttrType; static final long PENDING_TRANSACTION_FINISH_WAIT_TIME = 100; - long mDeferTransactionUntilFrame = -1; - long mDeferTransactionTime = -1; boolean mForceScaleUntilResize; @@ -2055,35 +2053,11 @@ class WindowStateAnimator { if (!mWin.isChildWindow()) { return; } - mDeferTransactionUntilFrame = frameNumber; - mDeferTransactionTime = System.currentTimeMillis(); mSurfaceController.deferTransactionUntil( mWin.mAttachedWindow.mWinAnimator.mSurfaceController.getHandle(), frameNumber); } - // Defer the current transaction to the frame number of the last saved transaction. - // We do this to avoid shooting through an unsynchronized transaction while something is - // pending. This is generally fine, as either we will get in on the synchronization, - // or SurfaceFlinger will see that the frame has already occured. The only - // potential problem is in frame number resets so we reset things with a timeout - // every so often to be careful. - void deferToPendingTransaction() { - if (mDeferTransactionUntilFrame < 0) { - return; - } - long time = System.currentTimeMillis(); - if (time > mDeferTransactionTime + PENDING_TRANSACTION_FINISH_WAIT_TIME) { - mDeferTransactionTime = -1; - mDeferTransactionUntilFrame = -1; - } else if (mWin.mAttachedWindow != null && - mWin.mAttachedWindow.mWinAnimator.hasSurface()) { - mSurfaceController.deferTransactionUntil( - mWin.mAttachedWindow.mWinAnimator.mSurfaceController.getHandle(), - mDeferTransactionUntilFrame); - } - } - /** * Sometimes we need to synchronize the first frame of animation with some external event. * To achieve this, we prolong the start of the animation and keep producing the first frame of diff --git a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java index fa5e3cabeb443..5a79da938c605 100644 --- a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java +++ b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java @@ -742,10 +742,6 @@ class WindowSurfacePlacer { // Moved from updateWindowsAndWallpaperLocked(). if (w.mHasSurface) { - // If we have recently synchronized a previous transaction for this - // window ensure we don't push through an unsynchronized one now. - winAnimator.deferToPendingTransaction(); - // Take care of the window being ready to display. final boolean committed = winAnimator.commitFinishDrawingLocked(); if (isDefaultDisplay && committed) {