# HACK for bug #845
redef fun new_global_ref: SELF import sys, Sys.jni_env `{
- Sys sys = NativeActivity_sys(recv);
+ Sys sys = NativeActivity_sys(self);
JNIEnv *env = Sys_jni_env(sys);
- return (*env)->NewGlobalRef(env, recv);
+ return (*env)->NewGlobalRef(env, self);
+ `}
+
+ # Notify the OS that this activity is done and should be closed
+ fun finish in "Java" `{ self.finish(); `}
+
+ # Execute `task.main` on the UI thread when possible
+ fun run_on_ui_thread(task: Task) import Task.main in "Java" `{
+ final int final_task = task;
+ Runnable runnable = new Runnable() {
+ @Override
+ public void run() {
+ Task_main(final_task);
+ }
+ };
+ self.runOnUiThread(runnable);
`}
end