Property definitions

android $ NativeActivity :: defaultinit
# An activity, a single, focused thing a user can do on Android
extern class NativeActivity in "Java" `{ android.app.Activity `}
	super NativeContextWrapper

	# HACK for bug #845
	redef fun new_global_ref: SELF import sys, Sys.jni_env `{
		Sys sys = NativeActivity_sys(self);
		JNIEnv *env = Sys_jni_env(sys);
		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
lib/android/activities.nit:30,1--55,3