Lock free app animations (5/n): Reimplement skip first frame
Test: go/wm-smoke
Test: Close app, inspect transition with WindowScope, make sure
first frame of animation is skipped
Bug:
Change-Id: I68c135621df47c50696e318c4394da36ce806922
diff --git a/services/core/java/com/android/server/wm/WindowAnimationSpec.java b/services/core/java/com/android/server/wm/WindowAnimationSpec.java
index 9504d45..20e19f4 100644
--- a/services/core/java/com/android/server/wm/WindowAnimationSpec.java
+++ b/services/core/java/com/android/server/wm/WindowAnimationSpec.java
@@ -38,10 +38,12 @@
private Animation mAnimation;
private final Point mPosition = new Point();
private final ThreadLocal<TmpValues> mThreadLocalTmps = ThreadLocal.withInitial(TmpValues::new);
+ private final boolean mCanSkipFirstFrame;
- public WindowAnimationSpec(Animation animation, Point position) {
+ public WindowAnimationSpec(Animation animation, Point position, boolean canSkipFirstFrame) {
mAnimation = animation;
mPosition.set(position.x, position.y);
+ mCanSkipFirstFrame = canSkipFirstFrame;
}
@Override
@@ -88,6 +90,11 @@
}
}
+ @Override
+ public boolean canSkipFirstFrame() {
+ return mCanSkipFirstFrame;
+ }
+
/**
* Tries to find a {@link TranslateAnimation} inside the {@code animation}.
*