diff options
author | rikky <rikky@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2012-04-27 18:38:33 +0000 |
---|---|---|
committer | rikky <rikky@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2012-04-27 18:38:33 +0000 |
commit | e1de57c4143af5d52f701fde0da33622bc5e4155 (patch) | |
tree | 0e873ffbacb3c286b54bd067046ed64f8704755c /navit/android.c | |
parent | f89218706d2fcd44953b1334a0fc6ce040ca2b05 (diff) | |
download | navit-e1de57c4143af5d52f701fde0da33622bc5e4155.tar.gz |
Add:Android:Download more than one map; user may delete old maps; map activation/deactivation at runtime; simplify android menu
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5045 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/android.c')
-rw-r--r-- | navit/android.c | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/navit/android.c b/navit/android.c index 6458c8cd8..9e85d814d 100644 --- a/navit/android.c +++ b/navit/android.c @@ -259,7 +259,49 @@ Java_org_navitproject_navit_NavitGraphics_CallbackMessageChannel( JNIEnv* env, j navit_draw(attr.u.navit); break; case 6: - break; + { + struct mapset *ms = navit_get_mapset(attr.u.navit); + struct attr type, name, data, flags, *attrs[5]; + char *map_location=(*env)->GetStringUTFChars(env, str, NULL); + dbg(0,"*****string=%s\n",map_location); + type.type=attr_type; + type.u.str="binfile"; + + data.type=attr_data; + data.u.str=g_strdup(map_location); + + name.type=attr_name; + name.u.str=g_strdup(map_location); + + flags.type=attr_flags; + flags.u.num=1; + + attrs[0]=&type; attrs[1]=&data; attrs[2]=&name; attrs[3]=&flags; attrs[4]=NULL; + + struct map * new_map = map_new(NULL, attrs); + struct attr map_a; + map_a.type=attr_map; + map_a.u.map=new_map; + mapset_add_attr(ms, &map_a); + navit_draw(attr.u.navit); + (*env)->ReleaseStringUTFChars(env, str, map_location); + } + break; + case 7: + { + struct mapset *ms = navit_get_mapset(attr.u.navit); + struct attr map_r; + char *map_location=(*env)->GetStringUTFChars(env, str, NULL); + struct map * delete_map = mapset_get_map_by_name(ms, map_location); + + dbg(0,"delete map %s (%p)", map_location, delete_map); + map_r.type=attr_map; + map_r.u.map=delete_map; + mapset_remove_attr(ms, &map_r); + navit_draw(attr.u.navit); + (*env)->ReleaseStringUTFChars(env, str, map_location); + } + break; case 5: // call a command (like in gui) s=(*env)->GetStringUTFChars(env, str, NULL); |