Merge "Make Pip usage of FrameCallbackScheduler an actual class"

This commit is contained in:
Winson Chung
2021-01-11 16:30:21 +00:00
committed by Android (Google) Code Review

View File

@@ -83,8 +83,18 @@ public class PipMotionHelper implements PipAppOpsListener.Callback,
private ThreadLocal<AnimationHandler> mSfAnimationHandlerThreadLocal =
ThreadLocal.withInitial(() -> {
FrameCallbackScheduler scheduler = runnable ->
final Looper initialLooper = Looper.myLooper();
final FrameCallbackScheduler scheduler = new FrameCallbackScheduler() {
@Override
public void postFrameCallback(@androidx.annotation.NonNull Runnable runnable) {
Choreographer.getSfInstance().postFrameCallback(t -> runnable.run());
}
@Override
public boolean isCurrentThread() {
return Looper.myLooper() == initialLooper;
}
};
AnimationHandler handler = new AnimationHandler(scheduler);
return handler;
});