android: NitActivity and NitService use long to hold pointers
authorAlexis Laferrière <alexis.laf@xymus.net>
Tue, 26 Feb 2019 19:46:52 +0000 (14:46 -0500)
committerAlexis Laferrière <alexis.laf@xymus.net>
Wed, 27 Feb 2019 17:00:11 +0000 (12:00 -0500)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

lib/android/NitActivity.java
lib/android/nit_activity.nit
lib/android/service/NitService.java
lib/android/service/service.nit

index 2f712f1..ca15d38 100644 (file)
@@ -25,7 +25,7 @@ import android.view.KeyEvent;
 public class NitActivity extends Activity {
 
        // Nit activity associated to `this`
-       protected int nitActivity = 0;
+       protected long nitActivity = 0;
 
        /*
         * Calls to Nit or to the C framework
@@ -38,21 +38,21 @@ public class NitActivity extends Activity {
        /*
         * Callbacks to Nit through C
         */
-       protected native int nitRegisterActivity();
-       protected native void nitOnCreate(int activity, Bundle savedInstanceState);
-       protected native void nitOnStart(int activity);
-       protected native void nitOnRestart(int activity);
-       protected native void nitOnResume(int activity);
-       protected native void nitOnPause(int activity);
-       protected native void nitOnStop(int activity);
-       protected native void nitOnDestroy(int activity);
-       protected native void nitOnSaveInstanceState(int activity, Bundle savedInstanceState);
-       protected native void nitOnRestoreInstanceState(int activity, Bundle savedInstanceState);
-       protected native boolean nitOnBackPressed(int activity);
-       protected native boolean nitOnKeyDown(int activity, int keyCode, KeyEvent event);
-       protected native boolean nitOnKeyLongPress(int activity, int keyCode, KeyEvent event);
-       protected native boolean nitOnKeyMultiple(int activity, int keyCode, int count, KeyEvent event);
-       protected native boolean nitOnKeyUp(int activity, int keyCode, KeyEvent event);
+       protected native long nitRegisterActivity();
+       protected native void nitOnCreate(long activity, Bundle savedInstanceState);
+       protected native void nitOnStart(long activity);
+       protected native void nitOnRestart(long activity);
+       protected native void nitOnResume(long activity);
+       protected native void nitOnPause(long activity);
+       protected native void nitOnStop(long activity);
+       protected native void nitOnDestroy(long activity);
+       protected native void nitOnSaveInstanceState(long activity, Bundle savedInstanceState);
+       protected native void nitOnRestoreInstanceState(long activity, Bundle savedInstanceState);
+       protected native boolean nitOnBackPressed(long activity);
+       protected native boolean nitOnKeyDown(long activity, int keyCode, KeyEvent event);
+       protected native boolean nitOnKeyLongPress(long activity, int keyCode, KeyEvent event);
+       protected native boolean nitOnKeyMultiple(long activity, int keyCode, int count, KeyEvent event);
+       protected native boolean nitOnKeyUp(long activity, int keyCode, KeyEvent event);
 
        /*
         * Implementation of OS callbacks
index 76723b3..980270c 100644 (file)
@@ -74,94 +74,94 @@ in "C body" `{
         * Implementations of NitActivity.java native methods
         */
 
-       JNIEXPORT jint JNICALL Java_nit_app_NitActivity_nitRegisterActivity
+       JNIEXPORT jlong JNICALL Java_nit_app_NitActivity_nitRegisterActivity
          (JNIEnv *env, jobject java_activity)
        {
                Activity nit_activity = App_register_activity(global_app, java_activity);
                Activity_incr_ref(nit_activity);
-               return (jint)(void*)nit_activity;
+               return (jlong)(void*)nit_activity;
        }
 
        JNIEXPORT void JNICALL Java_nit_app_NitActivity_nitOnCreate
-         (JNIEnv *env, jobject java_activity, jint nit_activity, jobject saved_state)
+         (JNIEnv *env, jobject java_activity, jlong nit_activity, jobject saved_state)
        {
                Activity_on_create((Activity)nit_activity, saved_state);
        }
 
        JNIEXPORT void JNICALL Java_nit_app_NitActivity_nitOnStart
-         (JNIEnv *env, jobject java_activity, jint nit_activity)
+         (JNIEnv *env, jobject java_activity, jlong nit_activity)
        {
                Activity_on_start((Activity)nit_activity);
        }
 
        JNIEXPORT void JNICALL Java_nit_app_NitActivity_nitOnRestart
-         (JNIEnv *env, jobject java_activity, jint nit_activity)
+         (JNIEnv *env, jobject java_activity, jlong nit_activity)
        {
                Activity_on_restart((Activity)nit_activity);
        }
 
        JNIEXPORT void JNICALL Java_nit_app_NitActivity_nitOnResume
-         (JNIEnv *env, jobject java_activity, jint nit_activity)
+         (JNIEnv *env, jobject java_activity, jlong nit_activity)
        {
                Activity_on_resume((Activity)nit_activity);
        }
 
        JNIEXPORT void JNICALL Java_nit_app_NitActivity_nitOnPause
-         (JNIEnv *env, jobject java_activity, jint nit_activity)
+         (JNIEnv *env, jobject java_activity, jlong nit_activity)
        {
                Activity_on_pause((Activity)nit_activity);
        }
 
        JNIEXPORT void JNICALL Java_nit_app_NitActivity_nitOnStop
-         (JNIEnv *env, jobject java_activity, jint nit_activity)
+         (JNIEnv *env, jobject java_activity, jlong nit_activity)
        {
                Activity_on_stop((Activity)nit_activity);
        }
 
        JNIEXPORT void JNICALL Java_nit_app_NitActivity_nitOnDestroy
-         (JNIEnv *env, jobject java_activity, jint nit_activity)
+         (JNIEnv *env, jobject java_activity, jlong nit_activity)
        {
                Activity_on_destroy((Activity)nit_activity);
        }
 
        JNIEXPORT void JNICALL Java_nit_app_NitActivity_nitOnSaveInstanceState
-         (JNIEnv *env, jobject java_activity, jint nit_activity, jobject saved_state)
+         (JNIEnv *env, jobject java_activity, jlong nit_activity, jobject saved_state)
        {
                Activity_on_save_instance_state((Activity)nit_activity, saved_state);
        }
 
        JNIEXPORT void JNICALL Java_nit_app_NitActivity_nitOnRestoreInstanceState
-         (JNIEnv *env, jobject java_activity, jint nit_activity, jobject saved_state)
+         (JNIEnv *env, jobject java_activity, jlong nit_activity, jobject saved_state)
        {
                Activity_on_restore_instance_state((Activity)nit_activity, saved_state);
        }
 
        JNIEXPORT jboolean JNICALL Java_nit_app_NitActivity_nitOnBackPressed
-         (JNIEnv *env, jobject java_activity, jint nit_activity)
+         (JNIEnv *env, jobject java_activity, jlong nit_activity)
        {
                return (jboolean)Activity_on_back_pressed((Activity)nit_activity);
        }
 
        JNIEXPORT jboolean JNICALL Java_nit_app_NitActivity_nitOnKeyDown
-         (JNIEnv *env, jobject java_activity, jint nit_activity, jint keyCode, jobject event)
+         (JNIEnv *env, jobject java_activity, jlong nit_activity, jint keyCode, jobject event)
        {
                return (jboolean)Activity_on_key_down((Activity)nit_activity, keyCode, event);
        }
 
        JNIEXPORT jboolean JNICALL Java_nit_app_NitActivity_nitOnKeyLongPress
-         (JNIEnv *env, jobject java_activity, jint nit_activity, jint keyCode, jobject event)
+         (JNIEnv *env, jobject java_activity, jlong nit_activity, jint keyCode, jobject event)
        {
                return (jboolean)Activity_on_key_long_press((Activity)nit_activity, keyCode, event);
        }
 
        JNIEXPORT jboolean JNICALL Java_nit_app_NitActivity_nitOnKeyMultiple
-         (JNIEnv *env, jobject java_activity, jint nit_activity, jint keyCode, jint count, jobject event)
+         (JNIEnv *env, jobject java_activity, jlong nit_activity, jint keyCode, jint count, jobject event)
        {
                return (jboolean)Activity_on_key_multiple((Activity)nit_activity, keyCode, count, event);
        }
 
        JNIEXPORT jboolean JNICALL Java_nit_app_NitActivity_nitOnKeyUp
-         (JNIEnv *env, jobject java_activity, jint nit_activity, jint keyCode, jobject event)
+         (JNIEnv *env, jobject java_activity, jlong nit_activity, jint keyCode, jobject event)
        {
                return (jboolean)Activity_on_key_up((Activity)nit_activity, keyCode, event);
        }
index b0767d6..fd7e79f 100644 (file)
@@ -22,7 +22,7 @@ import android.os.IBinder;
 // Service implemented in Nit
 public class NitService extends Service {
 
-       protected int nitService = 0;
+       protected long nitService = 0;
 
        static {
                System.loadLibrary("nit_app");
@@ -51,8 +51,8 @@ public class NitService extends Service {
                return null;
        }
 
-       protected native int nitNewService();
-       protected native int nitOnStartCommand(int nitService, Intent intent, int flags, int id);
-       protected native void nitOnCreate(int nitService);
-       protected native void nitOnDestroy(int nitService);
+       protected native long nitNewService();
+       protected native int nitOnStartCommand(long nitService, Intent intent, int flags, int id);
+       protected native void nitOnCreate(long nitService);
+       protected native void nitOnDestroy(long nitService);
 }
index b08a9d0..823d16e 100644 (file)
@@ -24,7 +24,7 @@ in "C" `{
        // Nit's App running instance, declared in `nit_activity`
        extern App global_app;
 
-       JNIEXPORT jint JNICALL Java_nit_app_NitService_nitNewService
+       JNIEXPORT jlong JNICALL Java_nit_app_NitService_nitNewService
                (JNIEnv *env, jobject java_service)
        {
                // Pin a ref to the Java service in the Java GC
@@ -39,23 +39,23 @@ in "C" `{
 
                Service_incr_ref(nit_service);
 
-               return (jint)(void*)nit_service;
+               return (jlong)(void*)nit_service;
        }
 
        JNIEXPORT jint JNICALL Java_nit_app_NitService_nitOnStartCommand
-               (JNIEnv *env, jobject java_service, jint nit_service, jobject intent, jint flags, jint id)
+               (JNIEnv *env, jobject java_service, jlong nit_service, jobject intent, jint flags, jint id)
        {
                return Service_on_start_command((Service)nit_service, intent, flags, id);
        }
 
        JNIEXPORT void JNICALL Java_nit_app_NitService_nitOnCreate
-               (JNIEnv *env, jobject java_service, jint nit_service)
+               (JNIEnv *env, jobject java_service, jlong nit_service)
        {
                Service_on_create((Service)nit_service);
        }
 
        JNIEXPORT void JNICALL Java_nit_app_NitService_nitOnDestroy
-               (JNIEnv *env, jobject java_service, jint nit_service)
+               (JNIEnv *env, jobject java_service, jlong nit_service)
        {
                Service_on_destroy((Service)nit_service);