diff options
author | Marco Jacob <mjacob@union06.de> | 2012-05-03 19:59:37 +0200 |
---|---|---|
committer | Marco Jacob <mjacob@union06.de> | 2012-05-03 19:59:37 +0200 |
commit | 6c6a420135605b7a2fc8c2ea5f43e2e1ec66426f (patch) | |
tree | 958e8cf5976b8adb10b1efc73f93d0c82092b6b7 | |
parent | f77498069f2b37f5e3839f2d11c68509394235f4 (diff) | |
download | cgeo-6c6a420135605b7a2fc8c2ea5f43e2e1ec66426f.zip cgeo-6c6a420135605b7a2fc8c2ea5f43e2e1ec66426f.tar.gz cgeo-6c6a420135605b7a2fc8c2ea5f43e2e1ec66426f.tar.bz2 |
Fixes issue #1465. Cache static maps are displayed right after download
-rw-r--r-- | main/src/cgeo/geocaching/StaticMapsActivity.java | 69 | ||||
-rw-r--r-- | main/src/cgeo/geocaching/StaticMapsProvider.java | 10 |
2 files changed, 44 insertions, 35 deletions
diff --git a/main/src/cgeo/geocaching/StaticMapsActivity.java b/main/src/cgeo/geocaching/StaticMapsActivity.java index 4f51d34..a8495ee 100644 --- a/main/src/cgeo/geocaching/StaticMapsActivity.java +++ b/main/src/cgeo/geocaching/StaticMapsActivity.java @@ -57,48 +57,47 @@ public class StaticMapsActivity extends AbstractActivity { Log.e("StaticMapsActivity.loadMapsHandler: " + e.toString()); } } + }; - /** - * Shows the static maps. - */ - private void showStaticMaps() { - if (inflater == null) { - inflater = getLayoutInflater(); + DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + switch (which) { + case DialogInterface.BUTTON_POSITIVE: + downloadStaticMaps(); + startActivity(StaticMapsActivity.this.getIntent()); + break; + + case DialogInterface.BUTTON_NEGATIVE: + showToast(res.getString(R.string.err_detail_not_load_map_static)); + break; } + finish(); + } + }; - if (smapsView == null) { - smapsView = (LinearLayout) findViewById(R.id.maps_list); - } - smapsView.removeAllViews(); + /** + * Shows the static maps. + */ + private void showStaticMaps() { + if (inflater == null) { + inflater = getLayoutInflater(); + } - for (final Bitmap image : maps) { - if (image != null) { - final ImageView map = (ImageView) inflater.inflate(R.layout.map_static_item, null); - map.setImageBitmap(image); - smapsView.addView(map); - } - } + if (smapsView == null) { + smapsView = (LinearLayout) findViewById(R.id.maps_list); } + smapsView.removeAllViews(); - DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - switch (which) { - case DialogInterface.BUTTON_POSITIVE: - downloadStaticMaps(); - showStaticMaps(); - return; - - case DialogInterface.BUTTON_NEGATIVE: - showToast(res.getString(R.string.err_detail_not_load_map_static)); - break; - } - finish(); + for (final Bitmap image : maps) { + if (image != null) { + final ImageView map = (ImageView) inflater.inflate(R.layout.map_static_item, null); + map.setImageBitmap(image); + smapsView.addView(map); } - }; - - }; + } + } @Override public void onCreate(Bundle savedInstanceState) { diff --git a/main/src/cgeo/geocaching/StaticMapsProvider.java b/main/src/cgeo/geocaching/StaticMapsProvider.java index 9fbf429..2f756fb 100644 --- a/main/src/cgeo/geocaching/StaticMapsProvider.java +++ b/main/src/cgeo/geocaching/StaticMapsProvider.java @@ -186,6 +186,16 @@ public class StaticMapsProvider { return MARKERS_URL + "marker_waypoint_" + type + ".png"; } + public static void removeCacheStaticMaps(String geocode) { + for (int level = 1; level <= 5; level++) { + try { + StaticMapsProvider.getMapFile(geocode, "", level, false).delete(); + } catch (Exception e) { + Log.e("StaticMapsProvider.removeCacheStaticMaps: " + e.toString()); + } + } + } + public static void removeWpStaticMaps(int wp_id, String geocode) { for (int level = 1; level <= 5; level++) { try { |