Add:android:Add last destinations to android search dialog, introduce class for persi...
authorrikky <rikky@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Fri, 23 Sep 2011 19:38:40 +0000 (19:38 +0000)
committerrikky <rikky@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Fri, 23 Sep 2011 19:38:40 +0000 (19:38 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@4789 ffa7fe5e-494d-0410-b361-a75ebd5db220

navit/navit/android/AndroidManifest.xml.cmake
navit/navit/android/AndroidManifest.xml.in
navit/navit/android/src/org/navitproject/navit/Navit.java
navit/navit/android/src/org/navitproject/navit/NavitAddressResultListActivity.java
navit/navit/android/src/org/navitproject/navit/NavitAddressSearchActivity.java
navit/navit/android/src/org/navitproject/navit/NavitAppConfig.java [new file with mode: 0755]
navit/navit/android/src/org/navitproject/navit/NavitGraphics.java
navit/navit/search.c

index e7784f0..b32c7ad 100644 (file)
@@ -6,7 +6,8 @@
       android:versionName="@ANDROID_VERSION_NAME@"
       android:installLocation="auto">
     <application android:label="@string/app_name"
-                 android:icon="@drawable/icon">
+                 android:icon="@drawable/icon"
+                 android:name=".NavitAppConfig">
         <activity android:name="Navit"
                   android:label="@string/app_name"
                   android:theme="@android:style/Theme.NoTitleBar"
index a5aef31..d786885 100644 (file)
@@ -6,7 +6,8 @@
       android:versionName="@ANDROID_VERSION_NAME@"
       android:installLocation="auto">
     <application android:label="@string/app_name"
-                 android:icon="@drawable/icon">
+                 android:icon="@drawable/icon"
+                 android:name=".NavitAppConfig">
         <activity android:name="Navit"
                   android:label="@string/app_name"
                   android:theme="@android:style/Theme.NoTitleBar"
index f2f2501..f1fe1af 100644 (file)
@@ -60,7 +60,7 @@ import android.widget.Toast;
 \r
 public class Navit extends Activity\r
 {\r
-       public static final class Navit_Address_Result_Struct\r
+       public static final class NavitAddress\r
        {\r
                String  result_type;    // TWN,STR,SHN\r
                String  item_id;                // H<ddddd>L<ddddd> -> item.id_hi item.id_lo\r
@@ -91,8 +91,9 @@ public class Navit extends Activity
        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       \r
-                = new ArrayList<Navit_Address_Result_Struct>();\r
+\r
+       public static List<NavitAddress>        NavitAddressResultList_foundItems       \r
+                = new ArrayList<NavitAddress>();\r
 \r
        public static final int          MAP_NUM_SECONDARY              = 12;\r
        static final String              MAP_FILENAME_PATH              = "/sdcard/navit/";\r
@@ -678,12 +679,7 @@ public class Navit extends Activity
                                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", NavitDialogs.Navit_last_address_search_string);\r
-                               String pm_temp = "0";\r
-                               if ( NavitDialogs.Navit_last_address_partial_match)\r
-                               {\r
-                                       pm_temp = "1";\r
-                               }\r
-                               search_intent.putExtra("partial_match", pm_temp);\r
+                               search_intent.putExtra("partial_match", NavitDialogs.Navit_last_address_partial_match);\r
                                this.startActivityForResult(search_intent, NavitAddressSearch_id);\r
                                break;\r
                        case 88 :\r
@@ -693,17 +689,23 @@ public class Navit extends Activity
                                // exit\r
                                this.onStop();\r
                                this.exit();\r
-                               //msg = new Message();\r
-                               //b = new Bundle();\r
-                               //b.putInt("Callback", 5);\r
-                               //b.putString("cmd", "quit();");\r
-                               //msg.setData(b);\r
-                               //N_NavitGraphics.callback_handler.sendMessage(msg);\r
                                break;\r
                }\r
                return true;\r
        }\r
 \r
+       void setDestination(float latitude, float longitude, String address) {\r
+               Toast.makeText( getApplicationContext(),\r
+                       Navit.get_text("setting destination to") + "\n" + address, Toast.LENGTH_LONG).show(); //TRANS\r
+\r
+               Message msg = Message.obtain(N_NavitGraphics.callback_handler, NavitGraphics.msg_type.CLB_SET_DESTINATION.ordinal());\r
+               Bundle b = new Bundle();\r
+               b.putFloat("lat", latitude);\r
+               b.putFloat("lon", longitude);\r
+               b.putString("q", address);\r
+               msg.setData(b);\r
+               msg.sendToTarget();\r
+       }\r
 \r
        protected void onActivityResult(int requestCode, int resultCode, Intent data)\r
        {\r
@@ -720,53 +722,40 @@ public class Navit extends Activity
                        }\r
                        break;\r
                case NavitAddressSearch_id :\r
-                       try\r
-                       {\r
-                               if (resultCode == Activity.RESULT_OK)\r
-                               {\r
-                                       try\r
-                                       {\r
-                                               String addr = data.getStringExtra("address_string");\r
-                                               Boolean partial_match = data.getStringExtra("partial_match").equals("1");\r
-                                               String country = data.getStringExtra("country");\r
-\r
-                                               NavitDialogs.Navit_last_address_partial_match = partial_match;\r
-                                               NavitDialogs.Navit_last_address_search_string = addr;\r
-                                               NavitDialogs.Navit_last_country = country;\r
-\r
-                                               // clear results\r
-                                               Navit.NavitAddressResultList_foundItems.clear();\r
-                                               Navit.search_results_towns = 0;\r
-                                               Navit.search_results_streets = 0;\r
-                                               Navit.search_results_streets_hn = 0;\r
-\r
-                                               if (addr.equals(""))\r
-                                               {\r
-                                                       // empty search string entered\r
-                                                       Toast.makeText(getApplicationContext(),\r
-                                                                       Navit.get_text("No search string entered"), Toast.LENGTH_LONG).show(); //TRANS\r
-                                               }\r
-                                               else\r
-                                               {\r
-                                                       // 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
-                                                       dialogs.obtainMessage(NavitDialogs.MSG_SEARCH).sendToTarget();\r
-                                               }\r
-                                       }\r
-                                       catch (NumberFormatException e)\r
-                                       {\r
-                                               Log.d("Navit", "NumberFormatException selected_id");\r
+                       if (resultCode == Activity.RESULT_OK) {\r
+                               Boolean addr_selected = data.getBooleanExtra("addr_selected", false);\r
+                               \r
+                               // address already choosen, or do we have to search?\r
+                               if (addr_selected) {\r
+                                       setDestination( NavitAddressResultList_foundItems .get(0).lat\r
+                                                     , NavitAddressResultList_foundItems.get(0).lon\r
+                                                     , NavitAddressResultList_foundItems.get(0).addr);\r
+                               } else {\r
+                                       String addr = data.getStringExtra("address_string");\r
+                                       Boolean partial_match = data.getBooleanExtra("partial_match", false);\r
+                                       String country = data.getStringExtra("country");\r
+       \r
+                                       NavitDialogs.Navit_last_address_partial_match = partial_match;\r
+                                       NavitDialogs.Navit_last_address_search_string = addr;\r
+                                       NavitDialogs.Navit_last_country = country;\r
+       \r
+                                       // clear results\r
+                                       Navit.NavitAddressResultList_foundItems.clear();\r
+                                       Navit.search_results_towns = 0;\r
+                                       Navit.search_results_streets = 0;\r
+                                       Navit.search_results_streets_hn = 0;\r
+       \r
+                                       if (addr.equals("")) {\r
+                                               // empty search string entered\r
+                                               Toast.makeText(getApplicationContext(),\r
+                                                               Navit.get_text("No search string entered"), Toast.LENGTH_LONG).show(); //TRANS\r
+                                       } else {\r
+                                               // 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
+                                               dialogs.obtainMessage(NavitDialogs.MSG_SEARCH).sendToTarget();\r
                                        }\r
                                }\r
-                               else\r
-                               {\r
-                                       // user pressed back key\r
-                               }\r
-                       }\r
-                       catch (Exception e)\r
-                       {\r
-                               Log.d("Navit", "error on onActivityResult");\r
                        }\r
                        break;\r
                case Navit.NavitAddressResultList_id :\r
@@ -774,27 +763,11 @@ public class Navit extends Activity
                        {\r
                                if (resultCode == Activity.RESULT_OK)\r
                                {\r
-                                       Log.d("Navit", "adress result list id="\r
-                                                       + Integer.parseInt(data.getStringExtra("selected_id")));\r
-                                       // get the coords for the destination\r
-                                       int destination_id = Integer.parseInt(data.getStringExtra("selected_id"));\r
-\r
-                                       // ok now set target\r
-                                       Toast.makeText( getApplicationContext(),\r
-                                           Navit.get_text("setting destination to") + "\n" \r
-                                               + Navit.NavitAddressResultList_foundItems.get(destination_id).addr,\r
-                                           Toast.LENGTH_LONG).show(); //TRANS\r
-\r
-                                       Message msg = Message.obtain(N_NavitGraphics.callback_handler, NavitGraphics.msg_type.CLB_SET_DESTINATION.ordinal());\r
-                                       Bundle b = new Bundle();\r
-                                       b.putString("lat", String.valueOf(Navit.NavitAddressResultList_foundItems\r
-                                                       .get(destination_id).lat));\r
-                                       b.putString("lon", String.valueOf(Navit.NavitAddressResultList_foundItems\r
-                                                       .get(destination_id).lon));\r
-                                       b.putString("q",\r
-                                                       Navit.NavitAddressResultList_foundItems.get(destination_id).addr);\r
-                                       msg.setData(b);\r
-                                       msg.sendToTarget();\r
+                                       int destination_id = data.getIntExtra("selected_id", 0);\r
+                                       \r
+                                       setDestination( NavitAddressResultList_foundItems .get(destination_id).lat\r
+                                                     , NavitAddressResultList_foundItems.get(destination_id).lon\r
+                                                     , NavitAddressResultList_foundItems.get(destination_id).addr);\r
                                }\r
                        }\r
                        catch (Exception e)\r
@@ -860,12 +833,7 @@ public class Navit extends Activity
                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", search);\r
-               String pm_temp = "0";\r
-               if (NavitDialogs.Navit_last_address_partial_match)\r
-               {\r
-                       pm_temp = "1";\r
-               }\r
-               search_intent.putExtra("partial_match", pm_temp);\r
+               search_intent.putExtra("partial_match", NavitDialogs.Navit_last_address_partial_match);\r
                this.startActivityForResult(search_intent, NavitAddressSearch_id);\r
        }\r
 }\r
index da24b35..85671ed 100644 (file)
@@ -32,10 +32,9 @@ import android.widget.ListView;
 \r
 public class NavitAddressResultListActivity extends ListActivity\r
 {\r
-\r
-       private int                     selected_id     = -1;\r
-       private Boolean is_empty                = true;\r
-       public String[] result_list     = new String[]{"loading results ..."};\r
+       private int              selected_id        = -1;\r
+       private Boolean          is_empty           = true;\r
+       public String[]          result_list        = new String[]{"loading results ..."};\r
 \r
        @Override\r
        public void onCreate(Bundle savedInstanceState)\r
@@ -43,16 +42,15 @@ public class NavitAddressResultListActivity extends ListActivity
                super.onCreate(savedInstanceState);\r
                //Log.e("Navit", "all ok");\r
 \r
-               Navit.Navit_Address_Result_Struct tmp = new Navit.Navit_Address_Result_Struct();\r
+               Navit.NavitAddress tmp = new Navit.NavitAddress();\r
 \r
-               Log.e("Navit", "########### full result count: "\r
-                               + Navit.NavitAddressResultList_foundItems.size());\r
+               Log.e("Navit", "full result count: " + Navit.NavitAddressResultList_foundItems.size());\r
 \r
                // show "town names" as results only when we dont have any street names in resultlist\r
                if ((Navit.search_results_streets > 0) || (Navit.search_results_streets_hn > 0))\r
                {\r
                        // clear out towns from result list\r
-                       for (Iterator<Navit.Navit_Address_Result_Struct> k = Navit.NavitAddressResultList_foundItems\r
+                       for (Iterator<Navit.NavitAddress> k = Navit.NavitAddressResultList_foundItems\r
                                        .iterator(); k.hasNext();)\r
                        {\r
                                tmp = k.next();\r
@@ -63,12 +61,11 @@ public class NavitAddressResultListActivity extends ListActivity
                        }\r
                }\r
 \r
-               Log.e("Navit", "########### final result count: "\r
-                               + Navit.NavitAddressResultList_foundItems.size());\r
+               Log.e("Navit", "final result count: " + Navit.NavitAddressResultList_foundItems.size());\r
 \r
                this.result_list = new String[Navit.NavitAddressResultList_foundItems.size()];\r
                int j = 0;\r
-               for (Iterator<Navit.Navit_Address_Result_Struct> i = Navit.NavitAddressResultList_foundItems\r
+               for (Iterator<Navit.NavitAddress> i = Navit.NavitAddressResultList_foundItems\r
                                .iterator(); i.hasNext();)\r
                {\r
                        tmp = i.next();\r
@@ -125,18 +122,15 @@ public class NavitAddressResultListActivity extends ListActivity
                executeDone();\r
        }\r
 \r
-       //      @Override\r
-       //      public void onBackPressed()\r
-       //      {\r
-       //              executeDone();\r
-       //              super.onBackPressed();\r
-       //      }\r
-\r
        private void executeDone()\r
        {\r
                Intent resultIntent = new Intent();\r
-               resultIntent.putExtra("selected_id", String.valueOf(this.selected_id));\r
+               resultIntent.putExtra("selected_id", selected_id);\r
                setResult(Activity.RESULT_OK, resultIntent);\r
+               \r
+               NavitAppConfig navitConfig = (NavitAppConfig)getApplicationContext();\r
+               navitConfig.addLastAddress(Navit.NavitAddressResultList_foundItems.get(selected_id));\r
+\r
                finish();\r
        }\r
 \r
index 3029812..3dfbb8a 100644 (file)
@@ -23,6 +23,7 @@ package org.navitproject.navit;
 import java.lang.reflect.Field;\r
 import java.util.Arrays;
 import java.util.Comparator;
+import java.util.List;\r
 import java.util.Locale;\r
 \r
 import android.app.Activity;\r
@@ -37,11 +38,15 @@ import android.view.Gravity;
 import android.view.View;\r
 import android.view.View.OnClickListener;\r
 import android.view.WindowManager;
+import android.widget.AdapterView;\r
+import android.widget.AdapterView.OnItemClickListener;\r
+import android.widget.ArrayAdapter;\r
 import android.widget.Button;\r
 import android.widget.CheckBox;\r
 import android.widget.EditText;\r
 import android.widget.ImageButton;\r
 import android.widget.LinearLayout;\r
+import android.widget.ListView;\r
 import android.widget.RelativeLayout;\r
 import android.widget.RelativeLayout.LayoutParams;\r
 import android.widget.TextView;
@@ -53,9 +58,10 @@ public class NavitAddressSearchActivity extends Activity
        private CheckBox     pm_checkbox;\r
        private String       mCountry;\r
        private ImageButton  mCountryButton;\r
-\r
+       \r
        public RelativeLayout   NavitAddressSearchActivity_layout;\r
 \r
+       \r
        private int getDrawableID(String resourceName)\r
        {\r
                int drawableId = 0;\r
@@ -120,7 +126,6 @@ public class NavitAddressSearchActivity extends Activity
                pm_checkbox.setChecked(false);\r
                pm_checkbox.setGravity(Gravity.CENTER);\r
 \r
-\r
                // search button\r
                final Button btnSearch = new Button(this);\r
                btnSearch.setText(Navit.get_text("Search")); //TRANS\r
@@ -135,19 +140,45 @@ public class NavitAddressSearchActivity extends Activity
                        }\r
                });\r
 \r
-               Bundle extras = getIntent().getExtras();\r
+               ListView lastAddresses = new ListView(this);\r
+               NavitAppConfig navitConfig = (NavitAppConfig)getApplicationContext();\r
 \r
+               final List<Navit.NavitAddress> addresses = navitConfig.getLastAddresses();\r
+               int addressCount = addresses.size();\r
+               if (addressCount > 0) {\r
+                       String[] strAddresses = new String[addressCount];\r
+                       for (int addrIndex = 0; addrIndex < addressCount; addrIndex++) {\r
+                               strAddresses[addrIndex] = addresses.get(addrIndex).addr;\r
+                       }\r
+                       ArrayAdapter<String> addressList = new ArrayAdapter<String>(this,\r
+                                       android.R.layout.simple_list_item_1, strAddresses);\r
+                       lastAddresses.setAdapter(addressList);\r
+                       lastAddresses.setOnItemClickListener(new OnItemClickListener() {\r
+                               @Override\r
+                               public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {\r
+                                       Intent resultIntent = new Intent();\r
+                                       resultIntent.putExtra("addr_selected", true);\r
+                                       \r
+                                       Navit.NavitAddressResultList_foundItems.clear();\r
+                                       Navit.NavitAddressResultList_foundItems.add(addresses.get(arg2));\r
+                                       \r
+                                       setResult(Activity.RESULT_OK, resultIntent);\r
+                                       finish();\r
+                               }\r
+                       });\r
+               }\r
+               \r
+               Bundle extras = getIntent().getExtras();\r
                if ( extras != null )\r
                {\r
                        String title = extras.getString("title");\r
-                       String partial = extras.getString("partial_match");\r
+                       Boolean partial = extras.getBoolean("partial_match");\r
                        String address = extras.getString("address_string");\r
 \r
                        if ( title != null && title.length() > 0)\r
                                this.setTitle(title);\r
 \r
-                       if (partial != null && partial.length() > 0)\r
-                               pm_checkbox.setChecked(partial.equals("1"));\r
+                       pm_checkbox.setChecked(partial);\r
 \r
                        address_string = new EditText(this);\r
                        if (address != null)\r
@@ -163,6 +194,7 @@ public class NavitAddressSearchActivity extends Activity
                panel.addView(address_string);\r
                panel.addView(searchSettingsLayout);\r
                panel.addView(btnSearch);\r
+               panel.addView(lastAddresses);\r
 \r
                setContentView(panel);\r
        }\r
@@ -208,14 +240,7 @@ public class NavitAddressSearchActivity extends Activity
                Intent resultIntent = new Intent();\r
                resultIntent.putExtra("address_string", address_string.getText().toString());\r
                resultIntent.putExtra("country", mCountry);\r
-               if (pm_checkbox.isChecked())\r
-               {\r
-                       resultIntent.putExtra("partial_match", "1");\r
-               }\r
-               else\r
-               {\r
-                       resultIntent.putExtra("partial_match", "0");\r
-               }\r
+               resultIntent.putExtra("partial_match", pm_checkbox.isChecked());\r
                setResult(Activity.RESULT_OK, resultIntent);\r
                finish();\r
        }\r
diff --git a/navit/navit/android/src/org/navitproject/navit/NavitAppConfig.java b/navit/navit/android/src/org/navitproject/navit/NavitAppConfig.java
new file mode 100755 (executable)
index 0000000..2b5090d
--- /dev/null
@@ -0,0 +1,68 @@
+package org.navitproject.navit;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import org.navitproject.navit.Navit.NavitAddress;\r
+\r
+import android.app.Application;\r
+import android.content.SharedPreferences;\r
+\r
+public class NavitAppConfig extends Application {\r
+\r
+       private static final int         MAX_LAST_ADDRESSES = 10;\r
+\r
+       private List<Navit.NavitAddress> mLastAddresses     = null;\r
+       private int                      mLastAddressField;\r
+       private SharedPreferences        mSettings;\r
+\r
+       @Override\r
+       public void onCreate() {\r
+               mSettings = getSharedPreferences(Navit.NAVIT_PREFS, MODE_PRIVATE);\r
+               super.onCreate();\r
+       }\r
+\r
+       public List<NavitAddress> getLastAddresses() {\r
+               if (mLastAddresses == null) {\r
+                       mLastAddresses = new ArrayList<Navit.NavitAddress>();\r
+                       int mLastAddressField = mSettings.getInt("LastAddress", -1);\r
+                       if (mLastAddressField >= 0) {\r
+                               int index = mLastAddressField;\r
+                               do {\r
+                                       String addr_str = mSettings.getString("LastAddress_" + String.valueOf(index), "");\r
+\r
+                                       if (addr_str.length() > 0) {\r
+                                               Navit.NavitAddress address = new Navit.NavitAddress();\r
+                                               address.addr = addr_str;\r
+                                               address.lat = mSettings.getFloat("LastAddress_Lat_" + String.valueOf(index), 0);\r
+                                               address.lon = mSettings.getFloat("LastAddress_Lon_" + String.valueOf(index), 0);\r
+                                               mLastAddresses.add(address);\r
+                                       }\r
+\r
+                                       if (--index < 0) index = MAX_LAST_ADDRESSES - 1;\r
+\r
+                               } while (index != mLastAddressField);\r
+                       }\r
+               }\r
+               return mLastAddresses;\r
+       }\r
+\r
+       public void addLastAddress(Navit.NavitAddress newAddress) {\r
+               getLastAddresses();\r
+\r
+               mLastAddresses.add(newAddress);\r
+               if (mLastAddresses.size() > MAX_LAST_ADDRESSES) mLastAddresses.remove(0);\r
+\r
+               mLastAddressField++;\r
+               if (mLastAddressField >= MAX_LAST_ADDRESSES) mLastAddressField = 0;\r
+\r
+               SharedPreferences.Editor editSettings = mSettings.edit();\r
+\r
+               editSettings.putInt("LastAddress", mLastAddressField);\r
+               editSettings.putString("LastAddress_" + String.valueOf(mLastAddressField), newAddress.addr);\r
+               editSettings.putFloat("LastAddress_Lat_" + String.valueOf(mLastAddressField), newAddress.lat);\r
+               editSettings.putFloat("LastAddress_Lon_" + String.valueOf(mLastAddressField), newAddress.lon);\r
+\r
+               editSettings.commit();\r
+       }\r
+}\r
index 2520978..d100100 100644 (file)
@@ -22,7 +22,7 @@ package org.navitproject.navit;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 
-import org.navitproject.navit.Navit.Navit_Address_Result_Struct;
+import org.navitproject.navit.Navit.NavitAddress;
 
 import android.app.Activity;
 import android.content.Context;
@@ -741,8 +741,8 @@ public class NavitGraphics
                                        MotionCallback(MotionCallbackID, msg.getData().getInt("x"), msg.getData().getInt("y"));
                                        break;
                                case CLB_SET_DESTINATION:
-                                       String lat = msg.getData().getString("lat");
-                                       String lon = msg.getData().getString("lon");
+                                       String lat = Float.toString(msg.getData().getFloat("lat"));
+                                       String lon = Float.toString(msg.getData().getFloat("lon"));
                                        String q = msg.getData().getString("q");
                                        CallbackMessageChannel(3, lat + "#" + lon + "#" + q);
                                        break;
@@ -926,7 +926,7 @@ public class NavitGraphics
                // deactivate the spinner
                NavitDialogs.NavitAddressSearchSpinnerActive = false;
 
-               Navit.Navit_Address_Result_Struct tmp_addr = new Navit_Address_Result_Struct();
+               Navit.NavitAddress tmp_addr = new NavitAddress();
                String[] tmp_s = s.split(":");
                tmp_addr.result_type = tmp_s[0];
                tmp_addr.item_id = tmp_s[1];
index fd32d08..2687d36 100644 (file)
@@ -956,11 +956,11 @@ search_address_housenumber_real(GList *result_list, struct search_list *sl, char
                                // ca. 9 chars : ca. 9 chars : max. 100 max. 100 max. 100 max. 15 chars -> this sould be max. about 335 chars long
                                if (slr->town->common.postal == NULL)
                                {
-                                       buffer=g_strdup_printf("SHN:H%dL%d:%f:%f:%.101s,%.101s, %.101s %.15s",slr->street->common.item.id_hi,slr->street->common.item.id_lo,g.lat,g.lng,slr->country->name,slr->town->common.town_name,slr->street->name,slr->house_number->house_number);
+                                       buffer=g_strdup_printf("SHN:H%dL%d:%f:%f:%.101s, %.101s, %.101s %.15s",slr->street->common.item.id_hi,slr->street->common.item.id_lo,g.lat,g.lng,slr->country->name,slr->town->common.town_name,slr->street->name,slr->house_number->house_number);
                                }
                                else
                                {
-                                       buffer=g_strdup_printf("SHN:H%dL%d:%f:%f:%.101s,%.7s %.101s, %.101s %.15s",slr->street->common.item.id_hi,slr->street->common.item.id_lo,g.lat,g.lng,slr->country->name,slr->town->common.postal,slr->town->common.town_name,slr->street->name,slr->house_number->house_number);
+                                       buffer=g_strdup_printf("SHN:H%dL%d:%f:%f:%.101s, %.7s %.101s, %.101s %.15s",slr->street->common.item.id_hi,slr->street->common.item.id_lo,g.lat,g.lng,slr->country->name,slr->town->common.postal,slr->town->common.town_name,slr->street->name,slr->house_number->house_number);
                                }
                                // deactivated now * result_list=g_list_prepend(result_list,g_strdup(buffer));
 #ifdef HAVE_API_ANDROID
@@ -1081,11 +1081,11 @@ search_address_street(GList *result_list, struct search_list *sl, GList *phrases
                // TWN -> town
                if (slr->town->common.postal == NULL)
                {
-                       buffer=g_strdup_printf("TWN:H%dL%d:%f:%f:%.101s,%.101s",slr->town->common.item.id_hi,slr->town->common.item.id_lo,g.lat,g.lng,slr->country->name,slr->town->common.town_name);
+                       buffer=g_strdup_printf("TWN:H%dL%d:%f:%f:%.101s, %.101s",slr->town->common.item.id_hi,slr->town->common.item.id_lo,g.lat,g.lng,slr->country->name,slr->town->common.town_name);
                }
                else
                {
-                       buffer=g_strdup_printf("TWN:H%dL%d:%f:%f:%.101s,%.7s %.101s",slr->town->common.item.id_hi,slr->town->common.item.id_lo,g.lat,g.lng,slr->country->name,slr->town->common.postal,slr->town->common.town_name);
+                       buffer=g_strdup_printf("TWN:H%dL%d:%f:%f:%.101s, %.7s %.101s",slr->town->common.item.id_hi,slr->town->common.item.id_lo,g.lat,g.lng,slr->country->name,slr->town->common.postal,slr->town->common.town_name);
                }
                // deactivated now * result_list=g_list_prepend(result_list,g_strdup(buffer));
 #ifdef HAVE_API_ANDROID
@@ -1158,7 +1158,7 @@ GList *
 search_by_address(struct search_list *sl, const char *addr, int partial, struct jni_object *jni)
 {
        char *str=search_fix_spaces(addr);
-       GList *tmp,*phrases=search_split_phrases(str);
+       GList *phrases=search_split_phrases(str);
        GList *ret = NULL;
        dbg(0,"enter %s\n",addr);
        ret=search_address_town(ret, sl, phrases, NULL, partial, jni);