Michael, what I can understand is that with your PR, now we can add Java Runnables to be executed on our nativeactivity’s main thread (which is also the GL thread). This, coupled with Android’s usual runOnUiThread gives full two way communication, we can now send runnables from both UI and GL thread to each other - But only in Java world.
What still seems missing is scheduling a C++ ‘runnable’ (or lambda function) to run on GL thread. This can be added easily following the same pattern that you used for Java runnables - we keep creating a thread safe list of lambda objects that are posted, and then run them 5 at a time in main loop.
Do I understand your patch correctly? or is my head going to explode soon trying to understand threads on Android?