switch (item.getItemId())\r
{\r
case 1 :\r
+ // zoom in\r
Message msg = new Message();\r
Bundle b = new Bundle();\r
b.putInt("Callback", 1);\r
Log.e("Navit", "onOptionsItemSelected -> zoom in");\r
break;\r
case 2 :\r
+ // zoom out\r
msg = new Message();\r
b = new Bundle();\r
b.putInt("Callback", 2);\r
Log.e("Navit", "onOptionsItemSelected -> zoom out");\r
break;\r
case 3 :\r
- Intent foo2 = new Intent(this, NavitDownloadSelectMapActivity.class);\r
- foo2.putExtra("title", "bla bla");\r
- foo2.putExtra("some stuff", "bla bla");\r
- this.startActivityForResult(foo2, Navit.NavitDownloaderSelectMap_id);\r
+ // map download menu\r
+ Intent map_download_list_activity = new Intent(this,\r
+ NavitDownloadSelectMapActivity.class);\r
+ this.startActivityForResult(map_download_list_activity,\r
+ Navit.NavitDownloaderSelectMap_id);\r
break;\r
case 99 :\r
+ // exit\r
this.exit();\r
// msg = new Message();\r
// b = new Bundle();\r
// dismiss dialog, remove dialog\r
dismissDialog(msg.getData().getInt("dialog_num"));\r
removeDialog(msg.getData().getInt("dialog_num"));\r
- // try to use the new downloaded map (works only when there is now map yet!)\r
- // please fix me in the C-source !!\r
- // please fix me in the C-source !!\r
- Message msg2 = new Message();\r
- Bundle b2 = new Bundle();\r
- b2.putInt("Callback", 6);\r
- msg2.setData(b2);\r
- N_NavitGraphics.callback_handler.sendMessage(msg2);\r
+\r
+ // exit_code=0 -> OK, map was downloaded fine\r
+ if (msg.getData().getInt("exit_code") == 0)\r
+ {\r
+ // try to use the new downloaded map (works fine now!)\r
+ Log.d("Navit", "instance count="\r
+ + Navit.getInstanceCount());\r
+ onStop();\r
+ onCreate(getIntent().getExtras());\r
+\r
+ //Intent intent = this.getIntent();\r
+ //startActivity(intent);\r
+ //finish();\r
+\r
+ //Message msg2 = new Message();\r
+ //Bundle b2 = new Bundle();\r
+ //b2.putInt("Callback", 6);\r
+ //msg2.setData(b2);\r
+ //N_NavitGraphics.callback_handler.sendMessage(msg2);\r
+ }\r
break;\r
case 1 :\r
// change progressbar values\r
public void run()\r
{\r
stop_me = false;\r
- download_osm_map(mHandler, map_values);\r
+ int exit_code = download_osm_map(mHandler, map_values);\r
\r
// ok, remove dialog\r
Message msg = mHandler.obtainMessage();\r
Bundle b = new Bundle();\r
msg.what = 0;\r
b.putInt("dialog_num", Navit.MAPDOWNLOAD_DIALOG);\r
+ b.putInt("exit_code", exit_code);\r
msg.setData(b);\r
mHandler.sendMessage(msg);\r
}\r
this.navit_jmain = main;\r
}\r
\r
- public void download_osm_map(Handler handler, osm_map_values map_values)\r
+ public int download_osm_map(Handler handler, osm_map_values map_values)\r
{\r
+ int exit_code = 1;\r
+\r
Message msg = handler.obtainMessage();\r
Bundle b = new Bundle();\r
msg.what = 1;\r
Log.d("NavitMapDownloader", "stop_me 2");\r
c.disconnect();\r
Log.d("NavitMapDownloader", "stop_me 3");\r
- return;\r
+ return 2;\r
}\r
already_read = already_read + len1;\r
alt_cur++;\r
handler.sendMessage(msg);\r
\r
Log.d("NavitMapDownloader", "Error: " + e);\r
+ exit_code = 3;\r
}\r
catch (Exception e)\r
{\r
handler.sendMessage(msg);\r
\r
Log.d("NavitMapDownloader", "gerneral Error: " + e);\r
+ exit_code = 4;\r
}\r
\r
msg = handler.obtainMessage();\r
\r
\r
Log.d("NavitMapDownloader", "success");\r
+ exit_code = 0;\r
+ return exit_code;\r
}\r
}\r