summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Johannes Gallmann <gallmann@google.com> 2024-05-28 15:04:55 +0200
committer Johannes Gallmann <gallmann@google.com> 2024-05-28 15:04:55 +0200
commit1a77296d0832e806f1310bb3b66a487cee20baaf (patch)
treec4e93a87dc2e5b93be61da223162123ad105f98c
parentc14c0eac058c6eabfdf5f968b5567ffa340fb995 (diff)
Fix idle frame between pre-commit and post-commit phase
Bug: 343136429 Flag: com.android.window.flags.predictive_back_system_anims NEXTFOOD Test: Manual, i.e. comparing before and after screen recordings Change-Id: I93ec816a82b51ca9262f1ffe1dbb045bcec284e6
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossActivityBackAnimation.kt3
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossActivityBackAnimation.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossActivityBackAnimation.kt
index 71fc8c3a01ea..98ac631c9ccf 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossActivityBackAnimation.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossActivityBackAnimation.kt
@@ -27,6 +27,7 @@ import android.graphics.PointF
import android.graphics.Rect
import android.graphics.RectF
import android.os.RemoteException
+import android.util.TimeUtils
import android.view.Choreographer
import android.view.Display
import android.view.IRemoteAnimationFinishedCallback
@@ -259,6 +260,8 @@ abstract class CrossActivityBackAnimation(
.setStartValue(SPRING_SCALE)
.setSpring(postCommitFlingSpring)
flingAnimation.start()
+ // do an animation-frame immediately to prevent idle frame
+ flingAnimation.doAnimationFrame(choreographer.lastFrameTimeNanos / TimeUtils.NANOS_PER_MS)
val valueAnimator = ValueAnimator.ofFloat(1f, 0f).setDuration(POST_COMMIT_DURATION)
valueAnimator.addUpdateListener { animation: ValueAnimator ->