4 #include <android/log.h>
10 jobject *android_activity;
14 android_find_class_global(char *name, jclass *ret)
16 *ret=(*jnienv)->FindClass(jnienv, name);
18 dbg(0,"Failed to get Class %s\n",name);
21 (*jnienv)->NewGlobalRef(jnienv, *ret);
26 android_find_method(jclass class, char *name, char *args, jmethodID *ret)
28 *ret = (*jnienv)->GetMethodID(jnienv, class, name, args);
30 dbg(0,"Failed to get Method %s with signature %s\n",name,args);
37 android_find_static_method(jclass class, char *name, char *args, jmethodID *ret)
39 *ret = (*jnienv)->GetStaticMethodID(jnienv, class, name, args);
41 dbg(0,"Failed to get static Method %s with signature %s\n",name,args);
47 JNIEXPORT void JNICALL
48 Java_org_navitproject_navit_Navit_NavitMain( JNIEnv* env, jobject thiz, jobject activity, jobject lang)
50 char *strings[]={"/data/data/org.navitproject.navit/bin/navit",NULL};
52 __android_log_print(ANDROID_LOG_ERROR,"test","called");
54 android_activity=activity;
55 (*jnienv)->NewGlobalRef(jnienv, activity);
56 langstr=(*env)->GetStringUTFChars(env, lang, NULL);
57 dbg(0,"enter env=%p thiz=%p activity=%p lang=%s\n",env,thiz,activity,langstr);
58 setenv("LANG",langstr,1);
59 (*env)->ReleaseStringUTFChars(env, lang, langstr);
60 main_real(1, strings);
63 JNIEXPORT void JNICALL
64 Java_org_navitproject_navit_NavitGraphics_SizeChangedCallback( JNIEnv* env, jobject thiz, int id, int w, int h)
66 dbg(0,"enter %p %d %d\n",(struct callback *)id,w,h);
68 callback_call_2((struct callback *)id,w,h);
71 JNIEXPORT void JNICALL
72 Java_org_navitproject_navit_NavitGraphics_ButtonCallback( JNIEnv* env, jobject thiz, int id, int pressed, int button, int x, int y)
74 dbg(1,"enter %p %d %d\n",(struct callback *)id,pressed,button);
76 callback_call_4((struct callback *)id,pressed,button,x,y);
79 JNIEXPORT void JNICALL
80 Java_org_navitproject_navit_NavitGraphics_MotionCallback( JNIEnv* env, jobject thiz, int id, int x, int y)
82 dbg(1,"enter %p %d %d\n",(struct callback *)id,x,y);
84 callback_call_2((struct callback *)id,x,y);
87 JNIEXPORT void JNICALL
88 Java_org_navitproject_navit_NavitGraphics_KeypressCallback( JNIEnv* env, jobject thiz, int id, jobject str)
91 dbg(0,"enter %p %p\n",(struct callback *)id,str);
92 s=(*env)->GetStringUTFChars(env, str, NULL);
95 callback_call_1((struct callback *)id,s);
96 (*env)->ReleaseStringUTFChars(env, str, s);
99 JNIEXPORT void JNICALL
100 Java_org_navitproject_navit_NavitTimeout_TimeoutCallback( JNIEnv* env, jobject thiz, int delete, int id)
102 dbg(1,"enter %p %d %p\n",thiz, delete, (void *)id);
103 callback_call_0((struct callback *)id);
105 (*jnienv)->DeleteGlobalRef(jnienv, thiz);
108 JNIEXPORT void JNICALL
109 Java_org_navitproject_navit_NavitVehicle_VehicleCallback( JNIEnv * env, jobject thiz, int id, jobject location)
111 callback_call_1((struct callback *)id, (void *)location);
114 JNIEXPORT void JNICALL
115 Java_org_navitproject_navit_NavitIdle_IdleCallback( JNIEnv* env, jobject thiz, int id)
117 dbg(1,"enter %p %p\n",thiz, (void *)id);
118 callback_call_0((struct callback *)id);
121 JNIEXPORT void JNICALL
122 Java_org_navitproject_navit_NavitWatch_poll( JNIEnv* env, jobject thiz, int fd, int cond)
126 dbg(1,"%p poll called for %d %d\n",env, fd, cond);
127 switch ((enum event_watch_cond)cond) {
128 case event_watch_cond_read:
131 case event_watch_cond_write:
134 case event_watch_cond_except:
144 JNIEXPORT void JNICALL
145 Java_org_navitproject_navit_NavitWatch_WatchCallback( JNIEnv* env, jobject thiz, int id)
147 dbg(1,"enter %p %p\n",thiz, (void *)id);
148 callback_call_0((struct callback *)id);
152 JNIEXPORT void JNICALL
153 Java_org_navitproject_navit_NavitSensors_SensorCallback( JNIEnv* env, jobject thiz, int id, int sensor, float x, float y, float z)
155 dbg(1,"enter %p %p %f %f %f\n",thiz, (void *)id,x,y,z);
156 callback_call_4((struct callback *)id, sensor, &x, &y, &z);