public void /*ISurfaceHolderCallback2.*/ SurfaceRedrawNeededAsync(ISurfaceHolder?holder, Java.Lang.IRunnable drawingFinished) { _frameRendered.Reset(); Task.Run(() => // TODO: Should we invoke drawingFinished on calling / UI thread? { try { _frameRendered.Wait(); drawingFinished.Run(); } catch (Exception e) { if (this.Log().IsEnabled(LogLevel.Error)) { this.Log().Error("Async redraw failed.", e); } } }); }
public static void run(this Java.Lang.IRunnable runnable) { runnable.Run(); }