public Choreographer.IFrameCallback getFrameCallback() { if (mFrameCallback == null) { mFrameCallback = new XFrameCallBack() { doFrame = (frameTimeNanos) => { doFrame?.Invoke(frameTimeNanos); } }; } return(mFrameCallback); }
public ChoreographerAndroidSpringLooper(Choreographer choreographer) { mChoreographer = choreographer; mFrameCallback = new XFrameCallBack() { doFrame = (frameTimeNanos) => { if (!mStarted || mSpringSystem == null) { return; } long currentTime = SystemClock.UptimeMillis(); mSpringSystem.loop(currentTime - mLastTime); mLastTime = currentTime; mChoreographer.PostFrameCallback(mFrameCallback); } }; }
// // @TargetApi(Build.VERSION_CODES.JELLY_BEAN) private void choreographerRemoveFrameCallback(Choreographer.IFrameCallback frameCallback) { mChoreographer.RemoveFrameCallback(frameCallback); }
// // @TargetApi(Build.VERSION_CODES.JELLY_BEAN) private void choreographerPostFrameCallbackDelayed( Choreographer.IFrameCallback frameCallback, long delayMillis) { mChoreographer.PostFrameCallbackDelayed(frameCallback, delayMillis); }
// // @TargetApi(Build.VERSION_CODES.JELLY_BEAN) private void choreographerPostFrameCallback(Choreographer.IFrameCallback frameCallback) { mChoreographer.PostFrameCallback(frameCallback); }