From f0cae244ae7965c286a49ed95296337a05c0edf9 Mon Sep 17 00:00:00 2001 From: Mis012 Date: Sat, 31 Dec 2022 17:00:27 +0100 Subject: [PATCH] src/api-impl/android/view/Choreographer.java: implement enough for games using swappy to work (tested with sample Unity app) --- src/api-impl/android/view/Choreographer.java | 22 +++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/api-impl/android/view/Choreographer.java b/src/api-impl/android/view/Choreographer.java index 3626c58e..2f7bb231 100644 --- a/src/api-impl/android/view/Choreographer.java +++ b/src/api-impl/android/view/Choreographer.java @@ -1,5 +1,25 @@ package android.view; public final class Choreographer { - public static interface FrameCallback {} + public static interface FrameCallback { + public void doFrame(long frametime_in_nanoseconds); + } + + public static Choreographer getInstance() { + return new Choreographer(); + } + + public void postFrameCallback(Choreographer.FrameCallback callback) { + postFrameCallbackDelayed(callback, 0); + } + + public void postFrameCallbackDelayed(final Choreographer.FrameCallback callback, long delayMillis) { + // TODO - do the delay part + // NOTE: if we do this synchronously, it gets stuck + Thread async = new Thread(new Runnable() { + public void run() { + callback.doFrame(System.nanoTime()); + }}); + async.start(); + } }