Fix:android:Destroy Navit on exit
authorrikky <rikky@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Sat, 3 Sep 2011 21:50:51 +0000 (21:50 +0000)
committerrikky <rikky@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Sat, 3 Sep 2011 21:50:51 +0000 (21:50 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@4752 ffa7fe5e-494d-0410-b361-a75ebd5db220

navit/navit/android.c
navit/navit/android/src/org/navitproject/navit/Navit.java

index a299582..eef4963 100644 (file)
@@ -78,6 +78,13 @@ Java_org_navitproject_navit_Navit_NavitMain( JNIEnv* env, jobject thiz, jobject
 }
 
 JNIEXPORT void JNICALL
+Java_org_navitproject_navit_Navit_NavitDestroy( JNIEnv* env)
+{
+       dbg(0, "shutdown navit\n");
+       exit(0);
+}
+
+JNIEXPORT void JNICALL
 Java_org_navitproject_navit_Navit_NavitActivity( JNIEnv* env, jobject thiz, int param)
 {
        dbg(0,"enter %d\n",param);
index add3fab..f2f2501 100644 (file)
@@ -814,6 +814,17 @@ public class Navit extends Activity
                return dialogs.createDialog(id);\r
        }\r
 \r
+       @Override\r
+       public void onDestroy()\r
+       {\r
+               super.onDestroy();\r
+               Log.e("Navit", "OnDestroy");\r
+               // TODO next call will kill our app the hard way. This should not be necessary, but ensures navit is\r
+               // properly restarted and no resources are wasted with navit in background. Remove this call after \r
+               // code review\r
+               NavitDestroy();\r
+       }\r
+\r
        public void disableSuspend()\r
        {\r
                wl.acquire();\r
@@ -829,6 +840,7 @@ public class Navit extends Activity
        }\r
 \r
        public native void NavitMain(Navit x, String lang, int version, String display_density_string, String path);\r
+       public native void NavitDestroy();\r
 \r
        /*\r
         * this is used to load the 'navit' native library on\r