summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormdankov <mdankov@ffa7fe5e-494d-0410-b361-a75ebd5db220>2015-04-04 20:41:16 +0000
committermdankov <mdankov@ffa7fe5e-494d-0410-b361-a75ebd5db220>2015-04-04 20:41:16 +0000
commitfcb77abf7422e2672b23ce8865933e101126349b (patch)
treefe75c06f5b74f57755ae4993baf469718013985c
parent3e7c818c871db73d6fdae12343ae0fa6c86434c9 (diff)
downloadnavit-fcb77abf7422e2672b23ce8865933e101126349b.tar.gz
Fix:port_android:Display country flag image in Android search dialog.
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@6042 ffa7fe5e-494d-0410-b361-a75ebd5db220
-rw-r--r--navit/android/src/org/navitproject/navit/NavitAddressSearchActivity.java23
1 files changed, 20 insertions, 3 deletions
diff --git a/navit/android/src/org/navitproject/navit/NavitAddressSearchActivity.java b/navit/android/src/org/navitproject/navit/NavitAddressSearchActivity.java
index d02a23fa1..a28012189 100644
--- a/navit/android/src/org/navitproject/navit/NavitAddressSearchActivity.java
+++ b/navit/android/src/org/navitproject/navit/NavitAddressSearchActivity.java
@@ -101,6 +101,23 @@ public class NavitAddressSearchActivity extends Activity {
}
return drawableId;
}
+
+ private void setCountryButtonImage() {
+ // We have all images stored as drawable_nodpi resources which allows native code to manipulate them
+ // without interference with android builtin choosing and scaling system. But that makes us to
+ // reinvent the wheel here to show an image in android native interface.
+ int flag_icon_sizes[]={24,32,48,64,96};
+ int exact_size, nearest_size;
+ exact_size=(int)(Navit.metrics.density*24.0 -.5);
+ nearest_size=flag_icon_sizes[0];
+ for(int size: flag_icon_sizes) {
+ nearest_size=size;
+ if(exact_size<=size)
+ break;
+ }
+ mCountryButton.setImageResource(getDrawableID("country_" + mCountry+"_"+nearest_size+"_"+nearest_size));
+ }
+
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -139,8 +156,8 @@ public class NavitAddressSearchActivity extends Activity {
}
mCountryButton = new ImageButton(this);
-
- mCountryButton.setImageResource(getDrawableID("country_" + mCountry));
+
+ setCountryButtonImage();
mCountryButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
@@ -254,7 +271,7 @@ public class NavitAddressSearchActivity extends Activity {
edit_settings.putString("DefaultCountry", mCountry);
edit_settings.commit();
- mCountryButton.setImageResource(getDrawableID("country_" + mCountry));
+ setCountryButtonImage();
}
});