aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorMarco Jacob <mjacob@union06.de>2012-01-14 21:36:11 +0100
committerMarco Jacob <mjacob@union06.de>2012-01-14 21:36:11 +0100
commite4d3d70d23ff5d3c57888768286aa292c084d3ce (patch)
tree0ab7b31e8cb205e835244503f647edffb50207ff /main
parent7fcca178c44c08aae6aa81516b1090401a7d2658 (diff)
downloadcgeo-e4d3d70d23ff5d3c57888768286aa292c084d3ce.zip
cgeo-e4d3d70d23ff5d3c57888768286aa292c084d3ce.tar.gz
cgeo-e4d3d70d23ff5d3c57888768286aa292c084d3ce.tar.bz2
merged with cgeo upstream
Diffstat (limited to 'main')
-rw-r--r--main/res/values/strings.xml1
-rw-r--r--main/src/cgeo/geocaching/StaticMapsProvider.java38
-rw-r--r--main/src/cgeo/geocaching/cgeoinit.java10
3 files changed, 29 insertions, 20 deletions
diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml
index 243d460..8d590e6 100644
--- a/main/res/values/strings.xml
+++ b/main/res/values/strings.xml
@@ -938,6 +938,7 @@
· <a href="http://github.com/koem">Karsten Priegnitz</a> (code, artwork computation)\n
· <a href="http://www.geocaching.com/email/?guid=d11a3e3d-7db0-4d43-87f2-7893238844a6">Lineflyer</a> (tester)\n
· Ludovic Valente (localization FR)\n
+ · marco-jacob (code, loc. DE)\n
· MichielK (code, loc. NL)\n
· mucek4 (code, open source project leader)\n
· ncorreia (code, localization PT)\n
diff --git a/main/src/cgeo/geocaching/StaticMapsProvider.java b/main/src/cgeo/geocaching/StaticMapsProvider.java
index 490df91..3a3da0c 100644
--- a/main/src/cgeo/geocaching/StaticMapsProvider.java
+++ b/main/src/cgeo/geocaching/StaticMapsProvider.java
@@ -51,11 +51,10 @@ public class StaticMapsProvider {
}
public static void downloadMaps(cgCache cache, Activity activity) {
- if (!Settings.isStoreOfflineMaps() || cache.getCoords() == null || StringUtils.isBlank(cache.getGeocode())) {
+ if ((!Settings.isStoreOfflineMaps() && !Settings.isStoreOfflineWpMaps()) || StringUtils.isBlank(cache.getGeocode())) {
return;
}
- final String latlonMap = cache.getCoords().format(Format.LAT_LON_DECDEGREE_COMMA);
final Display display = ((WindowManager) activity.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
final int maxWidth = display.getWidth() - 25;
final int maxHeight = display.getHeight() - 25;
@@ -66,29 +65,28 @@ public class StaticMapsProvider {
edge = maxHeight;
}
- final StringBuilder waypoints = new StringBuilder();
- if (cache.hasWaypoints()) {
- for (cgWaypoint waypoint : cache.getWaypoints()) {
- if (waypoint.getCoords() == null) {
- continue;
+ if (Settings.isStoreOfflineMaps() && cache.getCoords() != null) {
+ final String latlonMap = cache.getCoords().format(Format.LAT_LON_DECDEGREE_COMMA);
+ final StringBuilder waypoints = new StringBuilder();
+ if (cache.hasWaypoints()) {
+ for (cgWaypoint waypoint : cache.getWaypoints()) {
+ if (waypoint.getCoords() == null) {
+ continue;
+ }
+ String wpMarkerUrl = getWpMarkerUrl(waypoint);
+ waypoints.append("&markers=icon%3A");
+ waypoints.append(wpMarkerUrl);
+ waypoints.append("%7C");
+ waypoints.append(waypoint.getCoords().format(Format.LAT_LON_DECDEGREE_COMMA));
}
- String wpMarkerUrl = getWpMarkerUrl(waypoint);
- waypoints.append("&markers=icon%3A");
- waypoints.append(wpMarkerUrl);
- waypoints.append("%7C");
- waypoints.append(waypoint.getCoords().format(Format.LAT_LON_DECDEGREE_COMMA));
}
+ // download map images in separate background thread for higher performance
+ final String cacheMarkerUrl = getCacheMarkerUrl(cache);
+ downloadMaps(cache, cacheMarkerUrl, "", latlonMap, edge, waypoints.toString());
}
- // download map images in separate background thread for higher performance
- final String cacheMarkerUrl = getCacheMarkerUrl(cache);
- downloadMaps(cache, cacheMarkerUrl, "", latlonMap, edge, waypoints.toString());
-
// download static map for current waypoints
- if (!Settings.isStoreOfflineWpMaps()) {
- return;
- }
- if (CollectionUtils.isNotEmpty(cache.getWaypoints())) {
+ if (Settings.isStoreOfflineWpMaps() && CollectionUtils.isNotEmpty(cache.getWaypoints())) {
for (cgWaypoint waypoint : cache.getWaypoints()) {
if (waypoint.getCoords() == null) {
continue;
diff --git a/main/src/cgeo/geocaching/cgeoinit.java b/main/src/cgeo/geocaching/cgeoinit.java
index 8b72c5c..09f2396 100644
--- a/main/src/cgeo/geocaching/cgeoinit.java
+++ b/main/src/cgeo/geocaching/cgeoinit.java
@@ -464,6 +464,16 @@ public class cgeoinit extends AbstractActivity {
}
});
+ final CheckBox offlineWpButton = (CheckBox) findViewById(R.id.offline_wp);
+ offlineWpButton.setChecked(Settings.isStoreOfflineWpMaps());
+ offlineWpButton.setOnClickListener(new View.OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ Settings.setStoreOfflineWpMaps(offlineWpButton.isChecked());
+ }
+ });
+
final CheckBox saveLogImgButton = (CheckBox) findViewById(R.id.save_log_img);
saveLogImgButton.setChecked(Settings.isStoreLogImages());
saveLogImgButton.setOnClickListener(new View.OnClickListener() {