aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Jacob <mjacob@union06.de>2012-05-03 19:59:37 +0200
committerMarco Jacob <mjacob@union06.de>2012-05-03 19:59:37 +0200
commit6c6a420135605b7a2fc8c2ea5f43e2e1ec66426f (patch)
tree958e8cf5976b8adb10b1efc73f93d0c82092b6b7
parentf77498069f2b37f5e3839f2d11c68509394235f4 (diff)
downloadcgeo-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.java69
-rw-r--r--main/src/cgeo/geocaching/StaticMapsProvider.java10
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 {