aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/res/values-cs/strings.xml2
-rw-r--r--main/res/values-de/strings.xml2
-rw-r--r--main/res/values-es/strings.xml2
-rw-r--r--main/res/values-fr/strings.xml2
-rw-r--r--main/res/values-hu/strings.xml2
-rw-r--r--main/res/values-it/strings.xml2
-rw-r--r--main/res/values-ja/strings.xml2
-rw-r--r--main/res/values-nl/strings.xml2
-rw-r--r--main/res/values-pl/strings.xml2
-rw-r--r--main/res/values-pt/strings.xml2
-rw-r--r--main/res/values-sk/strings.xml2
-rw-r--r--main/res/values-sv/strings.xml2
-rw-r--r--main/res/values/strings.xml2
-rw-r--r--main/src/cgeo/geocaching/CacheDetailActivity.java13
-rw-r--r--main/src/cgeo/geocaching/TrackableActivity.java2
-rw-r--r--main/src/cgeo/geocaching/connector/oc/OCApiLiveConnector.java9
-rw-r--r--main/src/cgeo/geocaching/connector/oc/OkapiClient.java29
-rw-r--r--main/src/cgeo/geocaching/connector/oc/OkapiService.java20
-rw-r--r--main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapProvider.java2
19 files changed, 64 insertions, 37 deletions
diff --git a/main/res/values-cs/strings.xml b/main/res/values-cs/strings.xml
index 715f949..998b8f8 100644
--- a/main/res/values-cs/strings.xml
+++ b/main/res/values-cs/strings.xml
@@ -461,7 +461,7 @@
<string name="map_source_google_satellite">Google: Satelitní</string>
<string name="map_source_osm_mapnik">OSM: Mapnik</string>
<string name="map_source_osm_cyclemap">OSM: Cyclemap</string>
- <string name="map_source_osm_offline">OSM: Offline</string>
+ <string name="map_source_osm_offline">Offline</string>
<string name="init_sendToCgeo">Poslat do c:geo</string>
<string name="init_sendToCgeo_name">Název tvého zařízení:</string>
diff --git a/main/res/values-de/strings.xml b/main/res/values-de/strings.xml
index d5ed34a..23b90b8 100644
--- a/main/res/values-de/strings.xml
+++ b/main/res/values-de/strings.xml
@@ -471,7 +471,7 @@
<string name="map_source_google_satellite">Google: Satellit</string>
<string name="map_source_osm_mapnik">OSM: Mapnik</string>
<string name="map_source_osm_cyclemap">OSM: Radfahrerkarte</string>
- <string name="map_source_osm_offline">OSM: Offline</string>
+ <string name="map_source_osm_offline">Offline</string>
<string name="init_sendToCgeo">Send to c:geo</string>
<string name="init_sendToCgeo_name">Name des Endgerätes:</string>
diff --git a/main/res/values-es/strings.xml b/main/res/values-es/strings.xml
index f5a84ea..9ec6946 100644
--- a/main/res/values-es/strings.xml
+++ b/main/res/values-es/strings.xml
@@ -384,7 +384,7 @@
<string name="map_source_google_satellite">Google: Satélite</string>
<string name="map_source_osm_mapnik">OSM: Mapnik</string>
<string name="map_source_osm_cyclemap">OSM: Cyclemap</string>
- <string name="map_source_osm_offline">OSM: Offline</string>
+ <string name="map_source_osm_offline">Offline</string>
<string name="init_sendToCgeo">Enviar a c:geo</string>
<string name="init_sendToCgeo_name">Nombre de tu dispositivo:</string>
diff --git a/main/res/values-fr/strings.xml b/main/res/values-fr/strings.xml
index 69fa863..8d7c59b 100644
--- a/main/res/values-fr/strings.xml
+++ b/main/res/values-fr/strings.xml
@@ -469,7 +469,7 @@
<string name="map_source_google_satellite">Google Maps : satellite</string>
<string name="map_source_osm_mapnik">OSM : rendu Mapnik</string>
<string name="map_source_osm_cyclemap">OSM : pistes cyclables</string>
- <string name="map_source_osm_offline">OSM : hors-ligne</string>
+ <string name="map_source_osm_offline">hors-ligne</string>
<string name="init_sendToCgeo">Envoyers vers c:geo</string>
<string name="init_sendToCgeo_name">Votre nom d\'appareil:</string>
diff --git a/main/res/values-hu/strings.xml b/main/res/values-hu/strings.xml
index 17eb247..033b8f7 100644
--- a/main/res/values-hu/strings.xml
+++ b/main/res/values-hu/strings.xml
@@ -429,7 +429,7 @@
<string name="map_source_google_satellite">Google: Műholdkép</string>
<string name="map_source_osm_mapnik">OSM: Mapnik</string>
<string name="map_source_osm_cyclemap">OSM: Biciklis térkép</string>
- <string name="map_source_osm_offline">OSM: Offline</string>
+ <string name="map_source_osm_offline">Offline</string>
<string name="init_sendToCgeo">Küldés a c:geo-hoz</string>
<string name="init_sendToCgeo_name">Az eszközöd neve:</string>
diff --git a/main/res/values-it/strings.xml b/main/res/values-it/strings.xml
index aeb2e2d..f97e059 100644
--- a/main/res/values-it/strings.xml
+++ b/main/res/values-it/strings.xml
@@ -464,7 +464,7 @@
<string name="map_source_google_satellite">Google: Satellite</string>
<string name="map_source_osm_mapnik">OSM: Mapnik</string>
<string name="map_source_osm_cyclemap">OSM: Cyclemap</string>
- <string name="map_source_osm_offline">OSM: Offline</string>
+ <string name="map_source_osm_offline">Offline</string>
<string name="init_sendToCgeo">Send to c:geo</string>
<string name="init_sendToCgeo_name">Nome dispositivo:</string>
diff --git a/main/res/values-ja/strings.xml b/main/res/values-ja/strings.xml
index 9e19b84..ed8a241 100644
--- a/main/res/values-ja/strings.xml
+++ b/main/res/values-ja/strings.xml
@@ -441,7 +441,7 @@
<string name="map_source_google_satellite">Googleマップ:航空写真</string>
<string name="map_source_osm_mapnik">OpenStreetMap</string>
<string name="map_source_osm_cyclemap">OpenStreetMap:Cyclemap</string>
- <string name="map_source_osm_offline">OpenStreetMap:オフライン用</string>
+ <string name="map_source_osm_offline">オフライン用</string>
<string name="init_sendToCgeo">Send to c:geo</string>
<string name="init_sendToCgeo_name">この端末のモデル番号:</string>
diff --git a/main/res/values-nl/strings.xml b/main/res/values-nl/strings.xml
index 8c92509..48db13c 100644
--- a/main/res/values-nl/strings.xml
+++ b/main/res/values-nl/strings.xml
@@ -445,7 +445,7 @@
<string name="map_source_google_satellite">Google: Satellite</string>
<string name="map_source_osm_mapnik">OSM: Mapnik</string>
<string name="map_source_osm_cyclemap">OSM: Cyclemap</string>
- <string name="map_source_osm_offline">OSM: Offline</string>
+ <string name="map_source_osm_offline">Offline</string>
<string name="init_sendToCgeo">Verstuur naar c:geo</string>
<string name="init_sendToCgeo_name">Jouw apparaatnaam:</string>
diff --git a/main/res/values-pl/strings.xml b/main/res/values-pl/strings.xml
index f4f3b46..f112b5b 100644
--- a/main/res/values-pl/strings.xml
+++ b/main/res/values-pl/strings.xml
@@ -462,7 +462,7 @@
<string name="map_source_google_satellite">Google: Satelita</string>
<string name="map_source_osm_mapnik">OSM: Mapnik</string>
<string name="map_source_osm_cyclemap">OSM: Cyclemap</string>
- <string name="map_source_osm_offline">OSM: Offline</string>
+ <string name="map_source_osm_offline">Offline</string>
<string name="init_sendToCgeo">Wyślij do c:geo</string>
<string name="init_sendToCgeo_name">Nazwa urządzenia:</string>
diff --git a/main/res/values-pt/strings.xml b/main/res/values-pt/strings.xml
index f00a835..e35cc5b 100644
--- a/main/res/values-pt/strings.xml
+++ b/main/res/values-pt/strings.xml
@@ -434,7 +434,7 @@
<string name="map_source_google_satellite">Google: Satélite</string>
<string name="map_source_osm_mapnik">OSM: Mapnik</string>
<string name="map_source_osm_cyclemap">OSM: Cyclemap</string>
- <string name="map_source_osm_offline">OSM: Offline</string>
+ <string name="map_source_osm_offline">Offline</string>
<string name="init_sendToCgeo">Enviar para o c:geo</string>
<string name="init_sendToCgeo_name">Nome do seu dispositivo:</string>
diff --git a/main/res/values-sk/strings.xml b/main/res/values-sk/strings.xml
index 1e71350..3fa2b0e 100644
--- a/main/res/values-sk/strings.xml
+++ b/main/res/values-sk/strings.xml
@@ -434,7 +434,7 @@
<string name="map_source_google_satellite">Google: Satelit</string>
<string name="map_source_osm_mapnik">OSM: Mapnik</string>
<string name="map_source_osm_cyclemap">OSM: Cyklomapa</string>
- <string name="map_source_osm_offline">OSM: Offline</string>
+ <string name="map_source_osm_offline">Offline</string>
<string name="init_sendToCgeo">Poslať do c:geo</string>
<string name="init_sendToCgeo_name">Názov vášho zariadenia:</string>
diff --git a/main/res/values-sv/strings.xml b/main/res/values-sv/strings.xml
index 6644ce6..1b5f099 100644
--- a/main/res/values-sv/strings.xml
+++ b/main/res/values-sv/strings.xml
@@ -469,7 +469,7 @@
<string name="map_source_google_satellite">Google: Satellit</string>
<string name="map_source_osm_mapnik">OSM: Mapnik</string>
<string name="map_source_osm_cyclemap">OSM: Cyclemap</string>
- <string name="map_source_osm_offline">OSM: Offline</string>
+ <string name="map_source_osm_offline">Offline</string>
<string name="init_sendToCgeo">Skicka till c:geo (Send2cgeo)</string>
<string name="init_sendToCgeo_name">Namnet på din enhet:</string>
diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml
index 69f9ca3..7f57474 100644
--- a/main/res/values/strings.xml
+++ b/main/res/values/strings.xml
@@ -471,7 +471,7 @@
<string name="map_source_google_satellite">Google: Satellite</string>
<string name="map_source_osm_mapnik">OSM: Mapnik</string>
<string name="map_source_osm_cyclemap">OSM: Cyclemap</string>
- <string name="map_source_osm_offline">OSM: Offline</string>
+ <string name="map_source_osm_offline">Offline</string>
<string name="init_sendToCgeo">Send to c:geo</string>
<string name="init_sendToCgeo_name">Your device name:</string>
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java
index 9b57f0d..ac9d4b9 100644
--- a/main/src/cgeo/geocaching/CacheDetailActivity.java
+++ b/main/src/cgeo/geocaching/CacheDetailActivity.java
@@ -2019,7 +2019,14 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
return;
}
if (StringUtils.isNotBlank(descriptionString)) {
- descriptionView.setText(description, TextView.BufferType.SPANNABLE);
+ try {
+ descriptionView.setText(description, TextView.BufferType.SPANNABLE);
+ } catch (Exception e) {
+ // On 4.1, there is sometimes a crash on measuring the layout: https://code.google.com/p/android/issues/detail?id=35412
+ Log.e("Android bug setting text: ", e);
+ // remove the formatting by converting to a simple string
+ descriptionView.setText(description.toString());
+ }
descriptionView.setMovementMethod(AnchorAwareLinkMovementMethod.getInstance());
fixTextColor(descriptionView, descriptionString);
descriptionView.setVisibility(View.VISIBLE);
@@ -2054,7 +2061,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
/**
* Handle caches with black font color in dark skin and white font color in light skin
* by changing background color of the view
- *
+ *
* @param view
* containing the text
* @param text
@@ -2156,7 +2163,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
final LogEntry log = getItem(position);
if (log.date > 0) {
- holder.date.setText(Formatter.formatShortDate(log.date));
+ holder.date.setText(Formatter.formatShortDateVerbally(log.date));
holder.date.setVisibility(View.VISIBLE);
} else {
holder.date.setVisibility(View.GONE);
diff --git a/main/src/cgeo/geocaching/TrackableActivity.java b/main/src/cgeo/geocaching/TrackableActivity.java
index 29ba5ac..001ef2f 100644
--- a/main/src/cgeo/geocaching/TrackableActivity.java
+++ b/main/src/cgeo/geocaching/TrackableActivity.java
@@ -430,7 +430,7 @@ public class TrackableActivity extends AbstractViewPagerActivity<TrackableActivi
protected void fillViewHolder(LogViewHolder holder, final LogEntry log) {
if (log.date > 0) {
- holder.added.setText(Formatter.formatShortDate(log.date));
+ holder.added.setText(Formatter.formatShortDateVerbally(log.date));
}
holder.type.setText(log.type.getL10n());
diff --git a/main/src/cgeo/geocaching/connector/oc/OCApiLiveConnector.java b/main/src/cgeo/geocaching/connector/oc/OCApiLiveConnector.java
index 929e3b8..d349dc2 100644
--- a/main/src/cgeo/geocaching/connector/oc/OCApiLiveConnector.java
+++ b/main/src/cgeo/geocaching/connector/oc/OCApiLiveConnector.java
@@ -2,6 +2,7 @@ package cgeo.geocaching.connector.oc;
import cgeo.geocaching.Geocache;
import cgeo.geocaching.SearchResult;
+import cgeo.geocaching.Settings;
import cgeo.geocaching.cgData;
import cgeo.geocaching.cgeoapplication;
import cgeo.geocaching.connector.ILoggingManager;
@@ -11,6 +12,8 @@ import cgeo.geocaching.geopoint.Geopoint;
import cgeo.geocaching.geopoint.Viewport;
import cgeo.geocaching.utils.CryptUtils;
+import org.apache.commons.lang3.StringUtils;
+
import android.app.Activity;
public class OCApiLiveConnector extends OCApiConnector implements ISearchByCenter, ISearchByViewPort {
@@ -36,7 +39,11 @@ public class OCApiLiveConnector extends OCApiConnector implements ISearchByCente
@Override
public OAuthLevel getSupportedAuthLevel() {
- return OAuthLevel.Level3;
+ // TODO the tokens must be available connector specific
+ if (StringUtils.isNotBlank(Settings.getOCDETokenPublic()) && StringUtils.isNotBlank(Settings.getOCDETokenSecret())) {
+ return OAuthLevel.Level3;
+ }
+ return OAuthLevel.Level1;
}
@Override
diff --git a/main/src/cgeo/geocaching/connector/oc/OkapiClient.java b/main/src/cgeo/geocaching/connector/oc/OkapiClient.java
index bf35574..7b000dc 100644
--- a/main/src/cgeo/geocaching/connector/oc/OkapiClient.java
+++ b/main/src/cgeo/geocaching/connector/oc/OkapiClient.java
@@ -99,9 +99,7 @@ final public class OkapiClient {
private static final String USER_USERNAME = "username";
- private static final String SERVICE_CACHE = "/okapi/services/caches/geocache";
-
- // the several realms of possible field s for cache retrieval:
+ // the several realms of possible fields for cache retrieval:
// Core: for livemap requests (L3 - only with level 3 auth)
// Additional: additional fields for full cache (L3 - only for level 3 auth, current - only for connectors with current api)
private static final String SERVICE_CACHE_CORE_FIELDS = "code|name|location|type|status|difficulty|terrain|size";
@@ -110,16 +108,10 @@ final public class OkapiClient {
private static final String SERVICE_CACHE_ADDITIONAL_CURRENT_FIELDS = "gc_code|attribution_note";
private static final String SERVICE_CACHE_ADDITIONAL_L3_FIELDS = "is_watched";
- private static final String SERVICE_SEARCH_AND_RETRIEVE = "/okapi/services/caches/shortcuts/search_and_retrieve";
-
private static final String METHOD_SEARCH_NEAREST = "services/caches/search/nearest";
private static final String METHOD_SEARCH_BBOX = "services/caches/search/bbox";
private static final String METHOD_RETRIEVE_CACHES = "services/caches/geocaches";
- private static final String SERVICE_MARK_CACHE = "/okapi/services/caches/mark";
-
- private static final String SERVICE_SUBMIT_LOG = "/okapi/services/logs/submit";
-
public static Geocache getCache(final String geoCode) {
final Parameters params = new Parameters("cache_code", geoCode);
IConnector connector = ConnectorFactory.getConnector(geoCode);
@@ -132,7 +124,7 @@ final public class OkapiClient {
params.add("fields", getFullFields(ocapiConn));
params.add("attribution_append", "none");
- final JSONObject data = request(ocapiConn, SERVICE_CACHE, params);
+ final JSONObject data = request(ocapiConn, OkapiService.SERVICE_CACHE, params);
if (data == null) {
return null;
@@ -160,7 +152,7 @@ final public class OkapiClient {
addRetrieveParams(params, connector);
- final JSONObject data = request(connector, SERVICE_SEARCH_AND_RETRIEVE, params);
+ final JSONObject data = request(connector, OkapiService.SERVICE_SEARCH_AND_RETRIEVE, params);
if (data == null) {
return Collections.emptyList();
@@ -184,6 +176,7 @@ final public class OkapiClient {
final Map<String, String> valueMap = new LinkedHashMap<String, String>();
valueMap.put("bbox", bboxString);
+ // FIXME Why is this testing level 3? The to be used service is level 1 only.
if (connector.getSupportedAuthLevel() != OAuthLevel.Level3) {
Log.e("Calling OkapiClient.getCachesBBox with wrong connector");
return Collections.emptyList();
@@ -195,7 +188,7 @@ final public class OkapiClient {
addRetrieveParams(params, connector);
- final JSONObject data = request(connector, SERVICE_SEARCH_AND_RETRIEVE, params);
+ final JSONObject data = request(connector, OkapiService.SERVICE_SEARCH_AND_RETRIEVE, params);
if (data == null) {
return Collections.emptyList();
@@ -208,7 +201,7 @@ final public class OkapiClient {
final Parameters params = new Parameters("cache_code", cache.getGeocode());
params.add("watched", watched ? "true" : "false");
- final JSONObject data = request(connector, SERVICE_MARK_CACHE, params);
+ final JSONObject data = request(connector, OkapiService.SERVICE_MARK_CACHE, params);
if (data == null) {
return false;
@@ -229,7 +222,7 @@ final public class OkapiClient {
params.add("needs_maintenance", "true");
}
- final JSONObject data = request(connector, SERVICE_SUBMIT_LOG, params);
+ final JSONObject data = request(connector, OkapiService.SERVICE_SUBMIT_LOG, params);
if (data == null) {
return new LogResult(StatusCode.LOG_POST_ERROR, "");
@@ -613,7 +606,7 @@ final public class OkapiClient {
return res.toString();
}
- private static JSONObject request(final OCApiConnector connector, final String service, final Parameters params) {
+ private static JSONObject request(final OCApiConnector connector, final OkapiService service, final Parameters params) {
if (connector == null) {
return null;
}
@@ -625,13 +618,13 @@ final public class OkapiClient {
params.add("langpref", getPreferredLanguage());
- if (connector.getSupportedAuthLevel() == OAuthLevel.Level3) {
- OAuth.signOAuth(host, service, "GET", false, params, Settings.getOCDETokenPublic(), Settings.getOCDETokenSecret(), connector.getCK(), connector.getCS());
+ if (service.level == OAuthLevel.Level3 && connector.getSupportedAuthLevel() == OAuthLevel.Level3) {
+ OAuth.signOAuth(host, service.methodName, "GET", false, params, Settings.getOCDETokenPublic(), Settings.getOCDETokenSecret(), connector.getCK(), connector.getCS());
} else {
connector.addAuthentication(params);
}
- final String uri = "http://" + host + service;
+ final String uri = "http://" + host + service.methodName;
return Network.requestJSON(uri, params);
}
diff --git a/main/src/cgeo/geocaching/connector/oc/OkapiService.java b/main/src/cgeo/geocaching/connector/oc/OkapiService.java
new file mode 100644
index 0000000..9b47596
--- /dev/null
+++ b/main/src/cgeo/geocaching/connector/oc/OkapiService.java
@@ -0,0 +1,20 @@
+package cgeo.geocaching.connector.oc;
+
+import cgeo.geocaching.connector.oc.OCApiConnector.OAuthLevel;
+
+
+enum OkapiService {
+ SERVICE_CACHE("/okapi/services/caches/geocache", OAuthLevel.Level1),
+ SERVICE_SEARCH_AND_RETRIEVE("/okapi/services/caches/shortcuts/search_and_retrieve", OAuthLevel.Level1),
+ SERVICE_MARK_CACHE("/okapi/services/caches/mark", OAuthLevel.Level3),
+ SERVICE_SUBMIT_LOG("/okapi/services/logs/submit", OAuthLevel.Level3);
+
+ final String methodName;
+ final OAuthLevel level;
+
+ OkapiService(final String methodName, final OAuthLevel level) {
+ this.methodName = methodName;
+ this.level = level;
+ }
+
+}
diff --git a/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapProvider.java b/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapProvider.java
index dc0dbf8..7cc697d 100644
--- a/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapProvider.java
+++ b/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapProvider.java
@@ -167,7 +167,7 @@ public final class MapsforgeMapProvider extends AbstractMapProvider {
final List<String> offlineMaps = getOfflineMaps();
for (String mapFile : offlineMaps) {
final String mapName = StringUtils.capitalize(StringUtils.substringBeforeLast(new File(mapFile).getName(), "."));
- registerMapSource(new OfflineMapSource(mapFile, this, resources.getString(R.string.map_source_osm_offline) + " - " + mapName, MapGeneratorInternal.DATABASE_RENDERER));
+ registerMapSource(new OfflineMapSource(mapFile, this, mapName + " (" + resources.getString(R.string.map_source_osm_offline) + ")", MapGeneratorInternal.DATABASE_RENDERER));
}
// have a default entry, if no map files are available. otherwise we cannot select "offline" in the settings
if (offlineMaps.isEmpty()) {