add:Android:Navigate to addr without connection
authorsanderd17 <sanderd17@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Mon, 28 Feb 2011 21:30:00 +0000 (21:30 +0000)
committersanderd17 <sanderd17@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Mon, 28 Feb 2011 21:30:00 +0000 (21:30 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@4261 ffa7fe5e-494d-0410-b361-a75ebd5db220

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

index ea652bb..e17ea77 100644 (file)
@@ -79,7 +79,7 @@ public class Navit extends Activity implements Handler.Callback
        private static Intent                                                                   startup_intent                                                                  = null;\r
        private static long                                                                             startup_intent_timestamp                                        = 0L;\r
        public static String                                                                            my_display_density                                                      = "mdpi";\r
-       private boolean                                                                                 parseErrorShown                                                         = false;\r
+       private boolean                                                                                 searchBoxShown                                                          = false;\r
        public static final int                                                                 MAPDOWNLOAD_PRI_DIALOG                                          = 1;\r
        public static final int                                                                 MAPDOWNLOAD_SEC_DIALOG                                          = 2;\r
        public static final int                                                                 SEARCHRESULTS_WAIT_DIALOG                                       = 3;\r
@@ -777,34 +777,20 @@ public class Navit extends Activity implements Handler.Callback
                        }\r
                        else\r
                        {\r
-                               if (unparsable_info_box)\r
+                               if (unparsable_info_box && !searchBoxShown )\r
                                {\r
-                                       // string not parsable, display alert and continue w/o string\r
-                                       AlertDialog.Builder alertbox = new AlertDialog.Builder(this);\r
-                                       alertbox.setMessage("Navit recieved the query " + intent_data\r
-                                                       + "\nThis is not yet parsable.");\r
-                                       alertbox.setPositiveButton("Ok", new DialogInterface.OnClickListener()\r
+                                       \r
+                                       searchBoxShown = true;\r
+                                       String searchString = intent_data.split("q=")[1];\r
+                                       searchString = searchString.split("&")[0];\r
+                                       String[] searchArray = searchString.split("%"); // replace URL codes like %20 for space.\r
+                                       searchString = searchArray[0];\r
+                                       for(int i = 1; i< searchArray.length; i++)\r
                                        {\r
-                                               public void onClick(DialogInterface arg0, int arg1)\r
-                                               {\r
-                                                       Log.e("Navit", "Accepted non-parsable string");\r
-                                               }\r
-                                       });\r
-                                       alertbox.setNeutralButton("More info", new DialogInterface.OnClickListener()\r
-                                       {\r
-                                               public void onClick(DialogInterface arg0, int arg1)\r
-                                               {\r
-                                                       String url = "http://wiki.navit-project.org/index.php/Navit_on_Android#Parse_error";\r
-                                                       Intent i = new Intent(Intent.ACTION_VIEW);\r
-                                                       i.setData(Uri.parse(url));\r
-                                                       startActivity(i);\r
-                                               }\r
-                                       });\r
-                                       if (!parseErrorShown)\r
-                                       {\r
-                                               alertbox.show();\r
-                                               parseErrorShown = true;\r
+                                               searchString += " " + searchArray[i].substring(2);\r
                                        }\r
+                                       Log.e("Navit","Search String :" + searchString);\r
+                                       executeSearch(searchString);\r
                                }\r
                        }\r
                }\r
@@ -1555,4 +1541,21 @@ public class Navit extends Activity implements Handler.Callback
        {\r
                System.loadLibrary("navit");\r
        }\r
+       \r
+       /*\r
+       * Show a search activity with the string "search" filled in\r
+       */\r
+       private void executeSearch(String search)\r
+       {\r
+               Intent search_intent = new Intent(this, NavitAddressSearchActivity.class);\r
+               search_intent.putExtra("title", "Enter: City and Street");\r
+               search_intent.putExtra("address_string", search);\r
+               String pm_temp = "0";\r
+               if (Navit_last_address_partial_match)\r
+               {\r
+                       pm_temp = "1";\r
+               }\r
+               search_intent.putExtra("partial_match", pm_temp);\r
+               this.startActivityForResult(search_intent, NavitAddressSearch_id);\r
+       }\r
 }\r