diff options
22 files changed, 211 insertions, 109 deletions
diff --git a/main/res/values-cs/strings.xml b/main/res/values-cs/strings.xml index 829fe99..d4fef77 100644 --- a/main/res/values-cs/strings.xml +++ b/main/res/values-cs/strings.xml @@ -215,8 +215,9 @@ <string name="caches_more_caches_currently">aktuálně</string> <string name="caches_downloading">Stahuji keše…\nETA:</string> <string name="caches_eta_ltm">méně než minutu</string> - <string name="caches_eta_mins">minuty</string> - <string name="caches_eta_min">minuta</string> + <plurals name="caches_eta_mins"> + <item quantity="other">minuty</item> + </plurals> <string name="caches_store_offline">Uložit pro offline</string> <string name="caches_store_selected">Uložit vybrané</string> <string name="caches_history">Historie</string> @@ -411,9 +412,11 @@ <string name="auth_dialog_completed">c:geo nyní může posílat zprávy na Váš Twitter.</string> <!-- cache --> - <string name="cache_count_no">Žádná keš</string> - <string name="cache_count_one">Jedna keš</string> - <string name="cache_count_more">keší</string> + <plurals name="cache_counts"> + <item quantity="zero">Žádná keš</item> + <item quantity="one">Jedna keš</item> + <item quantity="other">keší</item> + </plurals> <string name="cache_offline">Offline</string> <string name="cache_offline_refresh">Obnovit</string> <string name="cache_offline_drop">Smazat</string> diff --git a/main/res/values-da/strings.xml b/main/res/values-da/strings.xml index a8a23e4..aeb7618 100644 --- a/main/res/values-da/strings.xml +++ b/main/res/values-da/strings.xml @@ -120,7 +120,9 @@ <string name="caches_more_caches_no">Ikke flere cacher</string> <string name="caches_downloading">Henter cacher…\nETA: </string> <string name="caches_eta_ltm">Under et minut</string> - <string name="caches_eta_mins"> minutter</string> + <plurals name="caches_eta_mins"> + <item quantity="other">minutter</item> + </plurals> <string name="caches_store_offline">Gem Offline</string> <string name="caches_on_map">Vis på kort</string> @@ -166,9 +168,11 @@ <string name="auth_dialog_completed">c:geo er nu godkendt til at poste beskeder på Twitter.</string> <!-- cache --> - <string name="cache_count_no">Ingen cache</string> - <string name="cache_count_one">En cache</string> - <string name="cache_count_more">Cacher</string> + <plurals name="cache_counts"> + <item quantity="zero">Ingen cache</item> + <item quantity="one">En cache</item> + <item quantity="other">Cacher</item> + </plurals> <string name="cache_offline">Offline</string> <string name="cache_offline_refresh">Genindlæs</string> <string name="cache_offline_drop">Fjern</string> diff --git a/main/res/values-de/strings.xml b/main/res/values-de/strings.xml index dc7426d..2ef1e44 100644 --- a/main/res/values-de/strings.xml +++ b/main/res/values-de/strings.xml @@ -266,8 +266,11 @@ <string name="caches_more_caches_currently">aktuell</string> <string name="caches_downloading">Lade Caches…\nGeschätzte Zeit: </string> <string name="caches_eta_ltm">Weniger als eine Minute</string> - <string name="caches_eta_mins"> Minuten</string> - <string name="caches_eta_min"> Minute</string> + <plurals name="caches_eta_mins"> + <item quantity="zero">Minuten</item> + <item quantity="one">Minute</item> + <item quantity="other">Minuten</item> + </plurals> <string name="caches_store_offline">Für Offline speichern</string> <string name="caches_store_selected">Ausgewählte speichern</string> <string name="caches_history">Verlauf</string> @@ -482,9 +485,11 @@ <string name="auth_dialog_completed">c:geo ist nun autorisiert, Tweets bei Twitter zu erstellen.</string> <!-- cache --> - <string name="cache_count_no">Kein Cache</string> - <string name="cache_count_one">Ein Cache</string> - <string name="cache_count_more">Caches</string> + <plurals name="cache_counts"> + <item quantity="zero">Kein Cache</item> + <item quantity="one">Ein Cache</item> + <item quantity="other">Caches</item> + </plurals> <string name="cache_offline">Offline</string> <string name="cache_offline_refresh">Aktualisieren</string> <string name="cache_offline_drop">Löschen</string> diff --git a/main/res/values-es/strings.xml b/main/res/values-es/strings.xml index 11332bf..73345b1 100644 --- a/main/res/values-es/strings.xml +++ b/main/res/values-es/strings.xml @@ -239,8 +239,10 @@ <string name="caches_more_caches_loading">Cargando escondites…</string> <string name="caches_downloading">Descargando escondites…\nFaltan: </string> <string name="caches_eta_ltm">Menos de un minuto</string> - <string name="caches_eta_mins"> minutos</string> - <string name="caches_eta_min"> minuto</string> + <plurals name="caches_eta_mins"> + <item quantity="one">minuto</item> + <item quantity="other">minutos</item> + </plurals> <string name="caches_store_offline">Usar sin conexión luego</string> <string name="caches_store_selected">Almacenamiento seleccionado</string> <string name="caches_history">Historial</string> @@ -403,9 +405,11 @@ <string name="auth_dialog_completed">c:geo ahora está autorizado para publicar en Twitter.</string> <!-- cache --> - <string name="cache_count_no">Sin escondites</string> - <string name="cache_count_one">Un escondite</string> - <string name="cache_count_more">Escondites</string> + <plurals name="cache_counts"> + <item quantity="zero">Sin escondites</item> + <item quantity="one">Un escondite</item> + <item quantity="other">Escondites</item> + </plurals> <string name="cache_offline">Desconectado</string> <string name="cache_offline_refresh">Actualizar</string> <string name="cache_offline_drop">Tirar</string> diff --git a/main/res/values-fr/strings.xml b/main/res/values-fr/strings.xml index f7d96b1..a94cdae 100644 --- a/main/res/values-fr/strings.xml +++ b/main/res/values-fr/strings.xml @@ -266,8 +266,10 @@ <string name="caches_more_caches_currently">actuellement</string> <string name="caches_downloading">Téléchargement des caches…\nRestant: </string> <string name="caches_eta_ltm">Moins d\'une minute</string> - <string name="caches_eta_mins"> minutes</string> - <string name="caches_eta_min"> minute</string> + <plurals name="caches_eta_mins"> + <item quantity="one">minute</item> + <item quantity="other">minutes</item> + </plurals> <string name="caches_store_offline">Stocker localement</string> <string name="caches_store_selected">Stocker la sélection</string> <string name="caches_history">Historique</string> @@ -472,9 +474,11 @@ <string name="auth_dialog_completed">c:geo est maintenant autorisé à poster sur Twitter.</string> <!-- cache --> - <string name="cache_count_no">aucune cache</string> - <string name="cache_count_one">une cache</string> - <string name="cache_count_more">caches</string> + <plurals name="cache_counts"> + <item quantity="zero">aucune cache</item> + <item quantity="one">une cache</item> + <item quantity="other">caches</item> + </plurals> <string name="cache_offline">Hors ligne</string> <string name="cache_offline_refresh">Recharger</string> <string name="cache_offline_drop">Effacer</string> diff --git a/main/res/values-hu/strings.xml b/main/res/values-hu/strings.xml index 36f2d38..01da25f 100644 --- a/main/res/values-hu/strings.xml +++ b/main/res/values-hu/strings.xml @@ -242,8 +242,9 @@ <string name="caches_more_caches_loading">Ládák betöltése…</string> <string name="caches_downloading">Ládák letöltése…\nETA: </string> <string name="caches_eta_ltm">Kevesebb mint egy perc</string> - <string name="caches_eta_mins"> perc</string> - <string name="caches_eta_min"> perc</string> + <plurals name="caches_eta_mins"> + <item quantity="other">perc</item> + </plurals> <string name="caches_store_offline">Offlineba mentés</string> <string name="caches_store_selected">Kijelöltek mentése</string> <string name="caches_history">Előzmények</string> @@ -414,10 +415,11 @@ <string name="auth_dialog_completed">A c:geo engedélyt kapott, hogy bejegyzéseket küldjön a Twitterre.</string> <!-- cache --> - <string name="cache_count_no">Nincs megtalálás</string> - <string name="cache_count_one">Megtalálás</string> - <string name="cache_count_more">Megtalálások -</string> + <plurals name="cache_counts"> + <item quantity="zero">Nincs megtalálás</item> + <item quantity="one">Megtalálás</item> + <item quantity="other">Megtalálások</item> + </plurals> <string name="cache_offline">Offline</string> <string name="cache_offline_refresh">Frissítés</string> <string name="cache_offline_drop">Törlés</string> diff --git a/main/res/values-it/strings.xml b/main/res/values-it/strings.xml index 5be30f1..46fa830 100644 --- a/main/res/values-it/strings.xml +++ b/main/res/values-it/strings.xml @@ -266,8 +266,10 @@ <string name="caches_more_caches_currently">attualmente</string> <string name="caches_downloading">Download cache in corso…\nETA: </string> <string name="caches_eta_ltm">Meno di un minuto</string> - <string name="caches_eta_mins"> minuti</string> - <string name="caches_eta_min"> minuto</string> + <plurals name="caches_eta_mins"> + <item quantity="one">minuto</item> + <item quantity="other">minuti</item> + </plurals> <string name="caches_store_offline">Salva per Offline</string> <string name="caches_store_selected">Salva selezionati</string> <string name="caches_history">Cronologia</string> @@ -467,9 +469,11 @@ <string name="auth_dialog_completed">c:geo è ora autorizzato ad inviare a Twitter.</string> <!-- cache --> - <string name="cache_count_no">Nessun cache</string> - <string name="cache_count_one">Un cache</string> - <string name="cache_count_more">Cache</string> + <plurals name="cache_counts"> + <item quantity="zero">Nessun cache</item> + <item quantity="one">Un cache</item> + <item quantity="other">Cache</item> + </plurals> <string name="cache_offline">Offline</string> <string name="cache_offline_refresh">Aggiorna</string> <string name="cache_offline_drop">Elimina</string> diff --git a/main/res/values-ja/strings.xml b/main/res/values-ja/strings.xml index 3e3b78c..f344350 100644 --- a/main/res/values-ja/strings.xml +++ b/main/res/values-ja/strings.xml @@ -267,8 +267,10 @@ <string name="caches_more_caches_currently">現在</string> <string name="caches_downloading">キャッシュ情報をダウンロード中…\n残り時間: </string> <string name="caches_eta_ltm">1分以内</string> - <string name="caches_eta_mins"> 分</string> - <string name="caches_eta_min"> 分</string> + <plurals name="caches_eta_mins"> + <item quantity="one">分</item> + <item quantity="other">分</item> + </plurals> <string name="caches_store_offline">オフライン用に保存</string> <string name="caches_store_selected">選択したキャッシュを保存</string> <string name="caches_history">履歴</string> @@ -493,9 +495,11 @@ <string name="auth_dialog_completed">c:geoはTwitterにポストするための認証を受けました。</string> <!-- cache --> - <string name="cache_count_no">キャッシュがありません</string> - <string name="cache_count_one">1つのキャッシュ</string> - <string name="cache_count_more">個のキャッシュ</string> + <plurals name="cache_counts"> + <item quantity="zero">キャッシュがありません</item> + <item quantity="one">1つのキャッシュ</item> + <item quantity="other">個のキャッシュ</item> + </plurals> <string name="cache_offline">オフライン</string> <string name="cache_offline_refresh">更新</string> <string name="cache_offline_drop">削除</string> diff --git a/main/res/values-nb/strings.xml b/main/res/values-nb/strings.xml index 3eaf71c..d2bddae 100644 --- a/main/res/values-nb/strings.xml +++ b/main/res/values-nb/strings.xml @@ -180,8 +180,10 @@ <string name="caches_more_caches_no">ingen flere cacher</string> <string name="caches_downloading">Laster ned cacher…\nETA: </string> <string name="caches_eta_ltm">Mindre enn ett minutt</string> - <string name="caches_eta_mins"> minutter</string> - <string name="caches_eta_min"> minutt</string> + <plurals name="caches_eta_mins"> + <item quantity="one">minutt</item> + <item quantity="other">minutter</item> + </plurals> <string name="caches_store_offline">Lagre for offline-bruk</string> <string name="caches_store_selected">Lagre valgte</string> <string name="caches_on_map">Vis på kartet</string> @@ -247,9 +249,11 @@ <string name="auth_dialog_completed">c:geo kan nå poste på Twitter.</string> <!-- cache --> - <string name="cache_count_no">Ingen cacher</string> - <string name="cache_count_one">Én cache</string> - <string name="cache_count_more">Cacher</string> + <plurals name="cache_counts"> + <item quantity="zero">Ingen cacher</item> + <item quantity="one">Én cache</item> + <item quantity="other">Cacher</item> + </plurals> <string name="cache_offline">Offline</string> <string name="cache_offline_refresh">Oppdater</string> <string name="cache_offline_drop">Slett</string> diff --git a/main/res/values-nl/strings.xml b/main/res/values-nl/strings.xml index d2839d9..ef2a551 100644 --- a/main/res/values-nl/strings.xml +++ b/main/res/values-nl/strings.xml @@ -260,8 +260,10 @@ <string name="caches_more_caches_currently">op dit moment</string> <string name="caches_downloading">Caches aan het downloaden…\nETE: </string> <string name="caches_eta_ltm">Minder dan een minuut</string> - <string name="caches_eta_mins"> minuten</string> - <string name="caches_eta_min"> minuut</string> + <plurals name="caches_eta_mins"> + <item quantity="one">minuut</item> + <item quantity="other">minuten</item> + </plurals> <string name="caches_store_offline">Opslaan voor Offline gebruik</string> <string name="caches_store_selected">Geselecteerden opslaan</string> <string name="caches_history">Geschiedenis</string> @@ -452,9 +454,11 @@ <string name="auth_dialog_completed">c:geo Is nu geautoriseerd om naar Twitter te posten.</string> <!-- cache --> - <string name="cache_count_no">Geen cache</string> - <string name="cache_count_one">Een cache</string> - <string name="cache_count_more">Caches</string> + <plurals name="cache_counts"> + <item quantity="zero">Geen cache</item> + <item quantity="one">Een cache</item> + <item quantity="other">Caches</item> + </plurals> <string name="cache_offline">Offline</string> <string name="cache_offline_refresh">Verversen</string> <string name="cache_offline_drop">Laten vervallen</string> diff --git a/main/res/values-pl/strings.xml b/main/res/values-pl/strings.xml index 4ed6137..95c78f1 100644 --- a/main/res/values-pl/strings.xml +++ b/main/res/values-pl/strings.xml @@ -236,8 +236,10 @@ <string name="caches_more_caches_loading">Ładuję skrzynki…</string> <string name="caches_downloading">Ładuję skrzynki…\nSzacowany czas: </string> <string name="caches_eta_ltm">Mniej niż minutę</string> - <string name="caches_eta_mins"> minut</string> - <string name="caches_eta_min"> minuta</string> + <plurals name="caches_eta_mins"> + <item quantity="one">minuta</item> + <item quantity="other">minut</item> + </plurals> <string name="caches_store_offline">Zapisz offline</string> <string name="caches_store_selected">Zapisz wybrane</string> <string name="caches_history">Historia</string> @@ -399,9 +401,11 @@ <string name="auth_dialog_completed">c:geo jest teraz upoważniony do postu na Twitter.</string> <!-- cache --> - <string name="cache_count_no">Nie ma skrzynek</string> - <string name="cache_count_one">Jedna skrzynka</string> - <string name="cache_count_more">Skrzynki</string> + <plurals name="cache_counts"> + <item quantity="zero">Nie ma skrzynek</item> + <item quantity="one">Jedna skrzynka</item> + <item quantity="other">Skrzynki</item> + </plurals> <string name="cache_offline">Offline</string> <string name="cache_offline_refresh">Odśwież</string> <string name="cache_offline_drop">Skasuj</string> diff --git a/main/res/values-pt/strings.xml b/main/res/values-pt/strings.xml index 4e21784..92f4731 100644 --- a/main/res/values-pt/strings.xml +++ b/main/res/values-pt/strings.xml @@ -255,8 +255,10 @@ <string name="caches_more_caches_currently">actualmente</string> <string name="caches_downloading">Downloading caches…\nETE: </string> <string name="caches_eta_ltm">Menos de um minuto</string> - <string name="caches_eta_mins"> minutos</string> - <string name="caches_eta_min"> minuto</string> + <plurals name="caches_eta_mins"> + <item quantity="one">minuto</item> + <item quantity="other">minutos</item> + </plurals> <string name="caches_store_offline">Arquivar para uso offline</string> <string name="caches_store_selected">Arquivar selecionadas</string> <string name="caches_history">Histórico</string> @@ -445,9 +447,11 @@ <string name="auth_dialog_completed">O c:geo está agora autorizado a publicar no Twitter.</string> <!-- cache --> - <string name="cache_count_no">Nenhuma cache</string> - <string name="cache_count_one">Uma cache</string> - <string name="cache_count_more">Caches</string> + <plurals name="cache_counts"> + <item quantity="zero">Nenhuma cache</item> + <item quantity="one">Uma cache</item> + <item quantity="other">Caches</item> + </plurals> <string name="cache_offline">Arquivo</string> <string name="cache_offline_refresh">Actualizar</string> <string name="cache_offline_drop">Apagar</string> diff --git a/main/res/values-sk/strings.xml b/main/res/values-sk/strings.xml index d728538..019c695 100644 --- a/main/res/values-sk/strings.xml +++ b/main/res/values-sk/strings.xml @@ -267,8 +267,10 @@ <string name="caches_more_caches_currently">momentálne</string> <string name="caches_downloading">Sťahovanie skrýš…\nOdhad:</string> <string name="caches_eta_ltm">menej než minúta</string> - <string name="caches_eta_mins"> minúty</string> - <string name="caches_eta_min"> minúta</string> + <plurals name="caches_eta_mins"> + <item quantity="one">minúta</item> + <item quantity="other">minúty</item> + </plurals> <string name="caches_store_offline">Uložiť offline</string> <string name="caches_store_selected">Uložiť vybraté</string> <string name="caches_history">História</string> @@ -481,9 +483,11 @@ <string name="auth_dialog_completed">c:geo teraz môže posielať správy na váš Twitter.</string> <!-- cache --> - <string name="cache_count_no">žiadna skrýša</string> - <string name="cache_count_one">jedna skrýša</string> - <string name="cache_count_more">skrýš</string> + <plurals name="cache_counts"> + <item quantity="zero">žiadna skrýša</item> + <item quantity="one">jedna skrýša</item> + <item quantity="other">skrýš</item> + </plurals> <string name="cache_offline">Offline</string> <string name="cache_offline_refresh">Obnoviť</string> <string name="cache_offline_drop">Zmazať</string> diff --git a/main/res/values-sv/strings.xml b/main/res/values-sv/strings.xml index 1e4315e..919fa25 100644 --- a/main/res/values-sv/strings.xml +++ b/main/res/values-sv/strings.xml @@ -266,8 +266,10 @@ <string name="caches_more_caches_currently">nu</string> <string name="caches_downloading">Laddar ner cacher…\nTid kvar: </string> <string name="caches_eta_ltm">mindre än en minut</string> - <string name="caches_eta_mins"> minuter</string> - <string name="caches_eta_min"> minut</string> + <plurals name="caches_eta_mins"> + <item quantity="one">minut</item> + <item quantity="other">minuter</item> + </plurals> <string name="caches_store_offline">Spara för Offline</string> <string name="caches_store_selected">Spara valda</string> <string name="caches_history">Senast hittade cacher</string> @@ -485,9 +487,11 @@ <string name="auth_dialog_completed">c:geo är nu godkänd att posta på Twitter.</string> <!-- cache --> - <string name="cache_count_no">Ingen cache</string> - <string name="cache_count_one">En cache</string> - <string name="cache_count_more">cacher</string> + <plurals name="cache_counts"> + <item quantity="zero">Ingen cache</item> + <item quantity="one">En cache</item> + <item quantity="other">cacher</item> + </plurals> <string name="cache_offline">Offline</string> <string name="cache_offline_refresh">Uppdatera</string> <string name="cache_offline_drop">Radera</string> diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml index c6ad756..385ad46 100644 --- a/main/res/values/strings.xml +++ b/main/res/values/strings.xml @@ -267,8 +267,10 @@ <string name="caches_more_caches_currently">currently</string> <string name="caches_downloading">Downloading caches…\nETA: </string> <string name="caches_eta_ltm">Less than a minute</string> - <string name="caches_eta_mins"> minutes</string> - <string name="caches_eta_min"> minute</string> + <plurals name="caches_eta_mins"> + <item quantity="one">minute</item> + <item quantity="other">minutes</item> + </plurals> <string name="caches_store_offline">Store for Offline</string> <string name="caches_store_selected">Store Selected</string> <string name="caches_history">History</string> @@ -493,9 +495,11 @@ <string name="auth_dialog_completed">c:geo is now authorized to post on Twitter.</string> <!-- cache --> - <string name="cache_count_no">No cache</string> - <string name="cache_count_one">One cache</string> - <string name="cache_count_more">Caches</string> + <plurals name="cache_counts"> + <item quantity="zero">No cache</item> + <item quantity="one">One cache</item> + <item quantity="other">Caches</item> + </plurals> <string name="cache_offline">Offline</string> <string name="cache_offline_refresh">Refresh</string> <string name="cache_offline_drop">Drop</string> @@ -1086,6 +1090,9 @@ · Improvement for GPX export operations\n · Readability improvement for cache description with dark text when using black theme\n · Store for offline on live map now always available for basic members\n + · Live map now stays live after display rotation\n + · Open in browser improved to allow setting a default browser without losing the option to open coord.info URLs with c:geo\n + · Improve offline stability\n \n <a href="https://github.com/cgeo/c-geo-opensource/issues?milestone=8&state=closed">Detailed list of all changes</a>\n \n diff --git a/main/src/cgeo/geocaching/AdressListActivity.java b/main/src/cgeo/geocaching/AdressListActivity.java index a67f4a2..8ce16dd 100644 --- a/main/src/cgeo/geocaching/AdressListActivity.java +++ b/main/src/cgeo/geocaching/AdressListActivity.java @@ -5,6 +5,7 @@ import cgeo.geocaching.ui.AddressListAdapter; import cgeo.geocaching.utils.Log; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import android.app.ProgressDialog; import android.location.Address; @@ -49,7 +50,13 @@ public class AdressListActivity extends AbstractListActivity { try { return geocoder.getFromLocationName(keyword, 20); } catch (Exception e) { - Log.e("AdressListActivity.doInBackground", e); + // non Google devices come without the geocoder + if (StringUtils.containsIgnoreCase(e.getMessage(), "Service not Available")) { + Log.i("No geocoder available"); + } + else { + Log.e("AdressListActivity.doInBackground", e); + } return null; } } @@ -62,8 +69,8 @@ public class AdressListActivity extends AbstractListActivity { adapter.add(address); // don't use addAll, it's only available with API >= 11 } } else { - showToast(res.getString(R.string.err_search_address_no_match)); finish(); + cgeocaches.startActivityAddress(AdressListActivity.this, null, keyword); } } diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java index e8c6aec..b7abb94 100644 --- a/main/src/cgeo/geocaching/CacheDetailActivity.java +++ b/main/src/cgeo/geocaching/CacheDetailActivity.java @@ -2175,12 +2175,8 @@ public class CacheDetailActivity extends AbstractActivity { holder.count.setVisibility(View.VISIBLE); if (log.found == -1) { holder.count.setVisibility(View.GONE); - } else if (log.found == 0) { - holder.count.setText(res.getString(R.string.cache_count_no)); - } else if (log.found == 1) { - holder.count.setText(res.getString(R.string.cache_count_one)); - } else { - holder.count.setText(log.found + " " + res.getString(R.string.cache_count_more)); + } else { + holder.count.setText(res.getQuantityText(R.plurals.cache_counts,log.found)); } // logtext, avoid parsing HTML if not necessary diff --git a/main/src/cgeo/geocaching/StaticMapsProvider.java b/main/src/cgeo/geocaching/StaticMapsProvider.java index 89d8bcb..371b432 100644 --- a/main/src/cgeo/geocaching/StaticMapsProvider.java +++ b/main/src/cgeo/geocaching/StaticMapsProvider.java @@ -31,8 +31,8 @@ public class StaticMapsProvider { private static final String WAYPOINT_PREFIX = "wp"; private static final String MAP_FILENAME_PREFIX = "map_"; private static final String MARKERS_URL = "http://cgeo.carnero.cc/_markers/"; - /** In my tests the "no image available" image had 5470 bytes, while "street only" maps had at least 20000 bytes */ - private static final int MIN_MAP_IMAGE_BYTES = 6000; + /** We assume there is no real usable image with less than 1k */ + private static final int MIN_MAP_IMAGE_BYTES = 1000; /** ThreadPool restricting this to 1 Thread. **/ private static final BlockingThreadPool pool = new BlockingThreadPool(1, Thread.MIN_PRIORITY); @@ -232,7 +232,7 @@ public class StaticMapsProvider { /** * Check if at least one map file exists for the given cache. - * + * * @param cache * @return <code>true</code> if at least one mapfile exists; <code>false</code> otherwise */ diff --git a/main/src/cgeo/geocaching/cgeocaches.java b/main/src/cgeo/geocaching/cgeocaches.java index e4f1926..4e12f07 100644 --- a/main/src/cgeo/geocaching/cgeocaches.java +++ b/main/src/cgeo/geocaching/cgeocaches.java @@ -271,7 +271,9 @@ public class cgeocaches extends AbstractListActivity { private void replaceCacheListFromSearch() { cacheList.clear(); - cacheList.addAll(search.getCachesFromSearchResult(LoadFlags.LOAD_CACHE_OR_DB)); + if (search!=null) { + cacheList.addAll(search.getCachesFromSearchResult(LoadFlags.LOAD_CACHE_OR_DB)); + } } protected void updateTitle() { @@ -309,10 +311,8 @@ public class cgeocaches extends AbstractListActivity { progress.setProgress(detailProgress); if (minutesRemaining < 1) { progress.setMessage(res.getString(R.string.caches_downloading) + " " + res.getString(R.string.caches_eta_ltm)); - } else if (minutesRemaining == 1) { - progress.setMessage(res.getString(R.string.caches_downloading) + " " + minutesRemaining + " " + res.getString(R.string.caches_eta_min)); - } else { - progress.setMessage(res.getString(R.string.caches_downloading) + " " + minutesRemaining + " " + res.getString(R.string.caches_eta_mins)); + } else { + progress.setMessage(res.getString(R.string.caches_downloading) + " " + minutesRemaining + " " + res.getQuantityString(R.plurals.caches_eta_mins,minutesRemaining)); } } else if (msg.what == MSG_CANCEL) { if (threadDetails != null) { @@ -534,8 +534,14 @@ public class cgeocaches extends AbstractListActivity { showProgress(true); showFooterLoadingCaches(); - thread = new LoadByCoordsThread(coords); + if (coords != null) { + thread = new LoadByCoordsThread(coords); + } + else { + thread = new LoadByAddressThread(address); + } thread.setRecaptchaHandler(new SearchHandler(this, res, thread)); + thread.start(); break; case USERNAME: title = username; @@ -1160,10 +1166,8 @@ public class cgeocaches extends AbstractListActivity { String message; if (etaTime < 1) { message = res.getString(R.string.caches_downloading) + " " + res.getString(R.string.caches_eta_ltm); - } else if (etaTime == 1) { - message = res.getString(R.string.caches_downloading) + " " + etaTime + " " + res.getString(R.string.caches_eta_min); } else { - message = res.getString(R.string.caches_downloading) + " " + etaTime + " " + res.getString(R.string.caches_eta_mins); + message = res.getString(R.string.caches_downloading) + " " + etaTime + " " + res.getQuantityString(R.plurals.caches_eta_mins,etaTime); } progress.show(this, null, message, ProgressDialog.STYLE_HORIZONTAL, loadDetailsHandler.obtainMessage(MSG_CANCEL)); @@ -1355,6 +1359,21 @@ public class cgeocaches extends AbstractListActivity { } } + private class LoadByAddressThread extends AbstractSearchThread { + final private String address; + + public LoadByAddressThread(final String address) { + super(loadCachesHandler); + this.address = address; + } + + @Override + public void runSearch() { + search = GCParser.searchByAddress(address, Settings.getCacheType(), Settings.isShowCaptcha()); + replaceCacheListFromSearch(); + } + } + private class LoadDetailsThread extends Thread { final private Handler handler; diff --git a/main/src/cgeo/geocaching/cgeotrackable.java b/main/src/cgeo/geocaching/cgeotrackable.java index 6eb7710..543b89c 100644 --- a/main/src/cgeo/geocaching/cgeotrackable.java +++ b/main/src/cgeo/geocaching/cgeotrackable.java @@ -410,13 +410,6 @@ public class cgeotrackable extends AbstractActivity { geocode = geocodeIn; guid = guidIn; id = idIn; - - if (geocode == null && guid == null && id == null) { - showToast(res.getString(R.string.err_tb_forgot)); - - stop(); - finish(); - } } @Override diff --git a/main/src/cgeo/geocaching/connector/gc/GCParser.java b/main/src/cgeo/geocaching/connector/gc/GCParser.java index 2ca505d..0c00f8f 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCParser.java +++ b/main/src/cgeo/geocaching/connector/gc/GCParser.java @@ -862,6 +862,34 @@ public abstract class GCParser { return searchByAny(cacheType, false, showCaptcha, params); } + public static SearchResult searchByAddress(final String address, final CacheType cacheType, final boolean showCaptcha) { + if (StringUtils.isBlank(address)) { + Log.e("GCParser.searchByAddress: No address given"); + return null; + } + try { + JSONObject response = Network.requestJSON("http://www.geocaching.com/api/geocode", new Parameters("q", address)); + if (response == null) { + return null; + } + if (!StringUtils.equalsIgnoreCase(response.getString("status"), "success")) { + return null; + } + if (!response.has("data")) { + return null; + } + JSONObject data = response.getJSONObject("data"); + if (data == null) { + return null; + } + return searchByCoords(new Geopoint(data.getDouble("lat"), data.getDouble("lng")), cacheType, showCaptcha); + } catch (JSONException e) { + Log.w("GCParser.searchByAddress", e); + } + + return null; + } + public static cgTrackable searchTrackable(final String geocode, final String guid, final String id) { if (StringUtils.isBlank(geocode) && StringUtils.isBlank(guid) && StringUtils.isBlank(id)) { Log.w("GCParser.searchTrackable: No geocode nor guid nor id given"); diff --git a/main/src/cgeo/geocaching/maps/CGeoMap.java b/main/src/cgeo/geocaching/maps/CGeoMap.java index fa02138..fb366c8 100644 --- a/main/src/cgeo/geocaching/maps/CGeoMap.java +++ b/main/src/cgeo/geocaching/maps/CGeoMap.java @@ -280,10 +280,9 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto waitDialog.setProgress(detailProgress); if (secondsRemaining < 40) { waitDialog.setMessage(res.getString(R.string.caches_downloading) + " " + res.getString(R.string.caches_eta_ltm)); - } else if (secondsRemaining < 90) { - waitDialog.setMessage(res.getString(R.string.caches_downloading) + " " + (secondsRemaining / 60) + " " + res.getString(R.string.caches_eta_min)); } else { - waitDialog.setMessage(res.getString(R.string.caches_downloading) + " " + (secondsRemaining / 60) + " " + res.getString(R.string.caches_eta_mins)); + int minsRemaining = secondsRemaining / 60; + waitDialog.setMessage(res.getString(R.string.caches_downloading) + " " + minsRemaining + " " + res.getQuantityString(R.plurals.caches_eta_mins,minsRemaining)); } } } else if (msg.what == FINISHED_LOADING_DETAILS) { @@ -675,12 +674,11 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto }); float etaTime = detailTotal * 7.0f / 60.0f; + int roundedEta = Math.round(etaTime); if (etaTime < 0.4) { waitDialog.setMessage(res.getString(R.string.caches_downloading) + " " + res.getString(R.string.caches_eta_ltm)); - } else if (etaTime < 1.5) { - waitDialog.setMessage(res.getString(R.string.caches_downloading) + " " + Math.round(etaTime) + " " + res.getString(R.string.caches_eta_min)); - } else { - waitDialog.setMessage(res.getString(R.string.caches_downloading) + " " + Math.round(etaTime) + " " + res.getString(R.string.caches_eta_mins)); + } else { + waitDialog.setMessage(res.getString(R.string.caches_downloading) + " " + roundedEta + " " + res.getQuantityString(R.plurals.caches_eta_mins, roundedEta)); } waitDialog.show(); |
