aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/res/values-cs/strings.xml1
-rw-r--r--main/res/values-da/strings.xml1
-rw-r--r--main/res/values-de/strings.xml4
-rw-r--r--main/res/values-es/strings.xml1
-rw-r--r--main/res/values-fr/strings.xml1
-rw-r--r--main/res/values-hu/strings.xml1
-rw-r--r--main/res/values-it/strings.xml1
-rw-r--r--main/res/values-ja/strings.xml1
-rw-r--r--main/res/values-nb/strings.xml1
-rw-r--r--main/res/values-nl/strings.xml1
-rw-r--r--main/res/values-pl/strings.xml1
-rw-r--r--main/res/values-pt/strings.xml1
-rw-r--r--main/res/values-sk/strings.xml1
-rw-r--r--main/res/values-sv/strings.xml1
-rw-r--r--main/res/values/strings.xml3
-rw-r--r--main/src/cgeo/geocaching/CacheDetailActivity.java33
-rw-r--r--main/src/cgeo/geocaching/cgBase.java25
17 files changed, 49 insertions, 29 deletions
diff --git a/main/res/values-cs/strings.xml b/main/res/values-cs/strings.xml
index a7426f9..ba08272 100644
--- a/main/res/values-cs/strings.xml
+++ b/main/res/values-cs/strings.xml
@@ -331,7 +331,6 @@
<string name="cache_event">datum</string>
<string name="cache_location">místo</string>
<string name="cache_coordinates">souřadnice</string>
- <string name="cache_calendars">vyberte kalendář</string>
<string name="cache_spoiler_images_title">Spoiler images</string>
<string name="cache_spoiler_images_loading">Loading spoiler images…</string>
diff --git a/main/res/values-da/strings.xml b/main/res/values-da/strings.xml
index a995a50..59726c5 100644
--- a/main/res/values-da/strings.xml
+++ b/main/res/values-da/strings.xml
@@ -233,7 +233,6 @@
<string name="cache_event">Dato</string>
<string name="cache_location">Lokation</string>
<string name="cache_coordinates">Koordinater</string>
- <string name="cache_calendars">Vælg kalender</string>
<!-- event -->
<string name="event_success">Eventcache tilføjet til kalender</string>
diff --git a/main/res/values-de/strings.xml b/main/res/values-de/strings.xml
index 9c49956..15e880d 100644
--- a/main/res/values-de/strings.xml
+++ b/main/res/values-de/strings.xml
@@ -552,7 +552,6 @@
<string name="cache_location">Bundesland</string>
<string name="cache_coordinates">Koordinaten</string>
<string name="cache_coordinates_original">Ursprüngliche Koordinaten</string>
- <string name="cache_calendars">Kalender auswählen</string>
<string name="cache_spoiler_images_title">Hinweisbilder</string>
<string name="cache_spoiler_images_loading">Lade Hinweisbilder…</string>
<string name="cache_log_types">Logs</string>
@@ -726,6 +725,9 @@
<!-- helpers -->
<string name="helper_manual_title">Anleitung</string>
<string name="helper_manual_description">Umfangreiche Anleitung für c:geo mit Beschreibung aller Möglichkeiten dieser App (auch versteckte).</string>
+ <string name="helper_calendar_title">c:geo Kalendar Add-on</string>
+ <string name="helper_calendar_missing">c:geo Kalendar Add-on nicht installiert</string>
+ <string name="helper_calendar_description">Ermöglicht die Übernahme von Event Caches in den Kalendar.</string>
<string name="helper_locus_title">Locus</string>
<string name="helper_locus_description">Sehr gute App für Online- und Offline-Karten (nur Rasterkarten) mit vielen weiteren Funktionen wie z.B. Trackaufzeichnung, POIs und vieles mehr.</string>
<string name="helper_gpsstatus_title">GPS Status</string>
diff --git a/main/res/values-es/strings.xml b/main/res/values-es/strings.xml
index 76fdd93..980c3c0 100644
--- a/main/res/values-es/strings.xml
+++ b/main/res/values-es/strings.xml
@@ -497,7 +497,6 @@
<string name="cache_event">Fecha</string>
<string name="cache_location">Ubicación</string>
<string name="cache_coordinates">Coordenadas</string>
- <string name="cache_calendars">Elegir calendario</string>
<string name="cache_spoiler_images_title">Imágenes reveladoras</string>
<string name="cache_spoiler_images_loading">Cargando imágenes reveladoras…</string>
<string name="cache_log_types">Tipos de registro</string>
diff --git a/main/res/values-fr/strings.xml b/main/res/values-fr/strings.xml
index ea6a6d1..2df3026 100644
--- a/main/res/values-fr/strings.xml
+++ b/main/res/values-fr/strings.xml
@@ -542,7 +542,6 @@
<string name="cache_location">Lieu</string>
<string name="cache_coordinates">Coordonnées</string>
<string name="cache_coordinates_original">Coordonnées d\'origine</string>
- <string name="cache_calendars">Choisir un agenda</string>
<string name="cache_spoiler_images_title">Images indices</string>
<string name="cache_spoiler_images_loading">Chargement des images indices…</string>
<string name="cache_log_types">Types de visites</string>
diff --git a/main/res/values-hu/strings.xml b/main/res/values-hu/strings.xml
index 5676c17..1d3077d 100644
--- a/main/res/values-hu/strings.xml
+++ b/main/res/values-hu/strings.xml
@@ -512,7 +512,6 @@
<string name="cache_event">Dátum</string>
<string name="cache_location">Helyszín</string>
<string name="cache_coordinates">Koordináták</string>
- <string name="cache_calendars">Naptár kiválasztása</string>
<string name="cache_spoiler_images_title">Spoiler képek</string>
<string name="cache_spoiler_images_loading">Spoiler képek betöltése…</string>
<string name="cache_log_types">Bejegyzés típusok</string>
diff --git a/main/res/values-it/strings.xml b/main/res/values-it/strings.xml
index 02e4fc0..8836b89 100644
--- a/main/res/values-it/strings.xml
+++ b/main/res/values-it/strings.xml
@@ -551,7 +551,6 @@
<string name="cache_location">Luogo</string>
<string name="cache_coordinates">Coordinate</string>
<string name="cache_coordinates_original">Coordinate originali</string>
- <string name="cache_calendars">Scegli calendario</string>
<string name="cache_spoiler_images_title">Immagini spoiler</string>
<string name="cache_spoiler_images_loading">Caricamento immagini spoiler…</string>
<string name="cache_log_types">Tipi di Log</string>
diff --git a/main/res/values-ja/strings.xml b/main/res/values-ja/strings.xml
index abea8ca..39b4a42 100644
--- a/main/res/values-ja/strings.xml
+++ b/main/res/values-ja/strings.xml
@@ -404,7 +404,6 @@
<string name="cache_event">日時</string>
<string name="cache_location">場所</string>
<string name="cache_coordinates">座標</string>
- <string name="cache_calendars">カレンダーを選択</string>
<string name="cache_spoiler_images_title">スポイラー画像</string>
<string name="cache_spoiler_images_loading">スポイラー画像をロード中…</string>
<string name="cache_log_types">ログタイプ</string>
diff --git a/main/res/values-nb/strings.xml b/main/res/values-nb/strings.xml
index 5063cdc..3e2c6c2 100644
--- a/main/res/values-nb/strings.xml
+++ b/main/res/values-nb/strings.xml
@@ -318,7 +318,6 @@
<string name="cache_event">Dato</string>
<string name="cache_location">Lokasjon</string>
<string name="cache_coordinates">Koordinater</string>
- <string name="cache_calendars">Velg kalender</string>
<!-- gpx -->
<string name="gpx_import_caches_imported">Cacher importert</string>
diff --git a/main/res/values-nl/strings.xml b/main/res/values-nl/strings.xml
index 7366cce..8bfcc1b 100644
--- a/main/res/values-nl/strings.xml
+++ b/main/res/values-nl/strings.xml
@@ -533,7 +533,6 @@
<string name="cache_event">Datum</string>
<string name="cache_location">Locatie</string>
<string name="cache_coordinates">Coördinaten</string>
- <string name="cache_calendars">Selecteer kalender</string>
<string name="cache_spoiler_images_title">Spoiler afbeeldingen</string>
<string name="cache_spoiler_images_loading">Spoiler afbeeldingen laden…</string>
<string name="cache_log_types">Log types</string>
diff --git a/main/res/values-pl/strings.xml b/main/res/values-pl/strings.xml
index 0f86f50..a587d5c 100644
--- a/main/res/values-pl/strings.xml
+++ b/main/res/values-pl/strings.xml
@@ -494,7 +494,6 @@
<string name="cache_event">Data</string>
<string name="cache_location">Lokacja</string>
<string name="cache_coordinates">Współrzędne</string>
- <string name="cache_calendars">Wybierz kalendarz</string>
<string name="cache_spoiler_images_title">Zdjęcie spoiler</string>
<string name="cache_spoiler_images_loading">Ładuje zdjęcia spoiler…</string>
<string name="cache_log_types">Rodzaj logu</string>
diff --git a/main/res/values-pt/strings.xml b/main/res/values-pt/strings.xml
index cab5104..fa073c9 100644
--- a/main/res/values-pt/strings.xml
+++ b/main/res/values-pt/strings.xml
@@ -490,7 +490,6 @@
<string name="cache_event">Data</string>
<string name="cache_location">Localização</string>
<string name="cache_coordinates">Coordenadas</string>
- <string name="cache_calendars">Selecionar calendário</string>
<string name="cache_spoiler_images_title">Imagens spoiler</string>
<string name="cache_spoiler_images_loading">A carregar imagens spoiler…</string>
<string name="cache_log_types">Tipos de log</string>
diff --git a/main/res/values-sk/strings.xml b/main/res/values-sk/strings.xml
index 5ab3f99..4d7b42c 100644
--- a/main/res/values-sk/strings.xml
+++ b/main/res/values-sk/strings.xml
@@ -544,7 +544,6 @@
<string name="cache_location">Miesto</string>
<string name="cache_coordinates">Súradnice</string>
<string name="cache_coordinates_original">Pôvodné súradnice</string>
- <string name="cache_calendars">vyberte kalendár</string>
<string name="cache_spoiler_images_title">Spoilerové obrázky</string>
<string name="cache_spoiler_images_loading">Načítanie spoilerových obrázkov…</string>
<string name="cache_log_types">Typy záznamov</string>
diff --git a/main/res/values-sv/strings.xml b/main/res/values-sv/strings.xml
index ca49e92..6cb9204 100644
--- a/main/res/values-sv/strings.xml
+++ b/main/res/values-sv/strings.xml
@@ -558,7 +558,6 @@
<string name="cache_location">Plats</string>
<string name="cache_coordinates">Koordinater</string>
<string name="cache_coordinates_original">Ursprungliga koordinater</string>
- <string name="cache_calendars">Välj kalender</string>
<string name="cache_spoiler_images_title">Spoiler bilder</string>
<string name="cache_spoiler_images_loading">Laddar spoiler bilder…</string>
<string name="cache_log_types">Loggtyper</string>
diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml
index 03f74e9..562e460 100644
--- a/main/res/values/strings.xml
+++ b/main/res/values/strings.xml
@@ -566,7 +566,6 @@
<string name="cache_location">Location</string>
<string name="cache_coordinates">Coordinates</string>
<string name="cache_coordinates_original">Original Coordinates</string>
- <string name="cache_calendars">Select calendar</string>
<string name="cache_spoiler_images_title">Spoiler images</string>
<string name="cache_spoiler_images_loading">Loading spoiler images…</string>
<string name="cache_log_types">Log types</string>
@@ -747,6 +746,7 @@
<string name="helper_manual_title">Manual</string>
<string name="helper_manual_description">Comprehensive manual for c:geo that contains description of all possibilities of this application (even hidden ones).</string>
<string name="helper_calendar_title">c:geo calendar add-on</string>
+ <string name="helper_calendar_missing">c:geo calendar add-on not installed</string>
<string name="helper_calendar_description">Enables you to export event caches into the calendar on your device.</string>
<string name="helper_locus_title">Locus</string>
<string name="helper_locus_description">Simple usable application showing Online maps and allowing to download them directly into Offline mode (raster maps only). Also support track recording, POI handling and many other useful functions.</string>
@@ -975,6 +975,7 @@
<!-- changelog -->
<string name="changelog">\n
<b>next release</b>\n
+ · new: calendar add-on. c:geo doesn\'t require anymore calendar permission.
· fix: deletion of outdated caches did not work
· fix: changed internal caching causing a better overall performance
· new: login status at start screen
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java
index 8cea884..9a7b60c 100644
--- a/main/src/cgeo/geocaching/CacheDetailActivity.java
+++ b/main/src/cgeo/geocaching/CacheDetailActivity.java
@@ -723,20 +723,25 @@ public class CacheDetailActivity extends AbstractActivity {
}
private void addToCalendarWithIntent() {
- // this method is NOT unused :)
- final Parameters params = new Parameters(
- ICalendar.PARAM_NAME, cache.getName(),
- ICalendar.PARAM_NOTE, StringUtils.defaultString(cache.getPersonalNote()),
- ICalendar.PARAM_HIDDEN_DATE, String.valueOf(cache.getHiddenDate().getTime()),
- ICalendar.PARAM_URL, StringUtils.defaultString(cache.getUrl()),
- ICalendar.PARAM_COORDS, cache.getCoords() == null ? "" : cache.getCoords().format(GeopointFormatter.Format.LAT_LON_DECMINUTE_RAW),
- ICalendar.PARAM_LOCATION, StringUtils.defaultString(cache.getLocation()),
- ICalendar.PARAM_SHORT_DESC, StringUtils.defaultString(cache.getShortDescription())
- );
-
- // TODO: Check if addon is installed, if not, tell the user how to get it.
- startActivity(new Intent(ICalendar.INTENT,
- Uri.parse(ICalendar.URI_SCHEME + "://" + ICalendar.URI_HOST + "?" + params.toString())));
+
+ final boolean calendarAddOnAvailable = cgBase.isIntentAvailable(this, ICalendar.INTENT);
+
+ if (calendarAddOnAvailable) {
+ final Parameters params = new Parameters(
+ ICalendar.PARAM_NAME, cache.getName(),
+ ICalendar.PARAM_NOTE, StringUtils.defaultString(cache.getPersonalNote()),
+ ICalendar.PARAM_HIDDEN_DATE, String.valueOf(cache.getHiddenDate().getTime()),
+ ICalendar.PARAM_URL, StringUtils.defaultString(cache.getUrl()),
+ ICalendar.PARAM_COORDS, cache.getCoords() == null ? "" : cache.getCoords().format(GeopointFormatter.Format.LAT_LON_DECMINUTE_RAW),
+ ICalendar.PARAM_LOCATION, StringUtils.defaultString(cache.getLocation()),
+ ICalendar.PARAM_SHORT_DESC, StringUtils.defaultString(cache.getShortDescription())
+ );
+
+ startActivity(new Intent(ICalendar.INTENT,
+ Uri.parse(ICalendar.URI_SCHEME + "://" + ICalendar.URI_HOST + "?" + params.toString())));
+ } else {
+ showToast(res.getString(R.string.helper_calendar_missing));
+ }
}
/**
diff --git a/main/src/cgeo/geocaching/cgBase.java b/main/src/cgeo/geocaching/cgBase.java
index 9cb9e22..c833317 100644
--- a/main/src/cgeo/geocaching/cgBase.java
+++ b/main/src/cgeo/geocaching/cgBase.java
@@ -61,6 +61,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
import android.content.res.Resources;
import android.graphics.drawable.BitmapDrawable;
import android.net.Uri;
@@ -3116,5 +3117,29 @@ public class cgBase {
cgBase.actualStatus = actualStatus;
}
+ /**
+ * Indicates whether the specified action can be used as an intent. This
+ * method queries the package manager for installed packages that can
+ * respond to an intent with the specified action. If no suitable package is
+ * found, this method returns false.
+ *
+ * From: http://android-developers.blogspot.com/2009/01/can-i-use-this-intent.html
+ *
+ * @param context
+ * The application's environment.
+ * @param action
+ * The Intent action to check for availability.
+ *
+ * @return True if an Intent with the specified action can be sent and
+ * responded to, false otherwise.
+ */
+ public static boolean isIntentAvailable(Context context, String action) {
+ final PackageManager packageManager = context.getPackageManager();
+ final Intent intent = new Intent(action);
+ List<ResolveInfo> list = packageManager.queryIntentActivities(intent,
+ PackageManager.MATCH_DEFAULT_ONLY);
+ return list.size() > 0;
+ }
+
}