X-Git-Url: http://nitlanguage.org diff --git a/lib/android/activities.nit b/lib/android/activities.nit index e3e0e65..a457899 100644 --- a/lib/android/activities.nit +++ b/lib/android/activities.nit @@ -33,8 +33,23 @@ extern class NativeActivity in "Java" `{ android.app.Activity `} # 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