diff options
| author | 2024-05-28 15:04:55 +0200 | |
|---|---|---|
| committer | 2024-05-28 15:04:55 +0200 | |
| commit | 1a77296d0832e806f1310bb3b66a487cee20baaf (patch) | |
| tree | c4e93a87dc2e5b93be61da223162123ad105f98c | |
| parent | c14c0eac058c6eabfdf5f968b5567ffa340fb995 (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.kt | 3 |
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 -> |