Merge: Some more small improvements on gitlab-ci
[nit.git] / lib / android / activities.nit
index e3e0e65..76e3f07 100644 (file)
@@ -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 nit.app.NitObject final_task = task;
+               Runnable runnable = new Runnable() {
+                       @Override
+                       public void run() {
+                               Task_main(final_task);
+                       }
+               };
+               self.runOnUiThread(runnable);
        `}
 end