Fix:android:Some cleanup of message and dialog handling
authorrikky <rikky@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Wed, 31 Aug 2011 21:41:41 +0000 (21:41 +0000)
committerrikky <rikky@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Wed, 31 Aug 2011 21:41:41 +0000 (21:41 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@4734 ffa7fe5e-494d-0410-b361-a75ebd5db220

navit/navit/android/src/org/navitproject/navit/Navit.java
navit/navit/android/src/org/navitproject/navit/NavitDialogs.java [new file with mode: 0644]
navit/navit/android/src/org/navitproject/navit/NavitGraphics.java
navit/navit/android/src/org/navitproject/navit/NavitMapDownloader.java
navit/navit/android/src/org/navitproject/navit/NavitMessages.java [deleted file]

index b20cd24..557148e 100644 (file)
@@ -28,15 +28,12 @@ import java.util.ArrayList;
 import java.util.List;\r
 import java.util.Locale;\r
 \r
-import org.navitproject.navit.NavitMapDownloader;\r
-\r
 import android.app.Activity;\r
 import android.app.AlertDialog;\r
 import android.app.Dialog;\r
 import android.app.Notification;\r
 import android.app.NotificationManager;\r
 import android.app.PendingIntent;\r
-import android.app.ProgressDialog;\r
 import android.content.Context;\r
 import android.content.DialogInterface;\r
 import android.content.Intent;\r
@@ -73,6 +70,7 @@ public class Navit extends Activity implements Handler.Callback
        }\r
 \r
        public Handler                                                                                          handler;\r
+       public NavitDialogs                                                                             dialogs;\r
        private PowerManager.WakeLock                                                   wl;\r
        private NavitActivityResult                                                     ActivityResults[];\r
        public static InputMethodManager                                                mgr                                                                                     = null;\r
@@ -85,28 +83,17 @@ public class Navit extends Activity implements Handler.Callback
        private static long                                                                             startup_intent_timestamp                                = 0L;\r
        public static String                                                                            my_display_density                                              = "mdpi";\r
        private boolean                                                                                 searchBoxShown                                                          = false;\r
-       public static final int                                                                 MAPDOWNLOAD_DIALOG                                      = 1;\r
-       public static final int                                                                 SEARCHRESULTS_WAIT_DIALOG                               = 3;\r
        public static final int                                                                 ADDRESS_RESULTS_DIALOG_MAX                              = 10;\r
-       public ProgressDialog                                                                   mapdownloader_dialog                            = null;\r
-       public ProgressDialog                                                                   search_results_wait                                             = null;\r
-       public static Handler                                                                   Navit_progress_h                                                        = null;\r
-       public static NavitMapDownloader                                                mapdownloader                                                   = null;\r
        public static final int                                                                 NavitDownloaderPriSelectMap_id          = 967;\r
        public static final int                                                                 NavitDownloaderSecSelectMap_id          = 968;\r
        public static int                                                                                       search_results_towns                                            = 0;\r
        public static int                                                                                       search_results_streets                                  = 0;\r
        public static int                                                                                       search_results_streets_hn                               = 0;\r
-       SearchResultsThread                                                                             searchresultsThread                                             = null;\r
-       SearchResultsThreadSpinnerThread                                                spinner_thread                                                          = null;\r
-       public static Boolean                                                                   NavitAddressSearchSpinnerActive         = false;\r
        public static final int                                                                 MAP_NUM_PRIMARY                                                 = 11;\r
        public static final int                                                                 NavitAddressSearch_id                                   = 70;\r
        public static final int                                                                 NavitAddressResultList_id                               = 71;\r
        public static List<Navit_Address_Result_Struct> NavitAddressResultList_foundItems       = new ArrayList<Navit_Address_Result_Struct>();\r
 \r
-       public static String                                                                            Navit_last_address_search_string                = "";\r
-       public static Boolean                                                                   Navit_last_address_partial_match                = false;\r
 \r
        public static final int                                                                 MAP_NUM_SECONDARY                                                       = 12;\r
        static final String                                                                             MAP_FILENAME_PATH                                                       = "/sdcard/navit/";\r
@@ -219,6 +206,8 @@ public class Navit extends Activity implements Handler.Callback
        {\r
                super.onCreate(savedInstanceState);\r
 \r
+               dialogs = new NavitDialogs(this);\r
+\r
                // only take arguments here, onResume gets called all the time (e.g. when screenblanks, etc.)\r
                Navit.startup_intent = this.getIntent();\r
                // hack! remeber timstamp, and only allow 4 secs. later in onResume to set target!\r
@@ -385,9 +374,8 @@ public class Navit extends Activity implements Handler.Callback
                /*\r
                 * show info box for first time users\r
                 */\r
-\r
+               \r
                // make handler statically available for use in "msg_to_msg_handler"\r
-               Navit_progress_h = this.progress_handler;\r
 \r
                Display display_ = getWindowManager().getDefaultDisplay();\r
                int width_ = display_.getWidth();\r
@@ -712,13 +700,13 @@ public class Navit extends Activity implements Handler.Callback
 \r
        public void start_targetsearch_from_intent(String target_address)\r
        {\r
-               Navit_last_address_partial_match = false;\r
-               Navit_last_address_search_string = target_address;\r
+               NavitDialogs.Navit_last_address_partial_match = false;\r
+               NavitDialogs.Navit_last_address_search_string = target_address;\r
 \r
                // clear results\r
                Navit.NavitAddressResultList_foundItems.clear();\r
 \r
-               if (Navit_last_address_search_string.equals(""))\r
+               if (NavitDialogs.Navit_last_address_search_string.equals(""))\r
                {\r
                        // empty search string entered\r
                        Toast.makeText(getApplicationContext(), Navit.get_text("No address found"),\r
@@ -727,12 +715,7 @@ public class Navit extends Activity implements Handler.Callback
                else\r
                {\r
                        // show dialog\r
-                       Message msg = progress_handler.obtainMessage();\r
-                       Bundle b = new Bundle();\r
-                       msg.what = 11;\r
-                       b.putInt("dialog_num", Navit.SEARCHRESULTS_WAIT_DIALOG);\r
-                       msg.setData(b);\r
-                       progress_handler.sendMessage(msg);\r
+                       dialogs.obtainMessage(NavitDialogs.MSG_SEARCH).sendToTarget();\r
                }\r
        }\r
 \r
@@ -764,17 +747,13 @@ public class Navit extends Activity implements Handler.Callback
                                break;\r
                        case 3 :\r
                                // map download menu for primary\r
-                               Intent map_download_list_activity = new Intent(this,\r
-                                       NavitDownloadSelectMapActivity.class);\r
-                               this.startActivityForResult(map_download_list_activity,\r
-                                               Navit.NavitDownloaderPriSelectMap_id);\r
+                               Intent map_download_list_activity = new Intent(this, NavitDownloadSelectMapActivity.class);\r
+                               startActivityForResult(map_download_list_activity, Navit.NavitDownloaderPriSelectMap_id);\r
                                break;\r
                        case 4 :\r
                                // map download menu for second map\r
-                               Intent map_download_list_activity2 = new Intent(this,\r
-                                               NavitDownloadSelectMapActivity.class);\r
-                               this.startActivityForResult(map_download_list_activity2,\r
-                                               Navit.NavitDownloaderSecSelectMap_id);\r
+                               Intent map_download_list_activity2 = new Intent(this, NavitDownloadSelectMapActivity.class);\r
+                               startActivityForResult(map_download_list_activity2, Navit.NavitDownloaderSecSelectMap_id);\r
                                break;\r
                        case 5 :\r
                                // toggle the normal POI layers (to avoid double POIs)\r
@@ -796,9 +775,9 @@ public class Navit extends Activity implements Handler.Callback
                                // ok startup address search activity\r
                                Intent search_intent = new Intent(this, NavitAddressSearchActivity.class);\r
                                search_intent.putExtra("title", Navit.get_text("Enter: City and Street")); //TRANS\r
-                               search_intent.putExtra("address_string", Navit_last_address_search_string);\r
+                               search_intent.putExtra("address_string", NavitDialogs.Navit_last_address_search_string);\r
                                String pm_temp = "0";\r
-                               if (Navit_last_address_partial_match)\r
+                               if ( NavitDialogs.Navit_last_address_partial_match)\r
                                {\r
                                        pm_temp = "1";\r
                                }\r
@@ -832,33 +811,10 @@ public class Navit extends Activity implements Handler.Callback
                case Navit.NavitDownloaderSecSelectMap_id :\r
                        if (resultCode == Activity.RESULT_OK)\r
                        {\r
-                               try\r
-                               {\r
-                                       Log.d("Navit", "PRI id=" + data.getIntExtra("selected_id", -1));\r
-                                       // set map id to download\r
-\r
-                                       int download_map_id = NavitMapDownloader.OSM_MAP_NAME_ORIG_ID_LIST[data.getIntExtra("selected_id", -1)];\r
-                                       // show the map download progressbar, and download the map\r
-                                       if (download_map_id > -1)\r
-                                       {\r
-                                               int map_slot = 0;\r
-                                               if (requestCode == Navit.NavitDownloaderSecSelectMap_id)\r
-                                               {\r
-                                                       map_slot = 2;\r
-                                               }\r
-                                               \r
-                                               showDialog(Navit.MAPDOWNLOAD_DIALOG);\r
-\r
-                                               mapdownloader = new NavitMapDownloader(this, progress_handler, download_map_id\r
-                                                               , Navit.MAPDOWNLOAD_DIALOG, map_slot);\r
-                                               mapdownloader.start();\r
-\r
-                                       }\r
-                               }\r
-                               catch (Exception e)\r
-                               {\r
-                                       Log.d("Navit", "error on onActivityResult");\r
-                               }\r
+                               Message msg = dialogs.obtainMessage(NavitDialogs.MSG_START_MAP_DOWNLOAD\r
+                                               , data.getIntExtra("selected_id", -1)\r
+                                               , requestCode == Navit.NavitDownloaderSecSelectMap_id ? 2 : 0);\r
+                               msg.sendToTarget();\r
                        }\r
                        break;\r
                case NavitAddressSearch_id :\r
@@ -871,8 +827,8 @@ public class Navit extends Activity implements Handler.Callback
                                                String addr = data.getStringExtra("address_string");\r
                                                Boolean partial_match = data.getStringExtra("partial_match").equals("1");\r
 \r
-                                               Navit_last_address_partial_match = partial_match;\r
-                                               Navit_last_address_search_string = addr;\r
+                                               NavitDialogs.Navit_last_address_partial_match = partial_match;\r
+                                               NavitDialogs.Navit_last_address_search_string = addr;\r
 \r
                                                // clear results\r
                                                Navit.NavitAddressResultList_foundItems.clear();\r
@@ -891,12 +847,7 @@ public class Navit extends Activity implements Handler.Callback
                                                        // show dialog, and start search for the results\r
                                                        // make it indirect, to give our activity a chance to startup\r
                                                        // (remember we come straight from another activity and ours is still paused!)\r
-                                                       Message msg = progress_handler.obtainMessage();\r
-                                                       Bundle b = new Bundle();\r
-                                                       msg.what = 11;\r
-                                                       b.putInt("dialog_num", Navit.SEARCHRESULTS_WAIT_DIALOG);\r
-                                                       msg.setData(b);\r
-                                                       progress_handler.sendMessage(msg);\r
+                                                       dialogs.obtainMessage(NavitDialogs.MSG_SEARCH).sendToTarget();\r
                                                }\r
                                        }\r
                                        catch (NumberFormatException e)\r
@@ -954,295 +905,9 @@ public class Navit extends Activity implements Handler.Callback
                }\r
        }\r
 \r
-       public class SearchResultsThreadSpinnerThread extends Thread\r
-       {\r
-               int                                     dialog_num;\r
-               int                                     spinner_current_value;\r
-               private Boolean running;\r
-               Handler                         mHandler;\r
-               SearchResultsThreadSpinnerThread(Handler h, int dialog_num)\r
-               {\r
-                       this.dialog_num = dialog_num;\r
-                       this.mHandler = h;\r
-                       this.spinner_current_value = 0;\r
-                       this.running = true;\r
-                       Log.e("Navit", "SearchResultsThreadSpinnerThread created");\r
-               }\r
-               public void run()\r
-               {\r
-                       Log.e("Navit", "SearchResultsThreadSpinnerThread started");\r
-                       while (this.running)\r
-                       {\r
-                               if (Navit.NavitAddressSearchSpinnerActive == false)\r
-                               {\r
-                                       this.running = false;\r
-                               }\r
-                               else\r
-                               {\r
-                                       Message msg = mHandler.obtainMessage();\r
-                                       Bundle b = new Bundle();\r
-                                       msg.what = 10;\r
-                                       b.putInt("dialog_num", this.dialog_num);\r
-                                       b.putInt("max", Navit.ADDRESS_RESULTS_DIALOG_MAX);\r
-                                       b.putInt("cur", this.spinner_current_value % (Navit.ADDRESS_RESULTS_DIALOG_MAX + 1));\r
-                                       b.putString("title", Navit.get_text("getting search results")); //TRANS\r
-                                       b.putString("text", Navit.get_text("searching ...")); //TRANS\r
-                                       msg.setData(b);\r
-                                       mHandler.sendMessage(msg);\r
-                                       try\r
-                                       {\r
-                                               Thread.sleep(700);\r
-                                       }\r
-                                       catch (InterruptedException e)\r
-                                       {\r
-                                               // e.printStackTrace();\r
-                                       }\r
-                                       this.spinner_current_value++;\r
-                               }\r
-                       }\r
-                       Log.e("Navit", "SearchResultsThreadSpinnerThread ended");\r
-               }\r
-       }\r
-\r
-\r
-       public class SearchResultsThread extends Thread\r
-       {\r
-               Handler                         mHandler;\r
-               int                                     my_dialog_num;\r
-\r
-               SearchResultsThread(Handler h, int dialog_num)\r
-               {\r
-                       this.mHandler = h;\r
-                       this.my_dialog_num = dialog_num;\r
-                       Log.e("Navit", "SearchResultsThread created");\r
-               }\r
-\r
-               public void run()\r
-               {\r
-                       Log.e("Navit", "SearchResultsThread started");\r
-\r
-                       // initialize the dialog with sane values\r
-                       Message msg = mHandler.obtainMessage();\r
-                       Bundle b = new Bundle();\r
-                       msg.what = 10;\r
-                       b.putInt("dialog_num", this.my_dialog_num);\r
-                       b.putInt("max", Navit.ADDRESS_RESULTS_DIALOG_MAX);\r
-                       b.putInt("cur", 0);\r
-                       b.putString("title", Navit.get_text("getting search results")); //TRANS\r
-                       b.putString("text", Navit.get_text("searching ...")); //TRANS\r
-                       msg.setData(b);\r
-                       mHandler.sendMessage(msg);\r
-\r
-                       int partial_match_i = 0;\r
-                       if (Navit_last_address_partial_match)\r
-                       {\r
-                               partial_match_i = 1;\r
-                       }\r
-\r
-                       // start the search, this could take a long time!!\r
-                       Log.e("Navit", "SearchResultsThread run1");\r
-                       Navit_last_address_search_string = filter_bad_chars(Navit_last_address_search_string);\r
-                       N_NavitGraphics.CallbackSearchResultList(partial_match_i, Navit_last_address_search_string);\r
-                       Log.e("Navit", "SearchResultsThread run2");\r
-\r
-                       Navit.NavitAddressSearchSpinnerActive = false;\r
-\r
-                       if (Navit.NavitAddressResultList_foundItems.size() > 0)\r
-                       {\r
-                               open_search_result_list();\r
-                       }\r
-                       else\r
-                       {\r
-                               // not results found, show toast\r
-                               msg = mHandler.obtainMessage();\r
-                               b = new Bundle();\r
-                               msg.what = 3;\r
-                               b.putString("text", Navit.get_text("No Results found!")); //TRANS\r
-                               msg.setData(b);\r
-                               mHandler.sendMessage(msg);\r
-                       }\r
-\r
-                       // ok, remove dialog\r
-                       msg = mHandler.obtainMessage();\r
-                       b = new Bundle();\r
-                       msg.what = 99;\r
-                       b.putInt("dialog_num", this.my_dialog_num);\r
-                       msg.setData(b);\r
-                       mHandler.sendMessage(msg);\r
-\r
-                       Log.e("Navit", "SearchResultsThread ended");\r
-               }\r
-       }\r
-\r
-       public static String filter_bad_chars(String in)\r
-       {\r
-               String out = in;\r
-               out = out.replaceAll("\\n", " "); // newline -> space\r
-               out = out.replaceAll("\\r", " "); // return -> space\r
-               out = out.replaceAll("\\t", " "); // tab -> space\r
-               return out;\r
-       }\r
-\r
-       public static void msg_to_msg_handler(Bundle b, int id)\r
-       {\r
-               Message msg = Navit_progress_h.obtainMessage();\r
-               msg.what = id;\r
-               msg.setData(b);\r
-               Navit_progress_h.sendMessage(msg);\r
-       }\r
-\r
-       public void open_search_result_list()\r
-       {\r
-               // open result list\r
-               Intent address_result_list_activity = new Intent(this, NavitAddressResultListActivity.class);\r
-               this.startActivityForResult(address_result_list_activity, Navit.NavitAddressResultList_id);\r
-       }\r
-\r
-\r
-       public Handler  progress_handler        = new Handler()\r
-               {\r
-\r
-                       public void handleMessage(Message msg)\r
-                       {\r
-                               switch (msg.what)\r
-                               {\r
-                                       case NavitMessages.DIALOG_REMOVE_PROGRESS_BAR :\r
-                                               // dismiss dialog, remove dialog\r
-                                               dismissDialog(Navit.MAPDOWNLOAD_DIALOG);\r
-                                               removeDialog(Navit.MAPDOWNLOAD_DIALOG);\r
-\r
-                                               // exit_code=0 -> OK, map was downloaded fine\r
-                                               if (msg.getData().getInt("value1") == 0)\r
-                                               {\r
-                                                       // try to use the new downloaded map (works fine now!)\r
-                                                       Log.d("Navit", "instance count=" + Navit.getInstanceCount());\r
-                                                       onStop();\r
-                                                       onCreate(getIntent().getExtras());\r
-                                               }\r
-                                               break;\r
-                                       case NavitMessages.DIALOG_PROGRESS_BAR :\r
-                                               // change progressbar values\r
-                                               mapdownloader_dialog.setMax(msg.getData().getInt("value1"));\r
-                                               mapdownloader_dialog.setProgress(msg.getData().getInt("value2"));\r
-                                               mapdownloader_dialog.setTitle(msg.getData().getString("title"));\r
-                                               mapdownloader_dialog.setMessage(msg.getData().getString("text"));\r
-                                               break;\r
-                                       case NavitMessages.DIALOG_TOAST :\r
-                                               Toast.makeText(getApplicationContext(),\r
-                                                               msg.getData().getString("text"), Toast.LENGTH_SHORT).show();\r
-                                               break;\r
-                                       case 3 :\r
-                                               Toast.makeText(getApplicationContext(), msg.getData().getString("text"), Toast.LENGTH_LONG).show();\r
-                                               break;\r
-                                       case 10 :\r
-                                               // change values - generic\r
-                                               int what_dialog_generic = msg.getData().getInt("dialog_num");\r
-                                               if (what_dialog_generic == SEARCHRESULTS_WAIT_DIALOG)\r
-                                               {\r
-                                                       search_results_wait.setMax(msg.getData().getInt("value1"));\r
-                                                       search_results_wait.setProgress(msg.getData().getInt("value2"));\r
-                                                       search_results_wait.setTitle(msg.getData().getString("title"));\r
-                                                       search_results_wait.setMessage(msg.getData().getString("text"));\r
-                                               }\r
-                                               break;\r
-                                       case 11 :\r
-                                               // show dialog - generic\r
-                                               showDialog(msg.getData().getInt("dialog_num"));\r
-                                               break;\r
-                                       case 99 :\r
-                                               // dismiss dialog, remove dialog - generic\r
-                                               dismissDialog(msg.getData().getInt("dialog_num"));\r
-                                               removeDialog(msg.getData().getInt("dialog_num"));\r
-                                               break;\r
-                               }\r
-                       }\r
-               };\r
-\r
        protected Dialog onCreateDialog(int id)\r
        {\r
-               switch (id)\r
-               {\r
-                       case Navit.SEARCHRESULTS_WAIT_DIALOG :\r
-                               search_results_wait = new ProgressDialog(this);\r
-                               search_results_wait.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);\r
-                               search_results_wait.setTitle("--");\r
-                               search_results_wait.setMessage("--");\r
-                               search_results_wait.setCancelable(false);\r
-                               search_results_wait.setProgress(0);\r
-                               search_results_wait.setMax(10);\r
-                               DialogInterface.OnDismissListener mOnDismissListener3 = new DialogInterface.OnDismissListener()\r
-                               {\r
-                                       public void onDismiss(DialogInterface dialog)\r
-                                       {\r
-                                               Log.e("Navit", "onDismiss: search_results_wait");\r
-                                               dialog.dismiss();\r
-                                               dialog.cancel();\r
-                                       }\r
-                               };\r
-                               search_results_wait.setOnDismissListener(mOnDismissListener3);\r
-                               searchresultsThread = new SearchResultsThread(progress_handler, Navit.SEARCHRESULTS_WAIT_DIALOG);\r
-                               searchresultsThread.start();\r
-\r
-                               NavitAddressSearchSpinnerActive = true;\r
-                               spinner_thread = new SearchResultsThreadSpinnerThread(progress_handler, Navit.SEARCHRESULTS_WAIT_DIALOG);\r
-                               spinner_thread.start();\r
-\r
-                               return search_results_wait;\r
-                       case Navit.MAPDOWNLOAD_DIALOG :\r
-                               mapdownloader_dialog = new ProgressDialog(this);\r
-                               mapdownloader_dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);\r
-                               mapdownloader_dialog.setTitle("--");\r
-                               mapdownloader_dialog.setMessage("--");\r
-                               mapdownloader_dialog.setCancelable(true);\r
-                               mapdownloader_dialog.setProgress(0);\r
-                               mapdownloader_dialog.setMax(200);\r
-                               DialogInterface.OnDismissListener mOnDismissListener1 = new DialogInterface.OnDismissListener()\r
-                               {\r
-                                       public void onDismiss(DialogInterface dialog)\r
-                                       {\r
-                                               Log.e("Navit", "onDismiss: mapdownloader_dialog");\r
-                                               dialog.dismiss();\r
-                                               dialog.cancel();\r
-                                               mapdownloader.stop_thread();\r
-                                       }\r
-                               };\r
-                               mapdownloader_dialog.setOnDismissListener(mOnDismissListener1);\r
-                               // show license for OSM maps\r
-                               Toast.makeText(getApplicationContext(),\r
-                                               Navit.get_text("Map data (c) OpenStreetMap contributors, CC-BY-SA"),\r
-                                               Toast.LENGTH_LONG).show(); //TRANS\r
-                               return mapdownloader_dialog;\r
-//                     case Navit.MAPDOWNLOAD_SEC_DIALOG :\r
-//                             mapdownloader_dialog_sec = new ProgressDialog(this);\r
-//                             mapdownloader_dialog_sec.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);\r
-//                             mapdownloader_dialog_sec.setTitle("--");\r
-//                             mapdownloader_dialog_sec.setMessage("--");\r
-//                             mapdownloader_dialog_sec.setCancelable(true);\r
-//                             mapdownloader_dialog_sec.setProgress(0);\r
-//                             mapdownloader_dialog_sec.setMax(200);\r
-//                             DialogInterface.OnDismissListener mOnDismissListener2 = new DialogInterface.OnDismissListener()\r
-//                             {\r
-//                                     public void onDismiss(DialogInterface dialog)\r
-//                                     {\r
-//                                             Log.e("Navit", "onDismiss: mapdownloader_dialog sec");\r
-//                                             dialog.dismiss();\r
-//                                             dialog.cancel();\r
-//                                             progressThread_sec.stop_thread();\r
-//                                     }\r
-//                             };\r
-//                             mapdownloader_dialog_sec.setOnDismissListener(mOnDismissListener2);\r
-//                             mapdownloader_sec = new NavitMapDownloader(this);\r
-//                             progressThread_sec = mapdownloader_sec.new ProgressThread(progress_handler,\r
-//                                             NavitMapDownloader.osm_maps[Navit.download_map_id], MAP_NUM_SECONDARY);\r
-//                             progressThread_sec.start();\r
-//                             // show license for OSM maps\r
-//                             Toast.makeText(getApplicationContext(),\r
-//                                             Navit.get_text("Map data (c) OpenStreetMap contributors, CC-BY-SA"),\r
-//                                             Toast.LENGTH_LONG).show(); //TRANS\r
-//                             return mapdownloader_dialog_sec;\r
-               }\r
-               // should never get here!!\r
-               return null;\r
+               return dialogs.createDialog(id);\r
        }\r
 \r
        public void disableSuspend()\r
@@ -1287,7 +952,7 @@ public class Navit extends Activity implements Handler.Callback
                search_intent.putExtra("title", Navit.get_text("Enter: City and Street")); //TRANS\r
                search_intent.putExtra("address_string", search);\r
                String pm_temp = "0";\r
-               if (Navit_last_address_partial_match)\r
+               if (NavitDialogs.Navit_last_address_partial_match)\r
                {\r
                        pm_temp = "1";\r
                }\r
diff --git a/navit/navit/android/src/org/navitproject/navit/NavitDialogs.java b/navit/navit/android/src/org/navitproject/navit/NavitDialogs.java
new file mode 100644 (file)
index 0000000..223dab0
--- /dev/null
@@ -0,0 +1,338 @@
+package org.navitproject.navit;
+
+
+import android.app.Activity;
+import android.app.Dialog;
+import android.app.ProgressDialog;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.util.Log;
+import android.widget.Toast;
+
+public class NavitDialogs extends Handler{
+
+       public static Boolean             NavitAddressSearchSpinnerActive  = false;
+       public static String              Navit_last_address_search_string = "";
+       public static Boolean             Navit_last_address_partial_match = false;
+
+       // Dialogs
+       public static final int           DIALOG_MAPDOWNLOAD               = 1;
+       public static final int           DIALOG_SEARCHRESULTS_WAIT        = 3;
+
+       // dialog messages
+       static final int MSG_REMOVE_PROGRESS_BAR = 0;
+       static final int MSG_PROGRESS_BAR = 1;
+       static final int MSG_TOAST = 2;
+       static final int MSG_TOAST_LONG = 3;
+       static final int MSG_SEARCH = 11;
+       static final int MSG_PROGRESS_BAR_SEARCH = 21;
+       static final int MSG_POSITION_MENU = 22;
+       static final int MSG_START_MAP_DOWNLOAD =23;
+       static Handler mHandler;
+
+       private ProgressDialog                    mapdownloader_dialog     = null;
+       private ProgressDialog                    search_results_wait      = null;
+       private SearchResultsThread               searchresultsThread      = null;
+       private SearchResultsThreadSpinnerThread  spinner_thread           = null;
+       private NavitMapDownloader                mapdownloader            = null;
+       
+       private Activity mActivity;
+       
+       public NavitDialogs(Activity activity) {
+               super();
+               mActivity = activity;
+               mHandler = this;
+       }
+
+       static public void sendDialogMessage(int what, String title, String text, int dialog_num, int value1, int value2)
+       {
+               Message msg = mHandler.obtainMessage(what);
+               Bundle data = new Bundle();
+               
+               data.putString("title", title);
+               data.putString("text", text); 
+               data.putInt("value1", value1); 
+               data.putInt("value2", value2);
+               data.putInt("dialog_num", dialog_num);
+               msg.setData(data);
+               
+               mHandler.sendMessage(msg);
+       }
+
+
+       @Override
+       public void handleMessage(Message msg)
+       {
+               switch (msg.what)
+               {
+                       case MSG_REMOVE_PROGRESS_BAR :
+                               // dismiss dialog, remove dialog
+                               mActivity.dismissDialog(DIALOG_MAPDOWNLOAD);
+                               mActivity.removeDialog(DIALOG_MAPDOWNLOAD);
+
+                               // exit_code=0 -> OK, map was downloaded fine
+                               if (msg.getData().getInt("value1") == 0)
+                               {
+                                       // try to use the new downloaded map (works fine now!)
+                                       Log.d("Navit", "instance count=" + Navit.getInstanceCount());
+                                       //mActivity.onStop();
+                                       //mActivity.onCreate(mActivity.getIntent().getExtras());
+                               }
+                               break;
+                       case MSG_PROGRESS_BAR :
+                               // change progressbar values
+                               mapdownloader_dialog.setMax(msg.getData().getInt("value1"));
+                               mapdownloader_dialog.setProgress(msg.getData().getInt("value2"));
+                               mapdownloader_dialog.setTitle(msg.getData().getString("title"));
+                               mapdownloader_dialog.setMessage(msg.getData().getString("text"));
+                               break;
+                       case MSG_TOAST :
+                               Toast.makeText(mActivity, msg.getData().getString("text"), Toast.LENGTH_SHORT).show();
+                               break;
+                       case MSG_TOAST_LONG :
+                               Toast.makeText(mActivity, msg.getData().getString("text"), Toast.LENGTH_LONG).show();
+                               break;
+                       case MSG_PROGRESS_BAR_SEARCH :
+                               // change values - generic
+                               int what_dialog_generic = msg.getData().getInt("dialog_num");
+                               if (what_dialog_generic == DIALOG_SEARCHRESULTS_WAIT)
+                               {
+                                       search_results_wait.setMax(msg.getData().getInt("value1"));
+                                       search_results_wait.setProgress(msg.getData().getInt("value2"));
+                                       search_results_wait.setTitle(msg.getData().getString("title"));
+                                       search_results_wait.setMessage(msg.getData().getString("text"));
+                               }
+                               break;
+                       case MSG_SEARCH :
+                               // show dialog - generic
+                               mActivity.showDialog(DIALOG_SEARCHRESULTS_WAIT);
+                               break;
+                       case MSG_START_MAP_DOWNLOAD:
+                       {
+                               int map_selected = msg.arg1;
+                               int map_slot     = msg.arg2;
+                               Log.d("Navit", "PRI id=" + map_selected);
+                               // set map id to download
+
+                               int download_map_id = NavitMapDownloader.OSM_MAP_NAME_ORIG_ID_LIST[map_selected];
+                               // show the map download progressbar, and download the map
+                               if (download_map_id > -1)
+                               {
+                                       mActivity.showDialog(NavitDialogs.DIALOG_MAPDOWNLOAD);
+
+                                       mapdownloader = new NavitMapDownloader(download_map_id
+                                                       , NavitDialogs.DIALOG_MAPDOWNLOAD, map_slot);
+                                       mapdownloader.start();
+
+                               }
+                       }
+                       break;
+                               
+                       case 99 :
+                               // dismiss dialog, remove dialog - generic
+                               mActivity.dismissDialog(msg.getData().getInt("dialog_num"));
+                               mActivity.removeDialog(msg.getData().getInt("dialog_num"));
+                               break;
+               }
+       }
+
+       Dialog createDialog(int id)
+       {
+               switch (id)
+               {
+                       case DIALOG_SEARCHRESULTS_WAIT :
+                               search_results_wait = new ProgressDialog(mActivity);
+                               search_results_wait.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
+                               search_results_wait.setTitle("--");
+                               search_results_wait.setMessage("--");
+                               search_results_wait.setCancelable(false);
+                               search_results_wait.setProgress(0);
+                               search_results_wait.setMax(10);
+                               DialogInterface.OnDismissListener mOnDismissListener3 = new DialogInterface.OnDismissListener()
+                               {
+                                       public void onDismiss(DialogInterface dialog)
+                                       {
+                                               Log.e("Navit", "onDismiss: search_results_wait");
+                                               dialog.dismiss();
+                                               dialog.cancel();
+                                       }
+                               };
+                               search_results_wait.setOnDismissListener(mOnDismissListener3);
+                               searchresultsThread = new SearchResultsThread(this, DIALOG_SEARCHRESULTS_WAIT);
+                               searchresultsThread.start();
+       
+                               NavitAddressSearchSpinnerActive = true;
+                               spinner_thread = new SearchResultsThreadSpinnerThread(this, DIALOG_SEARCHRESULTS_WAIT);
+                               spinner_thread.start();
+       
+                               return search_results_wait;
+                       case DIALOG_MAPDOWNLOAD :
+                               mapdownloader_dialog = new ProgressDialog(mActivity);
+                               mapdownloader_dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
+                               mapdownloader_dialog.setTitle("--");
+                               mapdownloader_dialog.setMessage("--");
+                               mapdownloader_dialog.setCancelable(true);
+                               mapdownloader_dialog.setProgress(0);
+                               mapdownloader_dialog.setMax(200);
+                               DialogInterface.OnDismissListener mOnDismissListener1 = new DialogInterface.OnDismissListener()
+                               {
+                                       public void onDismiss(DialogInterface dialog)
+                                       {
+                                               Log.e("Navit", "onDismiss: mapdownloader_dialog");
+                                               dialog.dismiss();
+                                               dialog.cancel();
+                                               // todo: do better
+                                               mapdownloader.stop_thread();
+                                       }
+                               };
+                               mapdownloader_dialog.setOnDismissListener(mOnDismissListener1);
+                               // show license for OSM maps
+                               Toast.makeText(mActivity.getApplicationContext(),
+                                               Navit.get_text("Map data (c) OpenStreetMap contributors, CC-BY-SA"),
+                                               Toast.LENGTH_LONG).show(); //TRANS
+                               return mapdownloader_dialog;
+               }
+               // should never get here!!
+               return null;
+       }
+       
+       public class SearchResultsThreadSpinnerThread extends Thread
+       {
+               int             dialog_num;
+               int             spinner_current_value;
+               private Boolean running;
+               Handler         mHandler;
+               
+               SearchResultsThreadSpinnerThread(Handler h, int dialog_num)
+               {
+                       this.dialog_num = dialog_num;
+                       this.mHandler = h;
+                       this.spinner_current_value = 0;
+                       this.running = true;
+                       Log.e("Navit", "SearchResultsThreadSpinnerThread created");
+               }
+               public void run()
+               {
+                       Log.e("Navit", "SearchResultsThreadSpinnerThread started");
+                       while (this.running)
+                       {
+                               if (NavitAddressSearchSpinnerActive == false)
+                               {
+                                       this.running = false;
+                               }
+                               else
+                               {
+                                       Message msg = mHandler.obtainMessage();
+                                       Bundle b = new Bundle();
+                                       msg.what = 10;
+                                       b.putInt("dialog_num", this.dialog_num);
+                                       b.putInt("max", Navit.ADDRESS_RESULTS_DIALOG_MAX);
+                                       b.putInt("cur", this.spinner_current_value % (Navit.ADDRESS_RESULTS_DIALOG_MAX + 1));
+                                       b.putString("title", Navit.get_text("getting search results")); //TRANS
+                                       b.putString("text", Navit.get_text("searching ...")); //TRANS
+                                       msg.setData(b);
+                                       mHandler.sendMessage(msg);
+                                       try
+                                       {
+                                               Thread.sleep(700);
+                                       }
+                                       catch (InterruptedException e)
+                                       {
+                                               // e.printStackTrace();
+                                       }
+                                       this.spinner_current_value++;
+                               }
+                       }
+                       Log.e("Navit", "SearchResultsThreadSpinnerThread ended");
+               }
+       }
+
+
+       public class SearchResultsThread extends Thread
+       {
+               Handler                         mHandler;
+               int                                     my_dialog_num;
+
+               SearchResultsThread(Handler h, int dialog_num)
+               {
+                       this.mHandler = h;
+                       this.my_dialog_num = dialog_num;
+                       Log.e("Navit", "SearchResultsThread created");
+               }
+
+               public void run()
+               {
+                       Log.e("Navit", "SearchResultsThread started");
+
+                       // initialize the dialog with sane values
+                       Message msg = mHandler.obtainMessage();
+                       Bundle b = new Bundle();
+                       msg.what = 10;
+                       b.putInt("dialog_num", this.my_dialog_num);
+                       b.putInt("max", Navit.ADDRESS_RESULTS_DIALOG_MAX);
+                       b.putInt("cur", 0);
+                       b.putString("title", Navit.get_text("getting search results")); //TRANS
+                       b.putString("text", Navit.get_text("searching ...")); //TRANS
+                       msg.setData(b);
+                       mHandler.sendMessage(msg);
+
+                       int partial_match_i = 0;
+                       if (Navit_last_address_partial_match)
+                       {
+                               partial_match_i = 1;
+                       }
+
+                       // start the search, this could take a long time!!
+                       Log.e("Navit", "SearchResultsThread run1");
+                       Navit_last_address_search_string = filter_bad_chars(Navit_last_address_search_string);
+                       Navit.N_NavitGraphics.CallbackSearchResultList(partial_match_i, Navit_last_address_search_string);
+                       Log.e("Navit", "SearchResultsThread run2");
+
+                       NavitAddressSearchSpinnerActive = false;
+
+                       if (Navit.NavitAddressResultList_foundItems.size() > 0)
+                       {
+                               open_search_result_list();
+                       }
+                       else
+                       {
+                               // not results found, show toast
+                               msg = mHandler.obtainMessage();
+                               b = new Bundle();
+                               msg.what = 3;
+                               b.putString("text", Navit.get_text("No Results found!")); //TRANS
+                               msg.setData(b);
+                               mHandler.sendMessage(msg);
+                       }
+
+                       // ok, remove dialog
+                       msg = mHandler.obtainMessage();
+                       b = new Bundle();
+                       msg.what = 99;
+                       b.putInt("dialog_num", this.my_dialog_num);
+                       msg.setData(b);
+                       mHandler.sendMessage(msg);
+
+                       Log.e("Navit", "SearchResultsThread ended");
+               }
+
+               public String filter_bad_chars(String in)
+               {
+                       String out = in;
+                       out = out.replaceAll("\\n", " "); // newline -> space
+                       out = out.replaceAll("\\r", " "); // return -> space
+                       out = out.replaceAll("\\t", " "); // tab -> space
+                       return out;
+               }
+       }
+       
+       public void open_search_result_list()
+       {
+               // open result list
+               Intent address_result_list_activity = new Intent(mActivity, NavitAddressResultListActivity.class);
+               mActivity.startActivityForResult(address_result_list_activity, Navit.NavitAddressResultList_id);
+       }
+}
index 1a44536..8c0a832 100644 (file)
@@ -1196,7 +1196,7 @@ public class NavitGraphics
        {
                // Log.e("NavitGraphics", "**** fillStringArray s=" + s);
                // deactivate the spinner
-               Navit.NavitAddressSearchSpinnerActive = false;
+               NavitDialogs.NavitAddressSearchSpinnerActive = false;
 
                Navit.Navit_Address_Result_Struct tmp_addr = new Navit_Address_Result_Struct();
                String[] tmp_s = s.split(":");
@@ -1221,18 +1221,16 @@ public class NavitGraphics
                {
                        Navit.search_results_streets_hn++;
                }
-
+               
                // make the dialog move its bar ...
-               Bundle b = new Bundle();
-               b.putInt("dialog_num", Navit.SEARCHRESULTS_WAIT_DIALOG);
-               b.putInt("max", Navit.ADDRESS_RESULTS_DIALOG_MAX);
-               b.putInt("cur", Navit.NavitAddressResultList_foundItems.size()
-                               % (Navit.ADDRESS_RESULTS_DIALOG_MAX + 1));
-               b.putString("title", Navit.get_text("loading search results")); //TRANS
-               b.putString("text", Navit.get_text("towns") + ":" + Navit.search_results_towns + " "
-                               + Navit.get_text("Streets") + ":" + Navit.search_results_streets + "/"
-                               + Navit.search_results_streets_hn);
-               Navit.msg_to_msg_handler(b, 10); //TRANS
+               NavitDialogs.sendDialogMessage( NavitDialogs.MSG_PROGRESS_BAR_SEARCH
+                               , Navit.get_text("loading search results")
+                               , Navit.get_text("towns") + ":" + Navit.search_results_towns + " "
+                                       + Navit.get_text("Streets") + ":" + Navit.search_results_streets + "/"
+                                       + Navit.search_results_streets_hn
+                               , NavitDialogs.DIALOG_SEARCHRESULTS_WAIT
+                               , Navit.ADDRESS_RESULTS_DIALOG_MAX
+                               , Navit.NavitAddressResultList_foundItems.size() % (Navit.ADDRESS_RESULTS_DIALOG_MAX + 1));
        }
 
        public native void CallbackSearchResultList(int partial_match, String s);
index 2e4a06a..1e54b12 100644 (file)
@@ -30,7 +30,6 @@ import java.io.ObjectOutputStream;
 import java.net.HttpURLConnection;\r
 import java.net.URL;\r
 \r
-import android.os.Handler;\r
 import android.os.StatFs;\r
 import android.util.Log;\r
 \r
@@ -170,7 +169,6 @@ public class NavitMapDownloader extends Thread
        private static final String         MAP_FILENAME_PATH                       = Navit.MAP_FILENAME_PATH;\r
        private static final String             TAG                                                                     = "NavitMapDownloader";\r
 \r
-       private Handler                     mHandler;\r
        private osm_map_values              map_values;\r
        private int                         map_slot;\r
        private int                         dialog_num;\r
@@ -189,9 +187,9 @@ public class NavitMapDownloader extends Thread
 \r
                Log.v(TAG, "map_num3=" + this.map_slot);\r
 \r
-               NavitMessages.sendDialogMessage( mHandler, NavitMessages.DIALOG_PROGRESS_BAR\r
+               NavitDialogs.sendDialogMessage( NavitDialogs.MSG_PROGRESS_BAR\r
                                , Navit.get_text("Mapdownload"), Navit.get_text("downloading") + ": " + map_values.map_name\r
-                               , Navit.MAPDOWNLOAD_DIALOG, 20 , 0);\r
+                               , NavitDialogs.DIALOG_MAPDOWNLOAD, 20 , 0);\r
 \r
                do\r
                {\r
@@ -199,13 +197,13 @@ public class NavitMapDownloader extends Thread
                        {\r
                                Thread.sleep(10 + retry_counter * 1000);\r
                        } catch (InterruptedException e1)       {}\r
-               } while ( ( exit_code = download_osm_map(mHandler, map_values, map_slot)) == EXIT_RECOVERABLE_ERROR\r
+               } while ( ( exit_code = download_osm_map(map_values, map_slot)) == EXIT_RECOVERABLE_ERROR\r
                                && retry_counter++ < MAX_RETRIES\r
                                && !stop_me);\r
 \r
                if (exit_code == EXIT_SUCCESS)\r
                {\r
-                       NavitMessages.sendDialogMessage( mHandler, NavitMessages.DIALOG_TOAST\r
+                       NavitDialogs.sendDialogMessage( NavitDialogs.MSG_TOAST\r
                                        , null, map_values.map_name + " " + Navit.get_text("ready")\r
                                        , dialog_num , 0 , 0);\r
 \r
@@ -214,7 +212,7 @@ public class NavitMapDownloader extends Thread
                \r
                if (exit_code == EXIT_SUCCESS || stop_me )\r
                {\r
-                       NavitMessages.sendDialogMessage( mHandler , NavitMessages.DIALOG_REMOVE_PROGRESS_BAR, null, null, dialog_num \r
+                       NavitDialogs.sendDialogMessage( NavitDialogs.MSG_REMOVE_PROGRESS_BAR, null, null, dialog_num \r
                                                , exit_code , 0 );\r
                }\r
        }\r
@@ -225,9 +223,8 @@ public class NavitMapDownloader extends Thread
                Log.d(TAG, "stop_me -> true");\r
        }\r
 \r
-       public NavitMapDownloader(Navit main, Handler h, int map_id, int dialog_num, int map_slot)\r
+       public NavitMapDownloader(int map_id, int dialog_num, int map_slot)\r
        {\r
-               this.mHandler = h;\r
                this.map_values = osm_maps[map_id];\r
                this.map_slot = map_slot;\r
        }\r
@@ -278,7 +275,7 @@ public class NavitMapDownloader extends Thread
                return OSM_MAP_NAME_LIST_inkl_SIZE_ESTIMATE;\r
        }\r
 \r
-       public int download_osm_map(Handler handler, osm_map_values map_values, int map_number)\r
+       public int download_osm_map(osm_map_values map_values, int map_number)\r
        {\r
                int exit_code = EXIT_SUCCESS;\r
                boolean resume = false;\r
@@ -306,7 +303,7 @@ public class NavitMapDownloader extends Thread
                                {\r
                                        ObjectInputStream infoStream = new ObjectInputStream(new FileInputStream(MAP_FILENAME_PATH + fileName + ".info"));\r
                                        String resume_proto = infoStream.readUTF();\r
-                                       String resume_host = infoStream.readUTF();\r
+                                       infoStream.readUTF(); // read the host name (unused for now)\r
                                        String resume_file = infoStream.readUTF();\r
                                        infoStream.close();\r
                                        // looks like the same file, try to resume\r
@@ -417,7 +414,7 @@ public class NavitMapDownloader extends Thread
                                        }\r
                                        Log.e(TAG, "info: " + info);\r
 \r
-                                       NavitMessages.sendDialogMessage( handler, NavitMessages.DIALOG_PROGRESS_BAR\r
+                                       NavitDialogs.sendDialogMessage( NavitDialogs.MSG_PROGRESS_BAR\r
                                                        , Navit.get_text("Mapdownload"), info\r
                                                        , dialog_num, (int) (real_size_bytes / 1024), (int) (already_read / 1024));\r
                                }\r
@@ -428,7 +425,7 @@ public class NavitMapDownloader extends Thread
 \r
                        if (stop_me)\r
                        {\r
-                               NavitMessages.sendDialogMessage( handler, NavitMessages.DIALOG_TOAST\r
+                               NavitDialogs.sendDialogMessage( NavitDialogs.MSG_TOAST\r
                                                                , null, Navit.get_text("Map download aborted!")\r
                                                                , dialog_num , 0 , 0);\r
                                                \r
@@ -454,7 +451,7 @@ public class NavitMapDownloader extends Thread
                        }\r
                        else\r
                        {\r
-                               NavitMessages.sendDialogMessage( mHandler, NavitMessages.DIALOG_PROGRESS_BAR\r
+                               NavitDialogs.sendDialogMessage( NavitDialogs.MSG_PROGRESS_BAR\r
                                                , Navit.get_text("Mapdownload")\r
                                                , Navit.get_text("Error downloading map!")\r
                                                , dialog_num, (int) (real_size_bytes / 1024), (int) (already_read / 1024));\r
@@ -463,7 +460,7 @@ public class NavitMapDownloader extends Thread
                }\r
                catch (Exception e)\r
                {\r
-                       NavitMessages.sendDialogMessage( mHandler, NavitMessages.DIALOG_PROGRESS_BAR\r
+                       NavitDialogs.sendDialogMessage( NavitDialogs.MSG_PROGRESS_BAR\r
                                        , Navit.get_text("Mapdownload")\r
                                        , Navit.get_text("Error downloading map!")\r
                                        , dialog_num, (int) (real_size_bytes / 1024), (int) (already_read / 1024));\r
@@ -514,7 +511,7 @@ public class NavitMapDownloader extends Thread
                {\r
                        Log.e(TAG, "Not enough free space. Please free at least " + needed_bytes / 1024 /1024 + "Mb.");\r
                        \r
-                       NavitMessages.sendDialogMessage( mHandler, NavitMessages.DIALOG_PROGRESS_BAR\r
+                       NavitDialogs.sendDialogMessage( NavitDialogs.MSG_PROGRESS_BAR\r
                                        , Navit.get_text("Mapdownload")\r
                                        , Navit.get_text("Error downloading map!") + "\n" + Navit.get_text("Not enough free space")\r
                                        , dialog_num, (int)(needed_bytes / 1024), (int)(free_space / 1024));\r
diff --git a/navit/navit/android/src/org/navitproject/navit/NavitMessages.java b/navit/navit/android/src/org/navitproject/navit/NavitMessages.java
deleted file mode 100644 (file)
index b9ca743..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.navitproject.navit;\r
-\r
-import android.os.Bundle;\r
-import android.os.Handler;\r
-import android.os.Message;\r
-\r
-public class NavitMessages {\r
-\r
-       static final int DIALOG_REMOVE_PROGRESS_BAR = 0;\r
-       static final int DIALOG_PROGRESS_BAR = 1;\r
-       static final int DIALOG_TOAST = 2;\r
-               \r
-       static public void sendDialogMessage(Handler msgHandler, int what, String title, String text, int dialog_num, int value1, int value2)\r
-       {\r
-               Message msg = msgHandler.obtainMessage(what);\r
-               Bundle data = new Bundle();\r
-               \r
-               data.putString("title", title);\r
-               data.putString("text", text); \r
-               data.putInt("value1", value1); \r
-               data.putInt("value2", value2);\r
-               data.putInt("dialog_num", dialog_num);\r
-               msg.setData(data);\r
-               \r
-               msgHandler.sendMessage(msg);\r
-       }\r
-       \r
-}\r