aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/build.xml6
-rw-r--r--main/libs/rxjava-android-0.17.5.jar (renamed from main/libs/rxjava-android-0.17.1-cgeo.jar)bin36413 -> 36559 bytes
-rw-r--r--main/libs/rxjava-async-util-0.17.5.jar (renamed from main/libs/rxjava-async-util-0.17.1-cgeo.jar)bin48346 -> 47317 bytes
-rw-r--r--main/libs/rxjava-core-0.17.1-cgeo.jarbin716623 -> 0 bytes
-rw-r--r--main/libs/rxjava-core-0.17.5.jarbin0 -> 746598 bytes
-rw-r--r--main/project/rawimages/c-geo_contacts_play_icon.pngbin0 -> 78492 bytes
-rw-r--r--main/res/values-lt/strings.xml426
-rw-r--r--main/src/cgeo/geocaching/AbstractPopupActivity.java7
-rw-r--r--main/src/cgeo/geocaching/CacheDetailActivity.java119
-rw-r--r--main/src/cgeo/geocaching/DataStore.java7
-rw-r--r--main/src/cgeo/geocaching/MainActivity.java10
-rw-r--r--main/src/cgeo/geocaching/PocketQueryList.java7
-rw-r--r--main/src/cgeo/geocaching/StatusFragment.java4
-rw-r--r--main/src/cgeo/geocaching/TrackableActivity.java16
-rw-r--r--main/src/cgeo/geocaching/activity/AbstractActivity.java11
-rw-r--r--main/src/cgeo/geocaching/compatibility/AndroidLevel8.java41
-rw-r--r--main/src/cgeo/geocaching/compatibility/AndroidLevel8Emulation.java38
-rw-r--r--main/src/cgeo/geocaching/compatibility/AndroidLevel8Interface.java11
-rw-r--r--main/src/cgeo/geocaching/compatibility/Compatibility.java68
-rw-r--r--main/src/cgeo/geocaching/connector/gc/RecaptchaHandler.java72
-rw-r--r--main/src/cgeo/geocaching/network/HtmlImage.java10
-rw-r--r--main/src/cgeo/geocaching/search/AutoCompleteAdapter.java4
-rw-r--r--main/src/cgeo/geocaching/sensors/DirectionProvider.java28
-rw-r--r--main/src/cgeo/geocaching/sensors/GeoDirHandler.java2
-rw-r--r--main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java16
-rw-r--r--main/src/cgeo/geocaching/settings/CheckGcCredentialsPreference.java6
-rw-r--r--main/src/cgeo/geocaching/settings/RegisterSend2CgeoPreference.java48
-rw-r--r--main/src/cgeo/geocaching/settings/Settings.java2
-rw-r--r--main/src/cgeo/geocaching/settings/SettingsActivity.java5
-rw-r--r--main/src/cgeo/geocaching/ui/CompassView.java11
-rw-r--r--main/src/cgeo/geocaching/ui/ImagesList.java15
-rw-r--r--main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java18
-rw-r--r--main/src/cgeo/geocaching/utils/EditUtils.java6
-rw-r--r--main/src/cgeo/geocaching/utils/ImageUtils.java3
-rw-r--r--main/src/cgeo/geocaching/utils/RxUtils.java51
-rw-r--r--main/templates/keys.xml14
-rw-r--r--main/templates/private.properties21
-rw-r--r--tests/AndroidManifest.xml2
-rw-r--r--tests/src/cgeo/geocaching/sensors/SensorsTest.java (renamed from tests/src/cgeo/geocaching/compatibility/CompatibilityTest.java)17
39 files changed, 539 insertions, 583 deletions
diff --git a/main/build.xml b/main/build.xml
index 257aaf3..a888e9b 100644
--- a/main/build.xml
+++ b/main/build.xml
@@ -112,6 +112,12 @@
<filter token="ocde.okapi.consumer.secret" value="${ocde.okapi.consumer.secret}"/>
<filter token="ocpl.okapi.consumer.key" value="${ocpl.okapi.consumer.key}"/>
<filter token="ocpl.okapi.consumer.secret" value="${ocpl.okapi.consumer.secret}"/>
+ <filter token="ocus.okapi.consumer.key" value="${ocus.okapi.consumer.key}"/>
+ <filter token="ocus.okapi.consumer.secret" value="${ocus.okapi.consumer.secret}"/>
+ <filter token="ocnl.okapi.consumer.key" value="${ocnl.okapi.consumer.key}"/>
+ <filter token="ocnl.okapi.consumer.secret" value="${ocnl.okapi.consumer.secret}"/>
+ <filter token="ocro.okapi.consumer.key" value="${ocro.okapi.consumer.key}"/>
+ <filter token="ocro.okapi.consumer.secret" value="${ocro.okapi.consumer.secret}"/>
</filterset>
</copy>
</target>
diff --git a/main/libs/rxjava-android-0.17.1-cgeo.jar b/main/libs/rxjava-android-0.17.5.jar
index 1120cb5..42b7f16 100644
--- a/main/libs/rxjava-android-0.17.1-cgeo.jar
+++ b/main/libs/rxjava-android-0.17.5.jar
Binary files differ
diff --git a/main/libs/rxjava-async-util-0.17.1-cgeo.jar b/main/libs/rxjava-async-util-0.17.5.jar
index 644daab..bc71622 100644
--- a/main/libs/rxjava-async-util-0.17.1-cgeo.jar
+++ b/main/libs/rxjava-async-util-0.17.5.jar
Binary files differ
diff --git a/main/libs/rxjava-core-0.17.1-cgeo.jar b/main/libs/rxjava-core-0.17.1-cgeo.jar
deleted file mode 100644
index 75692f2..0000000
--- a/main/libs/rxjava-core-0.17.1-cgeo.jar
+++ /dev/null
Binary files differ
diff --git a/main/libs/rxjava-core-0.17.5.jar b/main/libs/rxjava-core-0.17.5.jar
new file mode 100644
index 0000000..5a54704
--- /dev/null
+++ b/main/libs/rxjava-core-0.17.5.jar
Binary files differ
diff --git a/main/project/rawimages/c-geo_contacts_play_icon.png b/main/project/rawimages/c-geo_contacts_play_icon.png
new file mode 100644
index 0000000..f2d66c0
--- /dev/null
+++ b/main/project/rawimages/c-geo_contacts_play_icon.png
Binary files differ
diff --git a/main/res/values-lt/strings.xml b/main/res/values-lt/strings.xml
index 6ed7092..ad7a506 100644
--- a/main/res/values-lt/strings.xml
+++ b/main/res/values-lt/strings.xml
@@ -43,7 +43,7 @@
<string name="wp_final">Galutinė vieta</string>
<string name="wp_stage">Multi-slėptuvės etapas</string>
<string name="wp_puzzle">Klausimas atsakymui</string>
- <string name="wp_pkg">Automobilių sustojimo vieta</string>
+ <string name="wp_pkg">Automobilių stovėjimo vieta</string>
<string name="wp_trailhead">Tako pradžia</string>
<string name="wp_waypoint">Rekomenduojamas taškas</string>
<string name="wp_original">Originaliosios koordinatės</string>
@@ -57,7 +57,7 @@
<string name="log_attended">Dalyvavo</string>
<string name="log_retrieved">Paimtas</string>
<string name="log_placed">Paliktas</string>
- <string name="log_grabbed">Pagrobtas kažkur</string>
+ <string name="log_grabbed">Paimtas kažkur</string>
<string name="log_movecollection">Perkelti į kolekciją</string>
<string name="log_moveinventory">Perkelti į inventorių</string>
<string name="log_maintained">Remontas atliktas</string>
@@ -118,7 +118,7 @@
<string name="log_image_camera">Naują</string>
<string name="log_image_caption">Antraštė</string>
<string name="log_image_description">Aprašymas</string>
- <string name="log_image_scale">Dydis</string>
+ <string name="log_image_scale">Dydžio keitimas</string>
<string name="log_password_title">Įrašo slaptažodis:</string>
<string name="log_hint_log_password">Įveskite savo įrašo slaptažodį</string>
<string name="log_oc_team_comment">OC komandos komentaras</string>
@@ -140,27 +140,27 @@
<string name="err_unvalidated_account">Jums pirmiausia reikia patvirtinti savo vartotojo paskyrą Geocaching.com svetainėje.</string>
<string name="err_unpublished">Ši slėptuvė dar nepublikuota.</string>
<string name="err_premium_only">Ši slėptuvė prieinama tik Geocaching.com Premium nariams.</string>
- <string name="err_detail_open">c:geo negali atidaryti geoslėptuvės informacijos.</string>
+ <string name="err_detail_open">c:geo negali atidaryti slėptuvės informacijos.</string>
<string name="err_detail_cache">c:geo negali parodyti šios slėptuvės. Ar tai tikrai slėptuvė?</string>
- <string name="err_detail_cache_find">c:geo neranda geoslėptuvės</string>
- <string name="err_detail_cache_find_some">c:geo neranda šios geoslėptuvės.</string>
- <string name="err_detail_cache_find_any">c:geo neranda geoslėptuvių.</string>
+ <string name="err_detail_cache_find">c:geo neranda slėptuvės</string>
+ <string name="err_detail_cache_find_some">c:geo neranda šios slėptuvės.</string>
+ <string name="err_detail_cache_find_any">c:geo neranda slėptuvių.</string>
<string name="err_detail_google_maps_limit_reached">c:geo nepavyko atsisiųsti statinių žemėlapių. Galbūt pasiekėte Google Maps API limitą.</string>
<string name="err_detail_no_spoiler">c:geo nerado paslėptų nuotraukų šiai slėptuvei.</string>
<string name="err_detail_no_map_static">c:geo nerado žemėlapio šiai slėptuvei.</string>
- <string name="err_detail_not_load_map_static">c:geo nepavyko įkelti statinio žemėlapio.</string>
+ <string name="err_detail_not_load_map_static">c:geo nepavyko įkelti statinių žemėlapių.</string>
<string name="err_detail_still_working">Vis dar dirba su kita užduotimi.</string>
<string name="err_watchlist_still_managing">Dar tvarkomas stebimų slėptuvių sąrašas.</string>
<string name="err_watchlist_failed">Nepavyko pakeisti stebimų slėptuvių sąrašo.</string>
<string name="err_application_no">c:geo neranda tinkamos programos.</string>
<string name="err_auth_initialize">c:geo nepavyko inicijuoti registracijos proceso.</string>
<string name="err_auth_process">Registracija nesėkminga.</string>
- <string name="err_cannot_log_visit">c:neo negali registruoti jūsų apsilankymo. Prašome registruoti jūsų apsilankymą iš pagrindinio informacijos puslapio.</string>
+ <string name="err_cannot_log_visit">c:neo negali registruoti jūsų apsilankymo. Prašome registruoti jūsų apsilankymą iš pagrindinio slėptuvės informacijos puslapio.</string>
<string name="err_download_fail">c:geo nepavyko atsisiųsti slėptuvių.</string>
<string name="err_dwld_details_failed">c:geo nepavyko atsisiųsti slėptuvės informacijos.</string>
<string name="err_load_descr_failed">c:geo negali įkelti aprašymo.</string>
<string name="err_location_unknown">c:geo nežino slėptuvės vietos.</string>
- <string name="err_missing_device_name">Įveskite prietaiso pavadinimą prieš registruojantis.</string>
+ <string name="err_missing_device_name">Prieš registruodamiesi įveskite prietaiso pavadinimą.</string>
<string name="err_favorite_failed">Nepavyko pakeisti favorito statuso.</string>
<string name="err_select_logimage_failed">Nepavyko pasirinkti nuotraukos slėptuvės įrašui.</string>
<string name="err_acquire_image_failed">Nepavyko priskirti nuotraukos.</string>
@@ -173,16 +173,16 @@
<string name="err_waypoint_add_failed">c:geo nepavyko pridėti papildomo taško.</string>
<string name="err_point_unknown_position">c:geo neranda Jūsų buvimo vietos.</string>
<string name="err_point_no_position_given_title">Reikalinga informacija</string>
- <string name="err_point_no_position_given">Užpildykite platumą ir ilgumą arba atstumą ir azimutą. Taip pat galite užpildyt visus keturis laukelius.</string>
- <string name="err_point_curr_position_unavailable">c:geo dar negavo koordinačių. Prašome palaukti…</string>
+ <string name="err_point_no_position_given">Užpildykite bent platumą ir ilgumą arba atstumą ir azimutą. Taip pat galite užpildyt visus keturis laukelius.</string>
+ <string name="err_point_curr_position_unavailable">c:geo dar negavo vietos koordinačių. Prašome palaukti…</string>
<string name="err_point_bear_and_dist_title">Reikalinga pagalba?</string>
<string name="err_point_bear_and_dist">Užpildykite azimutą ir atstumą. Azimutas tai nuo 0 iki 360 laipsnių kampas nuo šiaurės. Atstumas nereikalauja matavimo vienetų.</string>
- <string name="err_log_load_data">c:geo negali įkelti duomenų reikalingų įrašyti apsilankymą.</string>
- <string name="err_log_load_data_again">c:geo negali įkelti duomenų reikalingų įrašyti apsilankymą. Pabandykite dar kartą.</string>
- <string name="err_log_load_data_still">c:geo dar įkelia duomenis reikalingus įrašyti apsilankymui. Prašome palaukti šiek tiek ilgiau.</string>
- <string name="err_log_post_failed">Atrodo, kad jūsų įrašas nebuvo paskelbtas. Prašome patikrinti tai Geocaching.com.</string>
- <string name="err_log_post_failed_ec">Atrodo, kad jūsų įrašas nebuvo paskelbtas. Prašome patikrinti tai Extremcaching.com.</string>
- <string name="err_logimage_post_failed">Atrodo, kad jūsų įrašo nuotrauka nebuvo įkelta. Prašome patikrinti tai Geocaching.com.</string>
+ <string name="err_log_load_data">c:geo negali įkelti duomenų reikalingų apsilankymui įrašyti.</string>
+ <string name="err_log_load_data_again">c:geo negali įkelti duomenų reikalingų apsilankymui įrašyti. Pabandykite dar kartą.</string>
+ <string name="err_log_load_data_still">c:geo dar įkelia duomenis reikalingus apsilankymui įrašyti. Prašome palaukti šiek tiek ilgiau.</string>
+ <string name="err_log_post_failed">Atrodo, kad jūsų įrašas nebuvo paskelbtas. Prašome tai patikrinti Geocaching.com.</string>
+ <string name="err_log_post_failed_ec">Atrodo, kad jūsų įrašas nebuvo paskelbtas. Prašome tai patikrinti Extremcaching.com.</string>
+ <string name="err_logimage_post_failed">Atrodo, kad jūsų įrašo nuotrauka nebuvo įkelta. Prašome tai patikrinti Geocaching.com.</string>
<string name="err_search_address_forgot">c:geo pamiršo adresą kurio bandėte ieškoti.</string>
<string name="err_parse_lat">c:geo nesupranta įvestos platumos.</string>
<string name="err_parse_lon">c:geo nesupranta įvestos ilgumos.</string>
@@ -195,13 +195,13 @@
<string name="warn_no_username">Neduotas vartotojo vardas.</string>
<string name="warn_search_help_title">Reikalinga pagalba?</string>
<string name="warn_search_help_address">Įveskite adresą arba vietovės pavadinimą. Pavyzdžiui naudokite pašto adresą \"Radlica 100, Praha, Čekijos Respublika\", miesto pavadinimą \"Berlynas\" arba tiesiog tokį pavadinimą kaip \"Yellowstone Park\".</string>
- <string name="warn_search_help_gccode">Įveskite geoslėptuvės kodą. Pvz. \"GC1VCAZ\".</string>
+ <string name="warn_search_help_gccode">Įveskite slėptuvės kodą. Pvz. \"GC3WED4\".</string>
<string name="warn_search_help_keyword">Įveskite visą arba dalį slėptuvės pavadinimo. Pavyzdžiui \"Naktinė slėptuvė\".</string>
<string name="warn_search_help_user">Įrašykite Geocaching.com vartotojo vardą.</string>
- <string name="warn_search_help_tb">Įveskite keliauninko kodą. Pvz. \"TB29QMZ\".</string>
+ <string name="warn_search_help_tb">Įveskite keliauninko kodą. Pvz. \"TB5303E\".</string>
<string name="warn_log_text_fill">Prašome įrašyti įrašo tekstą.</string>
<string name="warn_load_images">c:geo nepavyko įkelti nuotraukų.</string>
- <string name="warn_invalid_mapfile">Pasirinktas žemėlapio failas neatitinka mapsforge 0.3.0 versijai.\nŽemėlapiai naudojami neprisijungus yra nepasiekiami.</string>
+ <string name="warn_invalid_mapfile">Pasirinktas žemėlapio failas nėra mapsforge 0.3.0 versijos failas.\nŽemėlapiai naudojami neprisijungus yra nepasiekiami.</string>
<string name="warn_deprecated_mapfile">Jūs naudojate pasenusią žemėlapio versiją (0.2.4).\nSiūlome atsinaujinti žemėlapį į 0.3.0 versiją.\nNuo sekančio leidimo versija 0.2.4 nebebus palaikoma.</string>
<string name="warn_nonexistant_mapfile">Pasirinktas žemėlapio failas neegzistuoja.\nŽemėlapiai naudojami neprisijungus yra nepasiekiami.</string>
<string name="warn_rendertheme_missing">Nerasta žemėlapio tema.</string>
@@ -211,7 +211,7 @@
<string name="info_log_saved">c:geo įrašas sėkmingai išsaugotas.</string>
<string name="info_log_cleared">Įrašas išvalytas.</string>
<string name="info_log_type_changed">Įrašo tipas buvo pakeistas!</string>
- <string name="info_select_logimage_cancelled">Nuotraukos pasirinkimas ar fotografavimas buvo nutrauktas.</string>
+ <string name="info_select_logimage_cancelled">Nuotraukos pasirinkimas ar fotografavimas buvo atšauktas.</string>
<string name="info_stored_image">Nauja nuotrauka įrašyta į:</string>
<string name="info_storing_static_maps">Bandoma išsaugoti statinius žemėlapius</string>
<string name="loc_last">Paskutinė žinoma vieta</string>
@@ -230,7 +230,7 @@
<string name="menu_pocket_queries">Kišeniniai sąrašai</string>
<string name="menu_scan_description">c:geo negali nuskaityti QR kodų. Reikalinga programa neįdiegta. Ar norite atidaryti Google Play ir ją įdiegti?</string>
<string name="live_map_button">Žemėlapis</string>
- <string name="caches_nearby_button">Šalia</string>
+ <string name="caches_nearby_button">Netoliese</string>
<string name="advanced_search_button">Ieškoti</string>
<string name="stored_caches_button">Išsaugota</string>
<string name="any_button">Bet kur</string>
@@ -240,34 +240,34 @@
<string name="caches_more_caches_no">Daugiau slėptuvių nėra</string>
<string name="caches_more_caches_loading">Įkeliamos slėptuvės…</string>
<string name="caches_more_caches_currently">dabar</string>
- <string name="caches_downloading">Atsisiunčiamos slėptuvės…\nETA: </string>
- <string name="caches_eta_ltm">Mažiau nei prieš minutę</string>
+ <string name="caches_downloading">Atsisiunčiamos slėptuvės…\nužtruks: </string>
+ <string name="caches_eta_ltm">Mažiau nei minutę</string>
<string name="caches_store_offline">Išsaugoti slėptuves</string>
<string name="caches_store_selected">Išsaugoti pasirinktas</string>
<string name="caches_history">Istorija</string>
<string name="caches_on_map">Žemėlapyje</string>
<string name="caches_sort">Rūšiuoti</string>
<string name="caches_sort_title">Rūšiuoti pagal</string>
- <string name="caches_sort_distance">Atstumas</string>
- <string name="caches_sort_difficulty">Sudėtingumas</string>
- <string name="caches_sort_terrain">Vietovė</string>
- <string name="caches_sort_size">Dydis</string>
- <string name="caches_sort_favorites">Favoritai</string>
- <string name="caches_sort_favorites_ratio">Favoritai [%]</string>
- <string name="caches_sort_name">Pavadinimas</string>
- <string name="caches_sort_geocode">Geo kodas</string>
- <string name="caches_sort_rating">Reitingas</string>
- <string name="caches_sort_vote">Balsas (savas reitingas)</string>
- <string name="caches_sort_inventory">Inventorio skaičius</string>
- <string name="caches_sort_date_hidden">Paslėpimo data</string>
- <string name="caches_sort_date_logged">Užregistravimo data</string>
- <string name="caches_sort_finds">Rastos</string>
- <string name="caches_sort_state">Būsena</string>
- <string name="caches_sort_storage">Išsaugojimo data prietaise</string>
+ <string name="caches_sort_distance">Atstumą</string>
+ <string name="caches_sort_difficulty">Sudėtingumą</string>
+ <string name="caches_sort_terrain">Vietovę</string>
+ <string name="caches_sort_size">Dydį</string>
+ <string name="caches_sort_favorites">Favoritus</string>
+ <string name="caches_sort_favorites_ratio">Favoritus [%]</string>
+ <string name="caches_sort_name">Pavadinimą</string>
+ <string name="caches_sort_geocode">Geo kodą</string>
+ <string name="caches_sort_rating">Reitingą</string>
+ <string name="caches_sort_vote">Balsus (savas reitingas)</string>
+ <string name="caches_sort_inventory">Inventoriaus kiekį</string>
+ <string name="caches_sort_date_hidden">Paslėpimo datą</string>
+ <string name="caches_sort_date_logged">Užregistravimo datą</string>
+ <string name="caches_sort_finds">Rastas</string>
+ <string name="caches_sort_state">Būseną</string>
+ <string name="caches_sort_storage">Išsaugojimo prietaise datą</string>
<string name="caches_select_mode">Pasirinkti</string>
<string name="caches_select_mode_exit">Nebesirinkti</string>
<string name="caches_select_invert">Žymėti priešingai</string>
- <string name="caches_nearby">Šalia</string>
+ <string name="caches_nearby">Netoliese</string>
<string name="caches_manage">Valdyti</string>
<string name="caches_drop_selected">Išmesti pasirinktas</string>
<string name="caches_drop_selected_ask">Ar norite pašalinti pasirinktas slėptuves iš prietaiso?</string>
@@ -284,21 +284,21 @@
<string name="caches_map_locus">Locus</string>
<string name="caches_map_locus_export">Eksportuoti į Locus</string>
<string name="caches_recaptcha_title">reCAPTCHA</string>
- <string name="caches_recaptcha_explanation">Prašome įvesti tekstą kurį matote paveikslėlyje. Tai leidžia atsisiųsti slėptuvės koordinatės, tai galima išjungti Nustatymuose.</string>
+ <string name="caches_recaptcha_explanation">Prašome įvesti tekstą kurį matote paveikslėlyje. Tai leis atsisiųsti slėptuvės koordinates ir tai galima išjungti Nustatymuose.</string>
<string name="caches_recaptcha_hint">Tekstas iš paveikslėlio</string>
<string name="caches_recaptcha_continue">Tęsti</string>
<string name="caches_filter">Filtras</string>
<string name="caches_filter_title">Filtruoti pagal</string>
- <string name="caches_filter_size">Dydis</string>
- <string name="caches_filter_type">Tipas</string>
+ <string name="caches_filter_size">Dydį</string>
+ <string name="caches_filter_type">Tipą</string>
<string name="caches_filter_track">Su keliauninkais</string>
<string name="caches_filter_clear">Valyti filtrus</string>
<string name="caches_filter_modified">Su pakeistomis koordinatėmis</string>
- <string name="caches_filter_origin">Šaltinis</string>
- <string name="caches_filter_distance">Atstumas</string>
+ <string name="caches_filter_origin">Šaltinį</string>
+ <string name="caches_filter_distance">Atstumą</string>
<string name="caches_filter_personal_note">Su asmenine pastaba</string>
- <string name="caches_filter_popularity">Favoritai</string>
- <string name="caches_filter_popularity_ratio">Favoritai [%]</string>
+ <string name="caches_filter_popularity">Favoritus</string>
+ <string name="caches_filter_popularity_ratio">Favoritus [%]</string>
<string name="caches_removing_from_history">Pašalinama iš Istorijos…</string>
<string name="caches_clear_offlinelogs">Išvalyti išsaugotus įrašus</string>
<string name="caches_clear_offlinelogs_progress">Išvalomi išsaugoti įrašai</string>
@@ -306,7 +306,7 @@
<string name="list_menu_create">Sukurti naują sąrašą</string>
<string name="list_menu_drop">Išmesti dabartinį sąrašą</string>
<string name="list_menu_change">Pakeisti sąrašą</string>
- <string name="list_menu_rename">Pervardinti dabartinį sąrašą</string>
+ <string name="list_menu_rename">Pervadinti dabartinį sąrašą</string>
<string name="list_title">Pasirinkti sąrašą</string>
<string name="list_inbox">Išsaugota</string>
<string name="list_all_lists">Visos slėptuvės</string>
@@ -321,7 +321,7 @@
<string name="list_dialog_remove_err">c:geo nepavyko pašalinti dabartinio sąrašo</string>
<string name="list_dialog_rename_title">Pervadinti sąrašą</string>
<string name="list_dialog_rename">Pervadinti</string>
- <string name="list_not_available">Sąrašas nebeprieinamas, pereinama prie standartinio sąrašo</string>
+ <string name="list_not_available">Sąrašas nebeprieinamas, pereinama į standartinį sąrašą</string>
<string name="about_version">Versija</string>
<string name="about_changelog">Pakeitimų žurnalas</string>
<string name="about_donate">Paaukoti</string>
@@ -333,7 +333,7 @@
<string name="settings_title_services">Paslaugos</string>
<string name="settings_title_appearance">Išvaizda</string>
<string name="settings_title_cachedetails">Slėptuvės informacija</string>
- <string name="settings_title_offlinedata">Duomenys naudojami neprisijungus</string>
+ <string name="settings_title_offlinedata">Duomenys darbui neprisijungus</string>
<string name="settings_title_logging">Registravimas</string>
<string name="settings_title_map">Žemėlapis</string>
<string name="settings_title_map_data">Žemėlapio duomenys</string>
@@ -356,31 +356,31 @@
<string name="settings_activate_ox">Aktyvuoti</string>
<string name="settings_gc_legal_note">Naudodamiesi geocaching.com paslaugomis, Jūs sutinkate su Groundspeak naudojimo taisyklėmis.</string>
<string name="settings_info_facebook_login_title">Facebook prisijungimas</string>
- <string name="settings_info_facebook_login">c:geo negali prisijungti prie geocaching.com su jūsų Facebook paskyrą. Bet yra paprastas problemos sprendimas …</string>
- <string name="settings_authorize">Registruoti c:geo</string>
- <string name="settings_reauthorize">Registruoti c:geo dar kartą</string>
+ <string name="settings_info_facebook_login">c:geo negali prisijungti prie geocaching.com su jūsų Facebook paskyra. Bet yra paprastas problemos sprendimas …</string>
+ <string name="settings_authorize">Leisti c:geo prisijungti</string>
+ <string name="settings_reauthorize">Dar kartą leisti c:geo prisijungti</string>
<string name="init_oc">Opencaching.de</string>
<string name="settings_activate_oc">Aktyvuoti</string>
- <string name="init_oc_de_description">Registruokite c:geo su opencaching.de tam, kad galėtumėt ieškoti slėptuvių ir prieiti/filtruoti rastas slėptuves.</string>
+ <string name="init_oc_de_description">Leiskite c:geo prisijungti prie opencaching.de tam, kad galėtumėt ieškoti slėptuvių ir prieiti/filtruoti rastas slėptuves.</string>
<string name="init_oc_pl">Opencaching.pl</string>
<string name="settings_activate_oc_pl">Aktyvuoti</string>
- <string name="init_oc_pl_description">Registruokite c:geo su opencaching.pl tam, kad galėtumėt ieškoti slėptuvių ir prieiti/filtruoti rastas slėptuves.</string>
+ <string name="init_oc_pl_description">Leisti c:geo prisijungti prie opencaching.pl tam, kad galėtumėt ieškoti slėptuvių ir prieiti/filtruoti rastas slėptuves.</string>
<string name="init_gcvote">GCvote.com</string>
<string name="init_twitter">Twitter</string>
<string name="settings_activate_twitter">Aktyvuoti</string>
<string name="init_username">Vartotojo vardas</string>
<string name="init_password">Slaptažodis</string>
- <string name="init_login">Patikrinkite prisijungimo duomenis</string>
+ <string name="init_login">Patikrinti prisijungimo duomenis</string>
<string name="init_login_popup">Prisijungti</string>
- <string name="init_login_popup_working">Registruojamasi…</string>
+ <string name="init_login_popup_working">Jungiamasi…</string>
<string name="init_login_popup_ok">Prisijungta</string>
<string name="init_login_popup_failed">Nepavyko prisijungti</string>
<string name="init_login_popup_failed_reason">Nepavyko prisijungti:</string>
- <string name="init_login_popup_not_authorized">Neregistruotas</string>
- <string name="init_login_popup_invalid_timestamp">Vietos laikas netinkamas, nustatykite prietaiso laiką</string>
- <string name="init_login_popup_invalid_token">Registracija nepavyko, bandykite dar kartą</string>
+ <string name="init_login_popup_not_authorized">Prisijungimas neleistinas</string>
+ <string name="init_login_popup_invalid_timestamp">Neteisingas vietinis laikas, nustatykite prietaiso laiką</string>
+ <string name="init_login_popup_invalid_token">Blogas prisijungimo leidimas, leiskite prisijungti dar kartą</string>
<string name="init_signature">Parašas</string>
- <string name="init_template_help">Eilutės kaip [NAME] bus įdėtos vėliau naudojant šį šabloną.</string>
+ <string name="init_template_help">Tokie kodai kaip [NAME] bus vėliau išskleidžiami, kai juos panaudosite įrašuose.</string>
<string name="init_signature_template_button">Įterpti šabloną</string>
<string name="init_signature_template_date">Data</string>
<string name="init_signature_template_time">Laikas</string>
@@ -400,7 +400,7 @@
<string name="init_autoload">Ilgas aprašymas</string>
<string name="init_summary_autoload">Visada išskleisti ilgą aprašymą</string>
<string name="init_skin">Šviesi tema</string>
- <string name="init_summary_skin">Naudoti programos šviesią temą (reikia pakartotinai paleisti)</string>
+ <string name="init_summary_skin">Naudoti šviesią programos temą (reikia pakartotinai paleisti)</string>
<string name="init_address">Rodyti adresą</string>
<string name="init_summary_address">Pagrindiniame ekrane vietoje koordinačių rodyti adresą</string>
<string name="init_captcha">Rodyti CAPTCHA</string>
@@ -413,9 +413,9 @@
<string name="init_showwaypoint_description">Jei rodomų slėptuvių mažiau nei nurodytas kiekis, jų papildomi taškai bus rodomi žemėlapyje.</string>
<string name="init_disabled">Atmesti išjungtas</string>
<string name="init_summary_disabled">Atmesti išjungtas slėptuves</string>
- <string name="init_offline">Statinis žemėlapis</string>
+ <string name="init_offline">Statiniai žemėlapiai</string>
<string name="init_summary_offline">Išsaugoti slėptuvės statinį žemėlapį naudojimui neprisijungus</string>
- <string name="init_offline_wp">Statinis žemėlapis (PT)</string>
+ <string name="init_offline_wp">Statiniai žemėlapiai (PT)</string>
<string name="init_summary_offline_wp">Išsaugoti papildomų taškų statinius žemėlapius naudojimui neprisijungus</string>
<string name="init_save_log_img">Išsaugoti nuotraukas</string>
<string name="init_summary_save_log_img">Išsaugoti nuotraukas iš įrašų</string>
@@ -430,10 +430,10 @@
<string name="init_backup">Atsarginė kopija</string>
<string name="init_backup_backup">Kurti atsarginę kopiją</string>
<string name="init_backup_running">Kuriama duomenų bazės atsarginė kopija…</string>
- <string name="init_backup_note">Atkreipkite dėmesį, kad ši funkcija sukurs/atkurs slėptuvių ir papildomų taškų duomenų bazę, bet ne jūsų parametrus. \nJūsų prisijungimo duomenys ir slaptažodžiai niekada nepaliks šios programos.</string>
- <string name="init_backup_restore">Atkurti atsarginę kopiją</string>
+ <string name="init_backup_note">Atkreipkite dėmesį, kad ši funkcija sukurs/atkurs slėptuvių ir papildomų taškų duomenų bazę, bet ne jūsų nustatymus.\nJūsų prisijungimo duomenys ir slaptažodžiai niekada nepaliks šios programos.</string>
+ <string name="init_backup_restore">Atkurti iš atsarginės kopijos</string>
<string name="init_backup_success">c:geo duomenų bazė sėkmingai nukopijuota į:</string>
- <string name="init_backup_failed">Nepavyko sukurti c:geo atsarginės kopijos.</string>
+ <string name="init_backup_failed">Nepavyko sukurti atsarginės c:geo duomenų bazės kopijos.</string>
<string name="init_backup_unnecessary">Duomenų bazė tuščia, atsarginė kopija nereikalinga.</string>
<string name="init_restore_success">Atkūrimas baigtas.</string>
<string name="init_restore_failed">Atkurti nepavyko.</string>
@@ -449,57 +449,57 @@
<string name="settings_title_scale_map_text">Teksto dydis žemėlapyje</string>
<string name="settings_summary_scale_map_text">Teksto dydis žemėlapyje naudojamame neprisijungus nustatomas automatiškai pagal prietaiso dpi</string>
<string name="init_map_directory_description">Katalogas su žemėlapiais naudojamais neprisijungus</string>
- <string name="init_gpx_exportdir">GPX eksporto katalogas</string>
- <string name="init_gpx_importdir">GPX importo katalogas</string>
+ <string name="init_gpx_exportdir">GPX eksportavimo katalogas</string>
+ <string name="init_gpx_importdir">GPX importavimo katalogas</string>
<string name="init_maptrail">Rodyti pėdsaką</string>
<string name="init_summary_maptrail">Rodyti pėdsaką žemėlapyje</string>
- <string name="init_share_after_export">Atidaryti bendrinimo meniu po GPX eksporto</string>
+ <string name="init_share_after_export">Po GPX eksportavimo atidaryti bendrinimo meniu</string>
<string name="init_trackautovisit">Apsilankyti</string>
- <string name="init_summary_trackautovisit">Nustatyti keliauninkus kaip \"Apsilankė\" pagal numatytuosius nustatymus</string>
+ <string name="init_summary_trackautovisit">Automatiškai nustatyti keliauninkus kaip \"Apsilankė\"</string>
<string name="init_sigautoinsert">Įterpti automatiškai</string>
<string name="init_loaddirectionimg">Krypties paveikslėlis</string>
<string name="init_summary_loaddirectionimg">Jeigu reikia atsisiųst krypties rodyklių paveikslėlius (reikalinga tik baziniams nariams)</string>
<string name="init_default_navigation_tool">Numatytoji navigacija</string>
<string name="init_secondary_navigation_tool">Antrinė navigacija</string>
- <string name="init_default_navigation_tool_description">Čia galite pasirinkti jūsų pageidaujamą navigacijos priemonę.</string>
+ <string name="init_default_navigation_tool_description">Čia galite pasirinkti jūsų pageidaujamą navigacijos įrankį.</string>
<string name="init_default_navigation_tool_select">Pasirinkite įrankį</string>
- <string name="init_default_navigation_tool_2_description">Čia galite pasirinkti savo antrą pageidaujamą navigacijos priemonę. Aktyvinkite ilgai paspausdami navigacijos piktogramą šalia slėptuvės pavadinimo.</string>
- <string name="init_navigation_menu_description">Čia galite pasirinkti, kuris iš navigacinių metodų bus rodomas slėptuvės arba papildomo taško navigacijos meniu. Išjungti įrankiai yra neįdiegti šiame prietaise.</string>
+ <string name="init_default_navigation_tool_2_description">Čia galite pasirinkti savo antrą pageidaujamą navigacijos įrankį. Aktyvinkite jį ilgai paspausdami navigacijos piktogramą šalia slėptuvės pavadinimo.</string>
+ <string name="init_navigation_menu_description">Čia galite pasirinkti, kuris iš navigacinių metodų bus rodomas slėptuvės arba papildomo taško navigacijos meniu. Išjungti įrankiai šiame prietaise yra neįdiegti.</string>
<string name="init_debug_title">Derinimo informacija</string>
- <string name="init_debug_note">c:geo gali generuoti daug derinimo informacijos. Nors paprastai ši informacija nėra naudinga c:geo vartotojams, kūrėjams gali prireikti sukurti šią informaciją siekiant analizuoti klaidas. Šiuo atveju, bus paprašyta jums pažymėti šį žymės laukelį ir siųsti žurnalo failą jiems.</string>
+ <string name="init_debug_note">c:geo gali generuoti daug derinimo informacijos. Nors paprastai ši informacija nėra naudinga c:geo vartotojams, kūrėjams gali prireikti šios informacijos analizuojant klaidas. Tokiu atveju, jūsų bus paprašyta pažymėti šį žymės laukelį ir atsiųsti jiems žurnalo failą.</string>
<string name="init_debug">Aktyvinti derinimo ataskaitą</string>
<string name="init_dbonsdcard_title">Duomenų bazės vieta</string>
- <string name="init_dbonsdcard_note">Jūs galite c:geo duomenų bazę saugoti išorinėje atmintyje. Tokiu būdu sutaupysite vidinės atminties, bet galite prarasti šiek tiek darbo spartos ir c:geo neveiks, jei nebus SD kortelės.</string>
+ <string name="init_dbonsdcard_note">Jūs galite c:geo duomenų bazę saugoti išorinėje atmintyje. Tokiu būdu sutaupysite vidinės atminties, bet sumažės veikimo sparta ir c:geo neveiks, jei nebus SD kortelės.</string>
<string name="init_dbonsdcard">Išorinėje atmintyje</string>
<string name="init_dbmove_dbmove">Perkeliama duomenų bazė</string>
<string name="init_dbmove_running">Perkeliama duomenų bazė</string>
<string name="init_dbmove_success">Duomenų bazė sėkmingai perkelta.</string>
- <string name="init_dbmove_failed">Nepavyko perkelti duomenų bazės</string>
- <string name="init_plain_logs">Paprastas įrašas</string>
- <string name="init_summary_plain_logs">Rodyti žurnalo įrašus be spalvų ir formato</string>
+ <string name="init_dbmove_failed">Duomenų bazės perkelti nepavyko</string>
+ <string name="init_plain_logs">Nespalvoti įrašai</string>
+ <string name="init_summary_plain_logs">Žurnalo įrašus rodyti be spalvų</string>
<string name="init_use_native_ua">\"Android\" naršyklė</string>
- <string name="init_summary_use_native_ua">Nustatyti kaip \"Android\" naršyklė. Sprendžia prisijungimo problemą naudojant tam tikrų tinklo paslaugų teikėją.</string>
+ <string name="init_summary_use_native_ua">Prisistatyti Android naršykle. Tai išsprendžia prisijungimo problemas naudojant tam tikrus ryšio paslaugų teikėjus.</string>
<string name="init_rendertheme_folder">Žemėlapio temų katalogas</string>
- <string name="init_maintenance">Remontas</string>
- <string name="init_maintenance_directories_note">c:geo saugo nuotraukas ir kitus failus, susijusius su slėptuve. Kai kuriais atvejais (pvz., importuoti/eksportuoti duomenų bazę) šiame kataloge gali būti pasenusių failų, kuriuos galima panaikinti čia.</string>
+ <string name="init_maintenance">Priežiūra</string>
+ <string name="init_maintenance_directories_note">c:geo saugo nuotraukas, įrašų nuotraukas ir kitus failus, susijusius su slėptuve, atskirame kataloge. Kai kuriais atvejais (pvz., importuojant/eksportuojant duomenų bazę) šiame kataloge gali likti pasenusių failų, kuriuos galima panaikinti čia.</string>
<string name="init_maintenance_directories">Ištrinti nebereikalingus failus</string>
- <string name="settings_open_website">Atidaryti svetainę</string>
+ <string name="settings_open_website">Atidaryti interneto svetainę</string>
<string name="settings_settings">Nustatymai</string>
<string name="settings_information">Informacija</string>
<string name="settings_twitter_cache_message">Rastos slėptuvės žinutė</string>
<string name="settings_twitter_trackable_message">Rasto keliauninko žinutė</string>
- <string name="init_ec_icons">Ikonos žemėlapyje</string>
- <string name="settings_ec_icons_other">Nuosavas stilius</string>
+ <string name="init_ec_icons">Žemėlapio ikonos</string>
+ <string name="settings_ec_icons_other">Priskirtas stilius</string>
<string name="settings_ec_icons_oc">Kaip OC</string>
<string name="settings_features">Palaikomos funkcijos</string>
- <string name="feature_description">c:geo palaiko sekančias šios svetainės funkcijas (papildomai funkcijos naudojimui neprisijungus):</string>
+ <string name="feature_description">c:geo palaiko sekančias šios svetainės funkcijas <b>prisijungus</b> (šalia funkcijų, kurios veikia neprisijungus):</string>
<string name="feature_personal_notes">Asmeninės pastabos</string>
- <string name="feature_online_logging">Registravimas prisijungus</string>
+ <string name="feature_online_logging">Įrašų registravimas prisijungus</string>
<string name="feature_log_images">Pridėti nuotraukas prie įrašų</string>
- <string name="feature_watch_list">Žiūrėti įrašus</string>
- <string name="feature_own_coordinates">Išsaugoti pakeistas koordinates</string>
+ <string name="feature_watch_list">Peržiūrėti įrašus</string>
+ <string name="feature_own_coordinates">Pakeistų koordinačių išsaugojimas</string>
<string name="feature_search_keyword">Paieška pagal raktinį žodžį</string>
- <string name="feature_search_live_map">Žemėlapis tiesiogiai</string>
+ <string name="feature_search_live_map">Slėptuvės ir žemėlapis tiesiogiai iš interneto</string>
<string name="feature_search_center">Paieška pagal poziciją</string>
<string name="feature_search_geocode">Paieška pagal geo kodą</string>
<string name="feature_search_owner">Paieška pagal savininką</string>
@@ -509,10 +509,10 @@
<string name="map_source_osm_mapnik">OSM: Mapnik</string>
<string name="map_source_osm_cyclemap">OSM: Cyclemap</string>
<string name="map_source_osm_offline">Neprisijungus</string>
- <string name="init_sendToCgeo">Send to c:geo</string>
+ <string name="init_sendToCgeo">Siųsti į c:geo</string>
<string name="settings_info_send2cgeo_title">Informacija apie send2cgeo</string>
<string name="init_sendToCgeo_name">Jūsų prietaiso pavadinimas</string>
- <string name="init_sendToCgeo_description"><b>Send2c:geo</b> leidžia jums siųsti slėptuves į Android įrenginį tiesiogiai iš geocaching.com naudojant specialius Firefox ar Chrome priedus. Prieš registruodamiesi, pažiūrėkite <a href="http://send2.cgeo.org/">http://send2.cgeo.org/</a>. Jei norite naudoti Send2c:geo jums tereikia užsiregistruoti. Be prietaiso registracijos c:geo veiks įprastai.</string>
+ <string name="init_sendToCgeo_description"><b>Send2c:geo</b> leidžia jums siųsti slėptuves į Android įrenginį tiesiogiai iš geocaching.com naudojant specialius Firefox ar Chrome priedus. Prieš registruodamiesi, pažiūrėkite <a href="http://send2.cgeo.org/">http://send2.cgeo.org/</a>. Registruotis reikia tik tuomet jei norite naudotis send2c:geo. c:geo veiks įprastai ir be prietaiso registravimo.</string>
<string name="init_sendToCgeo_register">Prašyti registracijos</string>
<string name="init_sendToCgeo_registering">Registruojamas prietaisas prie Send2c:geo…</string>
<string name="init_sendToCgeo_register_ok">Registracija sėkminga. PIN kodas ####. Naudokite jį c:geo svetainėje ir susiekite prietaisą su jūsų naršykle.</string>
@@ -520,16 +520,16 @@
<string name="sendToCgeo_download_fail">c:geo Nepavyko atsisiųsti slėptuvių. Nėra interneto ryšio, ar send2c:geo neveikia.</string>
<string name="sendToCgeo_no_registration">c:geo nepavyko atsisiųsti slėptuvių. send2c:geo registracijos galiojimo laikas pasibaigė. Prašome registruotis Nustatymuose.</string>
<string name="auth_twitter">Twitter</string>
- <string name="auth_authorize">Registruoti c:geo</string>
- <string name="auth_start">Pradėti registruotis</string>
+ <string name="auth_authorize">Leisti c:geo prisijungti</string>
+ <string name="auth_start">Pradėti registraciją</string>
<string name="auth_again">Pradėti iš naujo</string>
<string name="auth_dialog_waiting">Laukiama %s…</string>
<string name="auth_explain_short">Šie veiksmai <b>c:geo</b> programai leis naudotis %s.</string>
- <string name="auth_explain_long">Paspaudus mygtuką \"Pradėti registruotis\" bus pradėtas procesas. Šis procesas atvers %s puslapį naršyklėje. Šiame puslapyje prisijunkite ir leiskite <b>c:geo</b> programai pasiekti jūsų paskyrą.</string>
- <string name="auth_dialog_completed_twitter">c:geo dabar registruota ir leidžiama rašyti Twitter\'yje.</string>
+ <string name="auth_explain_long">Registracija bus pradėta paspaudus mygtuką \"Pradėti registraciją\". Šis procesas naršyklėje atvers %s puslapį. Prisijunkite prie savo paskyros ir leiskite <b>c:geo</b> ja naudotis.</string>
+ <string name="auth_dialog_completed_twitter">c:geo priregistruota ir jai leidžiama rašyti Twitter paskyroje.</string>
<string name="auth_ocde">opencaching.de</string>
<string name="auth_ocpl">opencaching.pl</string>
- <string name="auth_dialog_completed_oc">c:geo dabar registruota ir leidžiam bendrauti su %s.</string>
+ <string name="auth_dialog_completed_oc">c:geo dabar registruota ir leidžiama naudotis %s.</string>
<string name="cache_offline">Išsaugota</string>
<string name="cache_offline_refresh">Naujinti</string>
<string name="cache_offline_drop">Išmesti</string>
@@ -546,12 +546,12 @@
<string name="cache_attributes">Atributai</string>
<string name="cache_inventory">Inventorius</string>
<string name="cache_log_offline">Įrašas neprisijungus</string>
- <string name="cache_log_images_title">Nuotrauka iš įrašo</string>
+ <string name="cache_log_images_title">Nuotraukos iš įrašo</string>
<string name="cache_log_image_default_title">Nuotrauka</string>
<string name="cache_personal_note">Asmeninė pastaba</string>
<string name="cache_personal_note_edit">Redaguoti</string>
<string name="cache_personal_note_limit">Asmeninės pastabos limitas</string>
- <string name="cache_personal_note_truncation">Ši asmeninė pastaba bus sutrumpinta po %d pagal Geocaching.com simbolius.</string>
+ <string name="cache_personal_note_truncation">Ši asmeninė pastaba bus sutrumpinta Geocaching.com svetainės iki %d simbolių.</string>
<string name="cache_personal_note_upload">Įkelti</string>
<string name="cache_personal_note_uploading">Įkeliama asmeninė pastaba</string>
<string name="cache_personal_note_upload_done">Įkelta asmeninė pastaba</string>
@@ -583,20 +583,20 @@
<string name="cache_dialog_loading_details_status_details">Apdorojama informacija</string>
<string name="cache_dialog_loading_details_status_spoilers">Įkeliamos paslėptos nuotraukos</string>
<string name="cache_dialog_loading_details_status_logs">Įkeliami įrašai</string>
- <string name="cache_dialog_loading_details_status_waypoints">Apdoroja papildomus taškus</string>
- <string name="cache_dialog_loading_details_status_gcvote">Įkeliama GCVote</string>
- <string name="cache_dialog_loading_details_status_cache">Gaunami duomenys</string>
+ <string name="cache_dialog_loading_details_status_waypoints">Apdorojami papildomi taškai</string>
+ <string name="cache_dialog_loading_details_status_gcvote">Įkeliama GCVote informacija</string>
+ <string name="cache_dialog_loading_details_status_cache">Išsaugomi duomenys</string>
<string name="cache_dialog_loading_details_status_render">Generuojami vaizdai</string>
- <string name="cache_dialog_offline_save_title">Išsaugoma</string>
- <string name="cache_dialog_offline_save_message">Išsaugoma slėptuvė naudojimui neprisijungus…</string>
- <string name="cache_dialog_offline_drop_title">Pašalinama</string>
- <string name="cache_dialog_offline_drop_message">Pašalinama slėptuvė iš prietaiso atminties…</string>
- <string name="cache_dialog_refresh_title">Atnaujina</string>
- <string name="cache_dialog_refresh_message">Perkraunama slėptuvės informacija…</string>
- <string name="cache_dialog_watchlist_add_title">Stebimų slėptuvių sąrašas</string>
- <string name="cache_dialog_watchlist_add_message">Slėptuvė pridedama prie stebimų slėptuvių sąrašo…</string>
- <string name="cache_dialog_watchlist_remove_title">Stebimų slėptuvių sąrašas</string>
- <string name="cache_dialog_watchlist_remove_message">Pašalinama slėptuvė iš stebimų slėptuvių sąrašo…</string>
+ <string name="cache_dialog_offline_save_title">Išsaugoti</string>
+ <string name="cache_dialog_offline_save_message">Slėptuvė išsaugoma naudojimui neprisijungus…</string>
+ <string name="cache_dialog_offline_drop_title">Pašalinti</string>
+ <string name="cache_dialog_offline_drop_message">Slėptuvė pašalinama iš prietaiso atminties…</string>
+ <string name="cache_dialog_refresh_title">Atnaujinti</string>
+ <string name="cache_dialog_refresh_message">Slėptuvės informacija atsiunčiama iš naujo…</string>
+ <string name="cache_dialog_watchlist_add_title">Įtraukti į stebimų slėptuvių sąrašą</string>
+ <string name="cache_dialog_watchlist_add_message">Slėptuvė įtraukiama į stebimų slėptuvių sąrašą…</string>
+ <string name="cache_dialog_watchlist_remove_title">Pašalinti iš stebimų slėptuvių sąrašo</string>
+ <string name="cache_dialog_watchlist_remove_message">Slėptuvė šalinama iš stebimų slėptuvių sąrašo…</string>
<string name="cache_dialog_favorite_add_title">Favoritas</string>
<string name="cache_dialog_favorite_add_message">Pridedama slėptuvė prie Jūsų favoritų…</string>
<string name="cache_dialog_favorite_remove_title">Favoritas</string>
@@ -605,7 +605,7 @@
<string name="cache_menu_navigation_drive">Navigacija (vairuoti)</string>
<string name="cache_menu_navigation_walk">Navigacija (pėsčiomis)</string>
<string name="cache_menu_navigation_bike">Navigacija (dviračiu)</string>
- <string name="cache_menu_maps_directions">Google Maps Directions</string>
+ <string name="cache_menu_maps_directions">Google Maps nuorodos</string>
<string name="cache_menu_radar">Radaras</string>
<string name="cache_menu_map">Žemėlapis</string>
<string name="cache_menu_map_static">Statinis žemėlapis</string>
@@ -618,7 +618,7 @@
<string name="cache_menu_visit_offline">Registruoti neprisijungus</string>
<string name="cache_menu_spoilers">Paslėptos nuotraukos</string>
<string name="cache_menu_around">Slėptuvės aplink</string>
- <string name="cache_menu_event">Pridėti į kalendorių</string>
+ <string name="cache_menu_event">Įtraukti į kalendorių</string>
<string name="cache_menu_details">Informacija</string>
<string name="cache_menu_refresh">Atnaujinti</string>
<string name="cache_menu_share">Bendrinti slėptuvę</string>
@@ -630,12 +630,12 @@
<string name="cache_menu_navigon">Navigon</string>
<string name="cache_menu_pebble">Pebble</string>
<string name="cache_status">Būsena</string>
- <string name="cache_status_offline_log">Išsaugotas įrašas</string>
+ <string name="cache_status_offline_log">Įrašas išsaugotas</string>
<string name="cache_status_found">Rasta</string>
<string name="cache_status_archived">Suarchyvuota</string>
<string name="cache_status_disabled">Išjungta</string>
<string name="cache_status_premium">Tik Premium nariams</string>
- <string name="cache_status_not_premium">Visų narių prieiga</string>
+ <string name="cache_status_not_premium">Prieinama visiems nariams</string>
<string name="cache_status_stored">Išsaugota</string>
<string name="cache_status_not_stored">Neišsaugota</string>
<string name="cache_geocode">Geo kodas</string>
@@ -657,7 +657,7 @@
<string name="cache_coordinates_original">Originaliosios koordinatės</string>
<string name="cache_spoiler_images_title">Paslėptos nuotraukos</string>
<string name="cache_log_types">Įrašų tipai</string>
- <string name="cache_coordinates_no">Ši slėptuvė neturi nurodytų koordinačių.</string>
+ <string name="cache_coordinates_no">Ši slėptuvė neturi koordinačių.</string>
<string name="cache_clear_history">Išvalyti istoriją</string>
<string name="cache_remove_from_history">Pašalinti iš istorijos</string>
<string name="cache_license">Licencija</string>
@@ -666,26 +666,26 @@
<string name="cache_image_open_browser">Atidaryti naršyklėje</string>
<string name="cache_share_field">Bendrinti</string>
<string name="cache_time_full_hours">valanda</string>
- <string name="cache_listed_on">Sąraše %s</string>
+ <string name="cache_listed_on">Publikuota %s</string>
<string name="file_searching_in">Ieškoma failų\n</string>
<string name="file_searching_sdcard_in">Numatytame kataloge failų nerasta:\n%1$s\n\nIeškoma failų visoje SD kortelėje:\n</string>
- <string name="file_list_no_files">c:geo neranda tinkamų failų.</string>
- <string name="file_searching">Ieškoma atitinkančių failų</string>
+ <string name="file_list_no_files">c:geo tinkamų failų nerado.</string>
+ <string name="file_searching">Ieškoma tinkamų failų</string>
<string name="file_title_searching">Ieškoma</string>
<string name="simple_dir_chooser_title">Pasirinkite katalogą</string>
<string name="simple_dir_chooser_current_path">Kelias:</string>
<string name="simple_dir_chooser_invalid_path">Neteisingas kelias</string>
- <string name="gpx_import_loading_caches">Įkeliamos slėptuvės iš .gpx failo</string>
+ <string name="gpx_import_loading_caches">Slėptuvės įkeliamos iš .gpx failo</string>
<string name="gpx_import_loading_waypoints">Įkeliamas papildomų taškų failas</string>
<string name="gpx_import_store_static_maps">Išsaugomi statiniai žemėlapiai</string>
<string name="gpx_import_caches_imported">slėptuvės importuotos</string>
<string name="gpx_import_static_maps_skipped">Statinių žemėlapių atsisiuntimas nutrauktas</string>
<string name="gpx_import_title_static_maps">Išsaugoti statinius žemėlapius</string>
<string name="gpx_import_title_reading_file">Skaitomas failas</string>
- <string name="gpx_import_title">Imortuoti GPX</string>
+ <string name="gpx_import_title">Importuoti GPX</string>
<string name="gpx_import_title_caches_imported">Rezultatas</string>
<string name="gpx_import_title_caches_import_failed">Importuoti nepavyko</string>
- <string name="gpx_import_error_io">Negalima nuskaityti failo</string>
+ <string name="gpx_import_error_io">Nepavyksta nuskaityti failo</string>
<string name="gpx_import_error_parser">Blogas failo formatas</string>
<string name="gpx_import_error_unexpected">Netikėta klaida</string>
<string name="gpx_import_canceled">GPX importas buvo atšauktas</string>
@@ -714,30 +714,30 @@
<string name="waypoint_visited">Aplankytas</string>
<string name="waypoint_save">Išsaugoti</string>
<string name="waypoint_loading">Įkeliamas papildomas taškas…</string>
- <string name="waypoint_do_not_touch_cache_coordinates">Nekeisti į slėptuvės koordinates</string>
+ <string name="waypoint_do_not_touch_cache_coordinates">Nekeisti slėptuvės koordinačių</string>
<string name="waypoint_set_as_cache_coords">Nustatyti kaip slėptuvės koordinatės c:geo programoje</string>
<string name="waypoint_save_and_modify_on_website">Nustatyti kaip slėptuvės koordinatės c:geo programoje ir svetainėje</string>
- <string name="waypoint_reset_cache_coords">Iš naujo nustatyti slėptuvės koordinates</string>
- <string name="waypoint_coordinates_has_been_reset_on_website">Slėptuvės koordinatės svetainėje buvo atstatytos.</string>
- <string name="waypoint_coordinates_being_reset_on_website">Atstatomos slėptuvės koordinatės svetainėje…</string>
- <string name="waypoint_reset">Atstatyti</string>
+ <string name="waypoint_reset_cache_coords">Atstatyti originalias slėptuvės koordinates</string>
+ <string name="waypoint_coordinates_has_been_reset_on_website">Originalios slėptuvės koordinatės svetainėje buvo atstatytos.</string>
+ <string name="waypoint_coordinates_being_reset_on_website">Atstatomos originalios slėptuvės koordinatės svetainėje…</string>
+ <string name="waypoint_reset">Atstatoma</string>
<string name="waypoint_localy_reset_cache_coords">Atstatyti c:geo programoje</string>
<string name="waypoint_reset_local_and_remote_cache_coords">Atstatyti c:geo programoje ir svetainėje</string>
- <string name="waypoint_being_saved">Papildomas taškas buvo išsaugotas</string>
+ <string name="waypoint_being_saved">Išsaugomas papildomas taškas…</string>
<string name="waypoint_coordinates_couldnt_be_modified_on_website">Svetainė nepalaiko pakeistų slėptuvės koordinačių.</string>
- <string name="waypoint_coordinates_upload_error">Pakeičiant koordinates svetainėje įvyko klaida.</string>
- <string name="waypoint_coordinates_uploading_to_website">Įkeliamos koordinatės %s į svetainę.</string>
+ <string name="waypoint_coordinates_upload_error">Įvyko klaida keičiant koordinates svetainėje.</string>
+ <string name="waypoint_coordinates_uploading_to_website">Įkeliamos %s koordinatės į svetainę.</string>
<string name="waypoint_coordinates_has_been_modified_on_website">Slėptuvės koordinatės svetainėje buvo pakeistos į: %s.</string>
<string name="waypoint_done">Atlikta</string>
- <string name="waypoint_duplicate">Dubliuoti</string>
+ <string name="waypoint_duplicate">Sukurti kopiją</string>
<string name="waypoint_copy_of">Kopija</string>
<string name="search_history">Istorija</string>
- <string name="search_history_empty">Nėra ankstesnių tikslų</string>
- <string name="search_remove_destination">Tikslas pašalintas</string>
+ <string name="search_history_empty">Nėra ankstesnių kelionės tikslų</string>
+ <string name="search_remove_destination">Kelionės tikslas pašalintas</string>
<string name="search_clear_history">Išvalyti istoriją</string>
<string name="search_history_cleared">Istorija išvalyta</string>
<string name="waypoint_coordinate_formats_plain">Paprastas</string>
- <string name="visit_tweet">Skelbti radybas Twitter\'yje</string>
+ <string name="visit_tweet">Skelbti radybas Twitter paskytoje</string>
<string name="map_map">Žemėlapis</string>
<string name="map_live">Žemėlapis tiesiogiai</string>
<string name="map_view_map">Žemėlapio šaltinis</string>
@@ -774,10 +774,10 @@
<string name="search_kw">Raktiniai žodžiai</string>
<string name="search_kw_prefill">Raktinis žodis</string>
<string name="search_kw_button">Paieška pagal raktinį žodžį</string>
- <string name="search_fbu">Rasta pagal vartotoją</string>
+ <string name="search_fbu">Rastos vartotojo</string>
<string name="search_fbu_prefill">Vartotojo vardas</string>
<string name="search_fbu_button">Paieška pagal vartotojo vardą</string>
- <string name="search_hbu">Paslėpta pagal vartotojus</string>
+ <string name="search_hbu">Paslėptos vartotojo</string>
<string name="search_hbu_prefill">Savininkas</string>
<string name="search_hbu_button">Paieška pagal savininko vardą</string>
<string name="search_tb">Keliauninkas</string>
@@ -787,7 +787,7 @@
<string name="search_direction_rel">Nuo šios pozicijos</string>
<string name="search_address_started">Ieškoma vietų</string>
<string name="search_address_result">Rastos vietos</string>
- <string name="search_own_caches">Ieškoti mano slėptuves</string>
+ <string name="search_own_caches">Ieškoti mano slėptuvių</string>
<string name="search_pocket_title">Kišeninis sąrašas</string>
<string name="search_pocket_loading">Įkeliami Kišeniniai sąrašai</string>
<string name="search_pocket_select">Pasirinkite kišeninį sąrašą</string>
@@ -837,38 +837,38 @@
<string name="license_show">Rodyti licenciją</string>
<string name="license_dismiss">Atmesti</string>
<string name="helper_calendar_title">c:geo kalendorius (įskiepis)</string>
- <string name="helper_calendar_missing">c:geo kalendorius nėra įdiegtas.</string>
- <string name="helper_calendar_description">Suteikia galimybę eksportuoti renginius į prietaiso kalendorių.</string>
- <string name="helper_sendtocgeo_title">Send to c:geo</string>
+ <string name="helper_calendar_missing">c:geo kalendoriaus įskiepis neįdiegtas.</string>
+ <string name="helper_calendar_description">Leidžia eksportuoti renginius į prietaiso kalendorių.</string>
+ <string name="helper_sendtocgeo_title">Siųsti į c:geo</string>
<string name="helper_contacts_title">c:geo kontaktai (įskiepis)</string>
- <string name="helper_contacts_description">Suteikia galimybę tiesiai iš įrašo atidaryti kontakto kortelę (iš jūsų adresų knygos), kad būtų lengviau prašyti draugo pagalbos.</string>
+ <string name="helper_contacts_description">Leidžia tiesiai iš įrašo atidaryti kontakto kortelę (iš jūsų adresų knygos), kad galėtumėte susisiekti su draugais paprašyti pagalbos.</string>
<string name="helper_sendtocgeo_description">Send to c:geo yra <strong>jūsų kompiuterio</strong> naršyklės priedas . Kai naršote geocaching.com, jūs galite siųsti slėptuves į savo išmanųjį telefoną tiesiog naršyklės viduje paspausdami mygtuką.</string>
<string name="helper_locus_title">Locus</string>
- <string name="helper_locus_description">Paprasta naudoti programa, kuri rodo interneto žemėlapius ir suteikia galimybę atsisiųsti juos tiesiai į prietaisą (tik rastriniai žemėlapiai). Taip pat palaiko pėdsako įrašymą, POI valdymą ir daug kitų naudingų funkcijų.</string>
- <string name="helper_gpsstatus_title">GPS būsena</string>
- <string name="helper_gpsstatus_description">Galite naudoti radarą šioje programoje kartu su c:geo. Ji taip pat siūlo daug kitos su GPS susijusios informacijos.</string>
+ <string name="helper_locus_description">Patogi programa, kuri rodo interneto žemėlapius ir suteikia galimybę atsisiųsti juos tiesiai į prietaisą (tik rastrinus žemėlapius). Taip pat palaiko nukeliauto kelio įrašymą, lankytinų vietų valdymą ir daug kitų naudingų funkcijų.</string>
+ <string name="helper_gpsstatus_title">GPS statusas</string>
+ <string name="helper_gpsstatus_description">Kartu su c:geo galite naudoti šioje programoje esantį radarą. Ji taip pat siūlo daug kitos su GPS susijusios informacijos.</string>
<string name="helper_bluetoothgps_title">Bluetooth GPS</string>
- <string name="helper_bluetoothgps_description">Leidžia naudoti išorinį GPS imtuvą tikslesniems vietovės duomenims gauti ir taupyti jūsų prietaiso akumuliatorių.</string>
+ <string name="helper_bluetoothgps_description">Leidžia naudoti išorinį GPS imtuvą tikslesnėms koordinatėms gauti ir taupyti jūsų prietaiso bateriją.</string>
<string name="helper_barcode_title">Brūkšninių kodų skaitytuvas</string>
- <string name="helper_barcode_description">Yra Greasemonkey skriptai ir svetainės, kurios leidžia geo kodus rodyti brūkšniniu kodu. Su šia programa, c:geo gali skaityti tokius geo kodus tiesiogiai iš kompiuterio ekrano.</string>
+ <string name="helper_barcode_description">Egzistuoja Greasemonkey įskiepiai ir svetainės, kurios geo kodus paverčia brūkšniniu kodu. Su šia programa c:geo gali nuskaityti tokius kodus tiesiai iš kompiuterio ekrano.</string>
<string name="helper_pocketquery_title">Kišeninių sąrašų kūrėjas</string>
<string name="helper_pocketquery_description">Leidžia lengvai sukurti ir atsisiųsti Kišeninius sąrašus pagal jūsų buvimo vietą arba pasirinktą tašką žemėlapyje. Būtina Premium narystė Geocaching.com.</string>
<string name="helper_google_translate_title">Google vertėjas</string>
- <string name="helper_google_translate_description">Jei jūs atsisiųsite vertimo paketą Google Translate programai, tada galite lengvai išversti slėptuvės aprašymus ilgai spaudžiant ant slėptuvės aprašymo teksto (be interneto ryšio).</string>
+ <string name="helper_google_translate_description">Atsisiuntę vertimo paketą Google Translate programai galėsite lengvai išversti slėptuvės aprašymus ilgai paspaudę ant slėptuvės aprašymo teksto (tam nereikės interneto ryšio).</string>
<string name="addon_missing_title">Trūksta įskiepio</string>
- <string name="addon_download_prompt">Parsisiųsti dabar iš Google Play.</string>
+ <string name="addon_download_prompt">Parsisiųsti iš Google Play dabar.</string>
<string name="export">Eksportuoti</string>
<string name="export_exportedto">eksportuota į</string>
<string name="export_failed">Eksportuoti nepavyko</string>
<string name="export_fieldnotes">Lauko užrašai</string>
- <string name="export_fieldnotes_info">Lauko užrašai bus eksportuojami į /sdcard/field-notes su dabartine data ir laiku kaip failo pavadinimas.</string>
+ <string name="export_fieldnotes_info">Lauko užrašai bus eksportuojami į /sdcard/field-notes su dabartine data ir laiku failo pavadinime.</string>
<string name="export_fieldnotes_upload">Įkelti į geocaching.com</string>
<string name="export_fieldnotes_uploading">Įkeliama…</string>
<string name="export_fieldnotes_upload_success">Įkelimas į geocaching.com sėkmingas</string>
<string name="export_fieldnotes_onlynew">Tik nuo paskutinio eksportavimo</string>
<string name="export_fieldnotes_creating">Kuriami Lauko užrašai…</string>
<string name="export_gpx">GPX</string>
- <string name="export_gpx_info">GPX failas bus eksportuotas į %1$s su dabartinės datos ir laiko pavadinimu.</string>
+ <string name="export_gpx_info">GPX failas bus eksportuotas į %1$s su dabartine data ir laiku failo pavadinime.</string>
<string name="export_gpx_to">Siųsti eksportuotą GPX į</string>
<string name="attribute_dogs_yes">Galima su šunimi</string>
<string name="attribute_dogs_no">Negalima su šunimi</string>
@@ -884,16 +884,16 @@
<string name="attribute_snowmobiles_no">Negalima su sniego motociklu</string>
<string name="attribute_horses_yes">Galima su arkliu</string>
<string name="attribute_horses_no">Negalima su arkliu</string>
- <string name="attribute_campfires_yes">Yra laužavietė</string>
- <string name="attribute_campfires_no">Nėra laužavietės</string>
- <string name="attribute_rv_yes">Galima su priekaba</string>
- <string name="attribute_rv_no">Negalima su priekaba</string>
+ <string name="attribute_campfires_yes">Laužavietės leidžiamos</string>
+ <string name="attribute_campfires_no">Laužavietės neleidžiamos</string>
+ <string name="attribute_rv_yes">Sunkvežimiams/kemperiams leidžiama</string>
+ <string name="attribute_rv_no">Sunkvežimiams/kemperiams neleidžiama</string>
<string name="attribute_kids_yes">Rekomenduojama vaikams</string>
<string name="attribute_kids_no">Nerekomenduojama vaikams</string>
- <string name="attribute_onehour_yes">Trunka mažiau kaip valandą</string>
+ <string name="attribute_onehour_yes">Trunka mažiau nei valandą</string>
<string name="attribute_onehour_no">Trunka daugiau nei valandą</string>
<string name="attribute_scenic_yes">Yra gražių vaizdų</string>
- <string name="attribute_scenic_no">Nėra gražių vaizdų</string>
+ <string name="attribute_scenic_no">Gražių vaizdų nėra</string>
<string name="attribute_hiking_yes">Didelis žygis</string>
<string name="attribute_hiking_no">Nedidelis žygis</string>
<string name="attribute_climbing_yes">Sudėtingas kopimas</string>
@@ -929,7 +929,7 @@
<string name="attribute_hike_long_yes">Tolimas žygis (daugiau nei 10 km)</string>
<string name="attribute_hike_long_no">Netolimas žygis</string>
<string name="attribute_seasonal_yes">Yra sezoninis apribojimas</string>
- <string name="attribute_seasonal_no">Nėra sezoninio apribojimo</string>
+ <string name="attribute_seasonal_no">Sezoninio apribojimo nėra</string>
<string name="attribute_touristok_yes">Draugiška turistams</string>
<string name="attribute_touristok_no">Nedraugiška turistams</string>
<string name="attribute_frontyard_yes">Privati valda</string>
@@ -939,89 +939,89 @@
<string name="attribute_landf_yes">Pamesta ir rasta turas</string>
<string name="attribute_landf_no">Ne Pamesta ir rasta turas</string>
<string name="attribute_partnership_yes">Yra partnerių slėptuvė</string>
- <string name="attribute_partnership_no">Nėra partnerių slėptuvės</string>
+ <string name="attribute_partnership_no">Partnerių slėptuvės nėra</string>
<string name="attribute_fee_yes">Reikalingas leidimas arba mokamas stovėjimas</string>
- <string name="attribute_fee_no">Nereikalingas leidimas arba mokamas stovėjimas</string>
+ <string name="attribute_fee_no">Už įėjimą ar stovėjimą mokėti nereikia</string>
<string name="attribute_rappelling_yes">Reikalinga laipiojimo įranga</string>
- <string name="attribute_rappelling_no">Nereikalinga laipiojimo įranga</string>
+ <string name="attribute_rappelling_no">Laipiojimo įranga nereikalinga</string>
<string name="attribute_boat_yes">Reikalinga valtis</string>
- <string name="attribute_boat_no">Nereikalinga valtis</string>
+ <string name="attribute_boat_no">Valtis nereikalinga</string>
<string name="attribute_scuba_yes">Reikalinga nardymo įranga</string>
- <string name="attribute_scuba_no">Nereikalinga nardymo įranga</string>
+ <string name="attribute_scuba_no">Nardymo įranga nereikalinga</string>
<string name="attribute_flashlight_yes">Reikalingas žibintuvėlis</string>
- <string name="attribute_flashlight_no">Nereikalingas žibintuvėlis</string>
+ <string name="attribute_flashlight_no">Žibintuvėlis nereikalingas</string>
<string name="attribute_uv_yes">Reikalinga UV šviesa</string>
- <string name="attribute_uv_no">Nereikalinga UV šviesa</string>
- <string name="attribute_snowshoes_yes">Reikalingi sniego batai</string>
- <string name="attribute_snowshoes_no">Nereikalingi sniego batai</string>
- <string name="attribute_skiis_yes">Reikalingos Cross country slidės</string>
- <string name="attribute_skiis_no">Nereikalingos Cross country slidės</string>
+ <string name="attribute_uv_no">UV šviesa nereikalinga</string>
+ <string name="attribute_snowshoes_yes">Reikalingi sniegbačiai</string>
+ <string name="attribute_snowshoes_no">Sniegbačiai nereikalingi</string>
+ <string name="attribute_skiis_yes">Reikalingos lygumų slidės</string>
+ <string name="attribute_skiis_no">Lygumų slidės nereikalingos</string>
<string name="attribute_s_tool_yes">Reikalingi specialūs įrankiai</string>
- <string name="attribute_s_tool_no">Nereikalingi specialūs įrankiai</string>
+ <string name="attribute_s_tool_no">Specialūs įrankiai nereikalingi</string>
<string name="attribute_wirelessbeacon_yes">Yra belaidžio ryšio švyturys</string>
- <string name="attribute_wirelessbeacon_no">Nėra belaidžio ryšio švyturio</string>
+ <string name="attribute_wirelessbeacon_no">Belaidžio ryšio švyturio nėra</string>
<string name="attribute_treeclimbing_yes">Reikia lipti į medį</string>
- <string name="attribute_treeclimbing_no">Nereikia lipti į medį</string>
+ <string name="attribute_treeclimbing_no">Į medį lipti nereikia</string>
<string name="attribute_poisonoak_yes">Yra nuodingų augalų</string>
- <string name="attribute_poisonoak_no">Nėra nuodingų augalų</string>
+ <string name="attribute_poisonoak_no">Nuodingų augalų nėra</string>
<string name="attribute_dangerousanimals_yes">Yra pavojingų gyvūnų</string>
- <string name="attribute_dangerousanimals_no">Nėra pavojingų gyvūnų</string>
+ <string name="attribute_dangerousanimals_no">Pavojingų gyvūnų nėra</string>
<string name="attribute_ticks_yes">Yra erkių</string>
- <string name="attribute_ticks_no">Nėra erkių</string>
+ <string name="attribute_ticks_no">Erkių nėra</string>
<string name="attribute_mine_yes">Yra apleistų kasyklų</string>
- <string name="attribute_mine_no">Nėra apleistų kasyklų</string>
- <string name="attribute_cliff_yes">Yra status skardis / krentantys akmenys</string>
- <string name="attribute_cliff_no">Nėra status skardis / krentančių akmenų</string>
+ <string name="attribute_mine_no">Apleistų kasyklų nėra</string>
+ <string name="attribute_cliff_yes">Yra skardis / krentantys akmenys</string>
+ <string name="attribute_cliff_no">Skardžio / krentančių akmenų nėra</string>
<string name="attribute_hunting_yes">Medžioklės teritorija</string>
<string name="attribute_hunting_no">Ne medžioklės teritorija</string>
- <string name="attribute_danger_yes">Pavojinga zona</string>
- <string name="attribute_danger_no">Nepavojinga zona</string>
+ <string name="attribute_danger_yes">Pavojinga vieta</string>
+ <string name="attribute_danger_no">Nepavojinga vieta</string>
<string name="attribute_thorn_yes">Yra dygliuotų augalų</string>
- <string name="attribute_thorn_no">Nėra dygliuotų augalų</string>
- <string name="attribute_wheelchair_yes">Galima su vežymėliais</string>
- <string name="attribute_wheelchair_no">Negalima su vežymėliais</string>
+ <string name="attribute_thorn_no">Dygliuotų augalų nėra</string>
+ <string name="attribute_wheelchair_yes">Pasiekiama neįgaliųjų vežimėliais</string>
+ <string name="attribute_wheelchair_no">Neįgaliųjų vežimėliais nepasiekiama</string>
<string name="attribute_parking_yes">Yra stovėjimo vieta</string>
- <string name="attribute_parking_no">Nėra stovėjimo vietos</string>
+ <string name="attribute_parking_no">Stovėjimo vietos nėra</string>
<string name="attribute_public_yes">Yra viešasis transportas</string>
- <string name="attribute_public_no">Nėra viešojo transporto</string>
- <string name="attribute_water_yes">Yra šalia geriamo vandens</string>
- <string name="attribute_water_no">Nėra šalia geriamo vandens</string>
- <string name="attribute_restrooms_yes">Yra šalia viešasis tualetas</string>
- <string name="attribute_restrooms_no">Nėra šalia viešojo tualeto</string>
- <string name="attribute_phone_yes">Yra šalia telefonas</string>
- <string name="attribute_phone_no">Nėra šalia telefono</string>
- <string name="attribute_picnic_yes">Yra šalia iškylos stalai</string>
- <string name="attribute_picnic_no">Nėra šalia iškylos stalų</string>
+ <string name="attribute_public_no">Viešojo transporto nėra</string>
+ <string name="attribute_water_yes">Netoliese yra geriamo vandens</string>
+ <string name="attribute_water_no">Netoliese geriamo vandens nėra</string>
+ <string name="attribute_restrooms_yes">Netoliese yra viešasis tualetas</string>
+ <string name="attribute_restrooms_no">Netoliese viešojo tualeto nėra</string>
+ <string name="attribute_phone_yes">Netoliese yra telefonas</string>
+ <string name="attribute_phone_no">Netoliese telefono nėra</string>
+ <string name="attribute_picnic_yes">Netoliese yra stalai iškylai</string>
+ <string name="attribute_picnic_no">Netoliese stalų iškylai nėra</string>
<string name="attribute_camping_yes">Yra stovyklavietė</string>
- <string name="attribute_camping_no">Nėra stovyklavietės</string>
+ <string name="attribute_camping_no">Stovyklavietės nėra</string>
<string name="attribute_stroller_yes">Galima su vaikišku vežimėliu</string>
<string name="attribute_stroller_no">Negalima su vaikišku vežimėliu</string>
- <string name="attribute_fuel_yes">Yra šalia degalinė</string>
- <string name="attribute_fuel_no">Nėra šalia degalinės</string>
- <string name="attribute_food_yes">Yra šalia maistas</string>
- <string name="attribute_food_no">Nėra šalia maisto</string>
- <string name="attribute_oc_only_yes">Tik registruojamas Opencaching</string>
- <string name="attribute_oc_only_no">Netik registruojamas Opencaching</string>
+ <string name="attribute_fuel_yes">Netoliese yra degalinė</string>
+ <string name="attribute_fuel_no">Netoliese degalinės nėra</string>
+ <string name="attribute_food_yes">Netoliese yra kur pavalgyti</string>
+ <string name="attribute_food_no">Netoliese kur pavalgyti nėra</string>
+ <string name="attribute_oc_only_yes">Registruojamas tik Opencaching</string>
+ <string name="attribute_oc_only_no">Registruojamas netik Opencaching</string>
<string name="attribute_link_only_yes">Hyperlink to another caching portal only</string>
<string name="attribute_link_only_no">Not only a hyperlink to another caching portal</string>
<string name="attribute_letterbox_yes">Letterbox (reikia antspaudo)</string>
<string name="attribute_letterbox_no">Ne letterbox (nereikia antspaudo)</string>
- <string name="attribute_railway_yes">Yra šalia veikiantis geležinkelis</string>
- <string name="attribute_railway_no">Nėra šalia veikiančio geležinkelio</string>
+ <string name="attribute_railway_yes">Netoliese yra veikiantis geležinkelis</string>
+ <string name="attribute_railway_no">Netoliese veikiančio geležinkelio nėra</string>
<string name="attribute_syringe_yes">Yra pirmoji pagalba</string>
- <string name="attribute_syringe_no">Nėra pirmosios pagalbos</string>
+ <string name="attribute_syringe_no">Pirmosios pagalbos nėra</string>
<string name="attribute_swamp_yes">Yra pelkių ar liūnų</string>
- <string name="attribute_swamp_no">Nėra pelkių ar liūnų</string>
- <string name="attribute_hills_yes">Kalvota sritis</string>
- <string name="attribute_hills_no">Nekalvota sritis</string>
+ <string name="attribute_swamp_no">Pelkių ar liūnų nėra</string>
+ <string name="attribute_hills_yes">Kalvota vieta</string>
+ <string name="attribute_hills_no">Nekalvota vieta</string>
<string name="attribute_easy_climbing_yes">Lengvas kopimas</string>
<string name="attribute_easy_climbing_no">Nelengvas kopimas</string>
- <string name="attribute_poi_yes">Yra lankoma vieta</string>
+ <string name="attribute_poi_yes">Lankoma vieta</string>
<string name="attribute_poi_no">Nėra lankoma vieta</string>
<string name="attribute_moving_target_yes">Judantis taikinys</string>
<string name="attribute_moving_target_no">Ne judantis taikinys</string>
- <string name="attribute_webcam_yes">Yra internetinė kamera</string>
- <string name="attribute_webcam_no">Nėra internetinės kameros</string>
+ <string name="attribute_webcam_yes">Internetinė kamera</string>
+ <string name="attribute_webcam_no">Ne internetinė kamera</string>
<string name="attribute_inside_yes">Uždaros erdvės (olos, pastatai ir kt.)</string>
<string name="attribute_inside_no">Ne uždaros erdvės</string>
<string name="attribute_in_water_yes">Vandenyje</string>
@@ -1043,7 +1043,7 @@
<string name="attribute_snow_proof_yes">Sniegui atspari slėpimo vieta</string>
<string name="attribute_snow_proof_no">Ne sniegui atspari slėpimo vieta</string>
<string name="attribute_compass_yes">Reikalingas kompasas</string>
- <string name="attribute_compass_no">Nereikalingas kompasas</string>
+ <string name="attribute_compass_no">Kompasas nereikalingas</string>
<string name="attribute_cave_yes">Cave equipment</string>
<string name="attribute_cave_no">No cave equipment</string>
<string name="attribute_aircraft_yes">Aircraft</string>
@@ -1071,7 +1071,7 @@
<string name="attribute_usb_cache_yes">Dead drop USB cache</string>
<string name="attribute_usb_cache_no">No dead drop USB cache</string>
<string name="attribute_shovel_yes">Gali prireikti kastuvo</string>
- <string name="attribute_shovel_no">Negali prireikti kastuvo</string>
+ <string name="attribute_shovel_no">Kastuvo nereikia</string>
<string name="attribute_specific_access_yes">Prieinama nurodytomis valandomis (gali reikėti susimokėti)</string>
<string name="attribute_specific_access_no">Prieinama bet kuriuo metu</string>
<string name="attribute_pedestrian_only_yes">Prieinama tik pėsčiomis</string>
diff --git a/main/src/cgeo/geocaching/AbstractPopupActivity.java b/main/src/cgeo/geocaching/AbstractPopupActivity.java
index 82543b0..683579f 100644
--- a/main/src/cgeo/geocaching/AbstractPopupActivity.java
+++ b/main/src/cgeo/geocaching/AbstractPopupActivity.java
@@ -14,13 +14,12 @@ import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.ui.CacheDetailsCreator;
import cgeo.geocaching.ui.LoggingUI;
import cgeo.geocaching.utils.Log;
+import cgeo.geocaching.utils.RxUtils;
import org.apache.commons.lang3.StringUtils;
import rx.Observable;
-import rx.android.observables.AndroidObservable;
import rx.functions.Action1;
import rx.functions.Func0;
-import rx.schedulers.Schedulers;
import android.graphics.Rect;
import android.os.Bundle;
@@ -80,13 +79,13 @@ public abstract class AbstractPopupActivity extends AbstractActivity implements
if (!cache.supportsGCVote()) {
return;
}
- AndroidObservable.bindActivity(this, Observable.defer(new Func0<Observable<GCVoteRating>>() {
+ RxUtils.subscribeOnIOThenUI(Observable.defer(new Func0<Observable<GCVoteRating>>() {
@Override
public Observable<GCVoteRating> call() {
final GCVoteRating rating = GCVote.getRating(cache.getGuid(), geocode);
return rating != null ? Observable.just(rating) : Observable.<GCVoteRating>empty();
}
- }).subscribeOn(Schedulers.io())).subscribe(new Action1<GCVoteRating>() {
+ }), new Action1<GCVoteRating>() {
@Override
public void call(final GCVoteRating rating) {
cache.setRating(rating.getRating());
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java
index f525955..0f86de6 100644
--- a/main/src/cgeo/geocaching/CacheDetailActivity.java
+++ b/main/src/cgeo/geocaching/CacheDetailActivity.java
@@ -45,6 +45,7 @@ import cgeo.geocaching.utils.CryptUtils;
import cgeo.geocaching.utils.ImageUtils;
import cgeo.geocaching.utils.Log;
import cgeo.geocaching.utils.MatcherWrapper;
+import cgeo.geocaching.utils.RxUtils;
import cgeo.geocaching.utils.SimpleCancellableHandler;
import cgeo.geocaching.utils.SimpleHandler;
import cgeo.geocaching.utils.TextUtils;
@@ -61,7 +62,6 @@ import rx.Observer;
import rx.Scheduler.Inner;
import rx.Subscriber;
import rx.Subscription;
-import rx.android.observables.AndroidObservable;
import rx.functions.Action1;
import rx.schedulers.Schedulers;
@@ -878,7 +878,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
view = (ScrollView) getLayoutInflater().inflate(R.layout.cachedetail_details_page, null);
// Start loading preview map
- AndroidObservable.bindActivity(CacheDetailActivity.this, previewMap.subscribeOn(Schedulers.io())).subscribe(new Action1<BitmapDrawable>() {
+ RxUtils.subscribeOnIOThenUI(previewMap, new Action1<BitmapDrawable>() {
@Override
public void call(final BitmapDrawable image) {
final Bitmap bitmap = image.getBitmap();
@@ -1605,71 +1605,70 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
}
});
- AndroidObservable.bindActivity(this, producer.subscribeOn(Schedulers.io()))
- .subscribe(new Observer<Spanned>() {
- @Override
- public void onCompleted() {
- if (null != loadingIndicatorView) {
- loadingIndicatorView.setVisibility(View.GONE);
- }
- }
+ RxUtils.subscribeOnIOThenUI(producer, new Observer<Spanned>() {
+ @Override
+ public void onCompleted() {
+ if (null != loadingIndicatorView) {
+ loadingIndicatorView.setVisibility(View.GONE);
+ }
+ }
- @Override
- public void onError(final Throwable throwable) {
- showToast(res.getString(R.string.err_load_descr_failed));
- }
+ @Override
+ public void onError(final Throwable throwable) {
+ showToast(res.getString(R.string.err_load_descr_failed));
+ }
- @Override
- public void onNext(final Spanned description) {
- if (StringUtils.isNotBlank(descriptionString)) {
- try {
- descriptionView.setText(description, TextView.BufferType.SPANNABLE);
- } catch (final 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(descriptionString);
- descriptionView.setVisibility(View.VISIBLE);
- registerForContextMenu(descriptionView);
+ @Override
+ public void onNext(final Spanned description) {
+ if (StringUtils.isNotBlank(descriptionString)) {
+ try {
+ descriptionView.setText(description, TextView.BufferType.SPANNABLE);
+ } catch (final 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(descriptionString);
+ descriptionView.setVisibility(View.VISIBLE);
+ registerForContextMenu(descriptionView);
+ }
+ }
+
+ /**
+ * Handle caches with black font color in dark skin and white font color in light skin
+ * by changing background color of the view
+ *
+ * @param text
+ * to be checked
+ */
+ private void fixTextColor(final String text) {
+ int backcolor;
+ if (Settings.isLightSkin()) {
+ backcolor = color.white;
+
+ for (final Pattern pattern : LIGHT_COLOR_PATTERNS) {
+ final MatcherWrapper matcher = new MatcherWrapper(pattern, text);
+ if (matcher.find()) {
+ descriptionView.setBackgroundResource(color.darker_gray);
+ return;
}
}
+ } else {
+ backcolor = color.black;
- /**
- * Handle caches with black font color in dark skin and white font color in light skin
- * by changing background color of the view
- *
- * @param text
- * to be checked
- */
- private void fixTextColor(final String text) {
- int backcolor;
- if (Settings.isLightSkin()) {
- backcolor = color.white;
-
- for (final Pattern pattern : LIGHT_COLOR_PATTERNS) {
- final MatcherWrapper matcher = new MatcherWrapper(pattern, text);
- if (matcher.find()) {
- descriptionView.setBackgroundResource(color.darker_gray);
- return;
- }
- }
- } else {
- backcolor = color.black;
-
- for (final Pattern pattern : DARK_COLOR_PATTERNS) {
- final MatcherWrapper matcher = new MatcherWrapper(pattern, text);
- if (matcher.find()) {
- descriptionView.setBackgroundResource(color.darker_gray);
- return;
- }
- }
+ for (final Pattern pattern : DARK_COLOR_PATTERNS) {
+ final MatcherWrapper matcher = new MatcherWrapper(pattern, text);
+ if (matcher.find()) {
+ descriptionView.setBackgroundResource(color.darker_gray);
+ return;
}
- descriptionView.setBackgroundResource(backcolor);
}
- });
+ }
+ descriptionView.setBackgroundResource(backcolor);
+ }
+ });
}
private class WaypointsViewCreator extends AbstractCachingPageViewCreator<ListView> {
diff --git a/main/src/cgeo/geocaching/DataStore.java b/main/src/cgeo/geocaching/DataStore.java
index f627d7d..ee6c9ef 100644
--- a/main/src/cgeo/geocaching/DataStore.java
+++ b/main/src/cgeo/geocaching/DataStore.java
@@ -20,16 +20,15 @@ import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.ui.dialog.Dialogs;
import cgeo.geocaching.utils.FileUtils;
import cgeo.geocaching.utils.Log;
+import cgeo.geocaching.utils.RxUtils;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.jdt.annotation.NonNull;
-import rx.android.observables.AndroidObservable;
import rx.functions.Action1;
import rx.functions.Func0;
import rx.functions.Func1;
-import rx.schedulers.Schedulers;
import rx.util.async.Async;
import android.app.Activity;
@@ -393,7 +392,7 @@ public class DataStore {
*/
public static void moveDatabase(final Activity fromActivity) {
final ProgressDialog dialog = ProgressDialog.show(fromActivity, fromActivity.getString(R.string.init_dbmove_dbmove), fromActivity.getString(R.string.init_dbmove_running), true, false);
- AndroidObservable.bindActivity(fromActivity, Async.fromFunc0(new Func0<Boolean>() {
+ RxUtils.subscribeOnIOThenUI(Async.fromCallable(new Func0<Boolean>() {
@Override
public Boolean call() {
if (!LocalStorage.isExternalStorageAvailable()) {
@@ -418,7 +417,7 @@ public class DataStore {
init();
return true;
}
- })).subscribeOn(Schedulers.io()).subscribe(new Action1<Boolean>() {
+ }), new Action1<Boolean>() {
@Override
public void call(final Boolean success) {
dialog.dismiss();
diff --git a/main/src/cgeo/geocaching/MainActivity.java b/main/src/cgeo/geocaching/MainActivity.java
index 3295d04..b82614b 100644
--- a/main/src/cgeo/geocaching/MainActivity.java
+++ b/main/src/cgeo/geocaching/MainActivity.java
@@ -21,6 +21,7 @@ import cgeo.geocaching.ui.Formatter;
import cgeo.geocaching.ui.dialog.Dialogs;
import cgeo.geocaching.utils.DatabaseBackupUtils;
import cgeo.geocaching.utils.Log;
+import cgeo.geocaching.utils.RxUtils;
import cgeo.geocaching.utils.Version;
import com.google.zxing.integration.android.IntentIntegrator;
@@ -29,9 +30,7 @@ import org.apache.commons.lang3.StringUtils;
import rx.Observable;
import rx.Observable.OnSubscribe;
import rx.Subscriber;
-import rx.android.observables.AndroidObservable;
import rx.functions.Action1;
-import rx.schedulers.Schedulers;
import rx.subscriptions.Subscriptions;
import android.app.AlertDialog;
@@ -551,10 +550,9 @@ public class MainActivity extends AbstractActivity {
subscriber.onError(e);
}
}
- }).subscribeOn(Schedulers.io());
- AndroidObservable.bindActivity(MainActivity.this, address)
- .onErrorResumeNext(Observable.from(geo.getCoords().toString()))
- .subscribe(new Action1<String>() {
+ });
+ RxUtils.subscribeOnIOThenUI(address.onErrorResumeNext(Observable.from(geo.getCoords().toString())),
+ new Action1<String>() {
@Override
public void call(final String address) {
navLocation.setText(address);
diff --git a/main/src/cgeo/geocaching/PocketQueryList.java b/main/src/cgeo/geocaching/PocketQueryList.java
index e624808..e748b29 100644
--- a/main/src/cgeo/geocaching/PocketQueryList.java
+++ b/main/src/cgeo/geocaching/PocketQueryList.java
@@ -2,13 +2,12 @@ package cgeo.geocaching;
import cgeo.geocaching.activity.ActivityMixin;
import cgeo.geocaching.connector.gc.GCParser;
+import cgeo.geocaching.utils.RxUtils;
import org.apache.commons.collections4.CollectionUtils;
import rx.Observable;
import rx.Observable.OnSubscribe;
import rx.Subscriber;
-import rx.android.observables.AndroidObservable;
-import rx.schedulers.Schedulers;
import rx.functions.Action1;
import android.app.Activity;
@@ -46,13 +45,13 @@ public final class PocketQueryList {
public static void promptForListSelection(final Activity activity, final Action1<PocketQueryList> runAfterwards) {
final Dialog waitDialog = ProgressDialog.show(activity, activity.getString(R.string.search_pocket_title), activity.getString(R.string.search_pocket_loading), true, true);
- AndroidObservable.bindActivity(activity, Observable.create(new OnSubscribe<List<PocketQueryList>>() {
+ RxUtils.subscribeOnIOThenUI(Observable.create(new OnSubscribe<List<PocketQueryList>>() {
@Override
public void call(final Subscriber<? super List<PocketQueryList>> subscriber) {
subscriber.onNext(GCParser.searchPocketQueryList());
subscriber.onCompleted();
}
- }).subscribeOn(Schedulers.io())).subscribe(new Action1<List<PocketQueryList>>() {
+ }), new Action1<List<PocketQueryList>>() {
@Override
public void call(final List<PocketQueryList> pocketQueryLists) {
waitDialog.dismiss();
diff --git a/main/src/cgeo/geocaching/StatusFragment.java b/main/src/cgeo/geocaching/StatusFragment.java
index 5229f1e..a59316f 100644
--- a/main/src/cgeo/geocaching/StatusFragment.java
+++ b/main/src/cgeo/geocaching/StatusFragment.java
@@ -3,9 +3,9 @@ package cgeo.geocaching;
import cgeo.geocaching.network.StatusUpdater;
import cgeo.geocaching.network.StatusUpdater.Status;
import cgeo.geocaching.utils.Log;
+import cgeo.geocaching.utils.RxUtils;
import rx.Subscription;
-import rx.android.observables.AndroidObservable;
import rx.functions.Action1;
import android.content.Intent;
@@ -30,7 +30,7 @@ public class StatusFragment extends Fragment {
final ViewGroup statusGroup = (ViewGroup) inflater.inflate(R.layout.status, container, false);
final ImageView statusIcon = (ImageView) statusGroup.findViewById(R.id.status_icon);
final TextView statusMessage = (TextView) statusGroup.findViewById(R.id.status_message);
- statusSubscription = AndroidObservable.bindFragment(this, StatusUpdater.latestStatus).subscribe(new Action1<Status>() {
+ statusSubscription = RxUtils.subscribeOnIOThenUI(StatusUpdater.latestStatus, new Action1<Status>() {
@Override
public void call(final Status status) {
if (status == null) {
diff --git a/main/src/cgeo/geocaching/TrackableActivity.java b/main/src/cgeo/geocaching/TrackableActivity.java
index 11f19f5..a14a397 100644
--- a/main/src/cgeo/geocaching/TrackableActivity.java
+++ b/main/src/cgeo/geocaching/TrackableActivity.java
@@ -20,12 +20,12 @@ import cgeo.geocaching.ui.UserNameClickListener;
import cgeo.geocaching.ui.logs.TrackableLogsViewCreator;
import cgeo.geocaching.utils.HtmlUtils;
import cgeo.geocaching.utils.Log;
+import cgeo.geocaching.utils.RxUtils;
import cgeo.geocaching.utils.UnknownTagsHandler;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
-import rx.android.observables.AndroidObservable;
import rx.android.observables.ViewObservable;
import rx.functions.Action1;
@@ -524,14 +524,12 @@ public class TrackableActivity extends AbstractViewPagerActivity<TrackableActivi
}
});
- AndroidObservable.bindActivity(TrackableActivity.this,
- new HtmlImage(geocode, true, 0, false).fetchDrawable(trackable.getImage()))
- .subscribe(new Action1<BitmapDrawable>() {
- @Override
- public void call(final BitmapDrawable bitmapDrawable) {
- trackableImage.setImageDrawable(bitmapDrawable);
- }
- });
+ RxUtils.subscribeThenUI(new HtmlImage(geocode, true, 0, false).fetchDrawable(trackable.getImage()), new Action1<BitmapDrawable>() {
+ @Override
+ public void call(final BitmapDrawable bitmapDrawable) {
+ trackableImage.setImageDrawable(bitmapDrawable);
+ }
+ });
imageView.addView(trackableImage);
}
diff --git a/main/src/cgeo/geocaching/activity/AbstractActivity.java b/main/src/cgeo/geocaching/activity/AbstractActivity.java
index fd83043..1ed9b9b 100644
--- a/main/src/cgeo/geocaching/activity/AbstractActivity.java
+++ b/main/src/cgeo/geocaching/activity/AbstractActivity.java
@@ -4,10 +4,10 @@ import butterknife.ButterKnife;
import cgeo.geocaching.CgeoApplication;
import cgeo.geocaching.R;
-import cgeo.geocaching.compatibility.Compatibility;
import cgeo.geocaching.network.Cookies;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.utils.ClipboardUtils;
+import cgeo.geocaching.utils.EditUtils;
import cgeo.geocaching.utils.HtmlUtils;
import cgeo.geocaching.utils.TranslationUtils;
@@ -86,11 +86,16 @@ public abstract class AbstractActivity extends FragmentActivity implements IAbst
}
protected static void disableSuggestions(final EditText edit) {
- Compatibility.disableSuggestions(edit);
+ EditUtils.disableSuggestions(edit);
}
protected void restartActivity() {
- Compatibility.restartActivity(this);
+ final Intent intent = getIntent();
+ overridePendingTransition(0, 0);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
+ finish();
+ overridePendingTransition(0, 0);
+ startActivity(intent);
}
@Override
diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel8.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel8.java
deleted file mode 100644
index 1189ff5..0000000
--- a/main/src/cgeo/geocaching/compatibility/AndroidLevel8.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package cgeo.geocaching.compatibility;
-
-import cgeo.geocaching.utils.Log;
-
-import android.annotation.TargetApi;
-import android.app.Activity;
-import android.app.backup.BackupManager;
-import android.os.Environment;
-import android.view.Surface;
-
-import java.io.File;
-
-@TargetApi(8)
-public class AndroidLevel8 implements AndroidLevel8Interface {
-
- @Override
- public void dataChanged(final String name) {
- Log.i("Requesting settings backup with settings manager");
- BackupManager.dataChanged(name);
- }
-
- @Override
- public int getRotationOffset(final Activity activity) {
- switch (activity.getWindowManager().getDefaultDisplay().getRotation()) {
- case Surface.ROTATION_90:
- return 90;
- case Surface.ROTATION_180:
- return 180;
- case Surface.ROTATION_270:
- return 270;
- default:
- return 0;
- }
- }
-
- @Override
- public File getExternalPictureDir() {
- return Environment.getExternalStoragePublicDirectory(
- Environment.DIRECTORY_PICTURES);
- }
-}
diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel8Emulation.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel8Emulation.java
deleted file mode 100644
index 6d5781f..0000000
--- a/main/src/cgeo/geocaching/compatibility/AndroidLevel8Emulation.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package cgeo.geocaching.compatibility;
-
-import android.annotation.TargetApi;
-import android.app.Activity;
-import android.content.res.Configuration;
-import android.os.Environment;
-import android.view.Display;
-
-import java.io.File;
-
-@TargetApi(value = 7)
-public class AndroidLevel8Emulation implements AndroidLevel8Interface {
-
- @Override
- public void dataChanged(final String name) {
- // do nothing
- }
-
- @Override
- public int getRotationOffset(Activity activity) {
- final Display display = activity.getWindowManager().getDefaultDisplay();
-
- // the non deprecated method is available in API 8+ only, so we cannot deal better with this
- @SuppressWarnings("deprecation")
- final int rotation = display.getOrientation();
-
- if (rotation == Configuration.ORIENTATION_LANDSCAPE) {
- return 90;
- }
- return 0;
- }
-
- @Override
- public File getExternalPictureDir() {
- // Use externalStorage/Pictures as default
- return new File(Environment.getExternalStorageDirectory(), "Pictures");
- }
-}
diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel8Interface.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel8Interface.java
deleted file mode 100644
index 2ba3708..0000000
--- a/main/src/cgeo/geocaching/compatibility/AndroidLevel8Interface.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package cgeo.geocaching.compatibility;
-
-import android.app.Activity;
-
-import java.io.File;
-
-public interface AndroidLevel8Interface {
- public void dataChanged(final String name);
- public int getRotationOffset(final Activity activity);
- public File getExternalPictureDir();
-} \ No newline at end of file
diff --git a/main/src/cgeo/geocaching/compatibility/Compatibility.java b/main/src/cgeo/geocaching/compatibility/Compatibility.java
index 31c9e31..a293cfd 100644
--- a/main/src/cgeo/geocaching/compatibility/Compatibility.java
+++ b/main/src/cgeo/geocaching/compatibility/Compatibility.java
@@ -1,89 +1,25 @@
package cgeo.geocaching.compatibility;
-import cgeo.geocaching.activity.AbstractActivity;
-import cgeo.geocaching.utils.AngleUtils;
-import cgeo.geocaching.utils.Log;
-
-import org.apache.commons.lang3.reflect.MethodUtils;
import org.eclipse.jdt.annotation.NonNull;
import android.app.Activity;
-import android.content.Intent;
import android.graphics.Point;
import android.os.Build;
-import android.text.InputType;
-import android.widget.EditText;
-
-import java.io.File;
public final class Compatibility {
private final static int sdkVersion = Build.VERSION.SDK_INT;
- private final static boolean isLevel8 = sdkVersion >= 8;
- private final static boolean isLevel5 = sdkVersion >= 5;
- private final static AndroidLevel8Interface level8;
private final static AndroidLevel11Interface level11;
private final static AndroidLevel13Interface level13;
private final static AndroidLevel19Interface level19;
static {
- level8 = isLevel8 ? new AndroidLevel8() : new AndroidLevel8Emulation();
level11 = sdkVersion >= 11 ? new AndroidLevel11() : new AndroidLevel11Emulation();
level13 = sdkVersion >= 13 ? new AndroidLevel13() : new AndroidLevel13Emulation();
level19 = sdkVersion >= 19 ? new AndroidLevel19() : new AndroidLevel19Emulation();
}
- /**
- * Add 90, 180 or 270 degrees to the given rotation.
- *
- * @param directionNowPre
- * the direction in degrees before adjustment
- * @param activity
- * the activity whose rotation is used to adjust the direction
- * @return the adjusted direction, in the [0, 360[ range
- */
- public static float getDirectionNow(final float directionNowPre, final Activity activity) {
- return AngleUtils.normalize(directionNowPre + level8.getRotationOffset(activity));
- }
-
- public static void dataChanged(final String name) {
- level8.dataChanged(name);
- }
-
- public static void disableSuggestions(EditText edit) {
- if (isLevel5) {
- edit.setInputType(edit.getInputType()
- | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
- | InputType.TYPE_TEXT_VARIATION_FILTER);
- }
- else {
- edit.setInputType(edit.getInputType()
- | InputType.TYPE_TEXT_VARIATION_FILTER);
- }
- }
-
- private static void overridePendingTransition(final Activity activity, int enterAnim, int exitAnim) {
- try {
- MethodUtils.invokeMethod(activity, "overridePendingTransition", enterAnim, exitAnim);
- } catch (Exception e) {
- Log.e("cannot call overridePendingTransition", e);
- }
- }
-
- public static void restartActivity(AbstractActivity activity) {
- final Intent intent = activity.getIntent();
- if (isLevel5) {
- overridePendingTransition(activity, 0, 0);
- intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
- }
- activity.finish();
- if (isLevel5) {
- overridePendingTransition(activity, 0, 0);
- }
- activity.startActivity(intent);
- }
-
public static void invalidateOptionsMenu(final Activity activity) {
level11.invalidateOptionsMenu(activity);
}
@@ -96,10 +32,6 @@ public final class Compatibility {
return level13.getDisplaySize();
}
- public static File getExternalPictureDir() {
- return level8.getExternalPictureDir();
- }
-
public static void importGpxFromStorageAccessFramework(final @NonNull Activity activity, int requestCodeImportGpx) {
level19.importGpxFromStorageAccessFramework(activity, requestCodeImportGpx);
}
diff --git a/main/src/cgeo/geocaching/connector/gc/RecaptchaHandler.java b/main/src/cgeo/geocaching/connector/gc/RecaptchaHandler.java
index 934cc88..2fd782c 100644
--- a/main/src/cgeo/geocaching/connector/gc/RecaptchaHandler.java
+++ b/main/src/cgeo/geocaching/connector/gc/RecaptchaHandler.java
@@ -4,12 +4,10 @@ import cgeo.geocaching.R;
import cgeo.geocaching.loaders.RecaptchaReceiver;
import cgeo.geocaching.network.Network;
import cgeo.geocaching.utils.Log;
+import cgeo.geocaching.utils.RxUtils;
import org.apache.commons.io.IOUtils;
-
import rx.Observable;
-import rx.android.observables.AndroidObservable;
-import rx.schedulers.Schedulers;
import rx.functions.Action1;
import rx.functions.Func0;
@@ -39,17 +37,36 @@ public class RecaptchaHandler extends Handler {
}
private void loadChallenge(final ImageView imageView, final View reloadButton) {
- getCaptcha().subscribe(new Action1<Bitmap>() {
+ final Observable<Bitmap> captcha = Observable.defer(new Func0<Observable<? extends Bitmap>>() {
+ @Override
+ public Observable<? extends Bitmap> call() {
+ final String url = "http://www.google.com/recaptcha/api/image?c=" + recaptchaReceiver.getChallenge();
+ final InputStream is = Network.getResponseStream(Network.getRequest(url));
+ if (is != null) {
+ try {
+ final Bitmap img = BitmapFactory.decodeStream(is);
+ return Observable.from(img);
+ } catch (final Exception e) {
+ Log.e("RecaptchaHandler.getCaptcha", e);
+ return Observable.error(e);
+ } finally {
+ IOUtils.closeQuietly(is);
+ }
+ }
+ return Observable.empty();
+ }
+ });
+ RxUtils.subscribeOnIOThenUI(captcha, new Action1<Bitmap>() {
@Override
public void call(final Bitmap bitmap) {
imageView.setImageBitmap(bitmap);
}
}, new Action1<Throwable>() {
- @Override
- public void call(final Throwable throwable) {
- // Do nothing
- }
- });
+ @Override
+ public void call(final Throwable throwable) {
+ // Do nothing
+ }
+ });
reloadButton.setEnabled(true);
}
@@ -89,26 +106,25 @@ public class RecaptchaHandler extends Handler {
}
private Observable<Bitmap> getCaptcha() {
- return AndroidObservable.bindActivity(activity,
- Observable.defer(new Func0<Observable<? extends Bitmap>>() {
- @Override
- public Observable<? extends Bitmap> call() {
- final String url = "http://www.google.com/recaptcha/api/image?c=" + recaptchaReceiver.getChallenge();
- final InputStream is = Network.getResponseStream(Network.getRequest(url));
- if (is != null) {
- try {
- final Bitmap img = BitmapFactory.decodeStream(is);
- return Observable.from(img);
- } catch (final Exception e) {
- Log.e("RecaptchaHandler.getCaptcha", e);
- return Observable.error(e);
- } finally {
- IOUtils.closeQuietly(is);
- }
- }
- return Observable.empty();
+ return Observable.defer(new Func0<Observable<? extends Bitmap>>() {
+ @Override
+ public Observable<? extends Bitmap> call() {
+ final String url = "http://www.google.com/recaptcha/api/image?c=" + recaptchaReceiver.getChallenge();
+ final InputStream is = Network.getResponseStream(Network.getRequest(url));
+ if (is != null) {
+ try {
+ final Bitmap img = BitmapFactory.decodeStream(is);
+ return Observable.from(img);
+ } catch (final Exception e) {
+ Log.e("RecaptchaHandler.getCaptcha", e);
+ return Observable.error(e);
+ } finally {
+ IOUtils.closeQuietly(is);
}
- }).subscribeOn(Schedulers.io()));
+ }
+ return Observable.empty();
+ }
+ });
}
}
diff --git a/main/src/cgeo/geocaching/network/HtmlImage.java b/main/src/cgeo/geocaching/network/HtmlImage.java
index 5d713eb..bde85ee 100644
--- a/main/src/cgeo/geocaching/network/HtmlImage.java
+++ b/main/src/cgeo/geocaching/network/HtmlImage.java
@@ -10,6 +10,7 @@ import cgeo.geocaching.utils.CancellableHandler;
import cgeo.geocaching.utils.FileUtils;
import cgeo.geocaching.utils.ImageUtils;
import cgeo.geocaching.utils.Log;
+import cgeo.geocaching.utils.RxUtils;
import ch.boye.httpclientandroidlib.HttpResponse;
import ch.boye.httpclientandroidlib.androidextra.Base64;
@@ -127,9 +128,8 @@ public class HtmlImage implements Html.ImageGetter {
return drawable.toBlockingObservable().lastOrDefault(null);
}
- // Caches are loaded from disk on Schedulers.computation() to avoid using more threads than processors
- // on the phone while decoding the image. Downloads happen on downloadScheduler, in parallel with image
- // decoding.
+ // Caches are loaded from disk on a computation scheduler to avoid using more threads than cores while decoding
+ // the image. Downloads happen on downloadScheduler, in parallel with image decoding.
public Observable<BitmapDrawable> fetchDrawable(final String url) {
if (StringUtils.isBlank(url) || ImageUtils.containsPattern(url, BLOCKED)) {
@@ -143,7 +143,7 @@ public class HtmlImage implements Html.ImageGetter {
@Override
public void call(final Subscriber<? super BitmapDrawable> subscriber) {
subscription.add(subscriber);
- subscriber.add(Schedulers.computation().schedule(new Action1<Inner>() {
+ subscriber.add(RxUtils.computationScheduler.schedule(new Action1<Inner>() {
@Override
public void call(final Inner inner) {
final Pair<BitmapDrawable, Boolean> loaded = loadFromDisk();
@@ -195,7 +195,7 @@ public class HtmlImage implements Html.ImageGetter {
if (onlySave) {
subscriber.onCompleted();
} else {
- Schedulers.computation().schedule(new Action1<Inner>() {
+ RxUtils.computationScheduler.schedule(new Action1<Inner>() {
@Override
public void call(final Inner inner) {
final Pair<BitmapDrawable, Boolean> loaded = loadFromDisk();
diff --git a/main/src/cgeo/geocaching/search/AutoCompleteAdapter.java b/main/src/cgeo/geocaching/search/AutoCompleteAdapter.java
index 885ed48..45559f4 100644
--- a/main/src/cgeo/geocaching/search/AutoCompleteAdapter.java
+++ b/main/src/cgeo/geocaching/search/AutoCompleteAdapter.java
@@ -1,7 +1,6 @@
package cgeo.geocaching.search;
import org.apache.commons.lang3.StringUtils;
-
import rx.functions.Func1;
import android.content.Context;
@@ -36,7 +35,7 @@ public class AutoCompleteAdapter extends ArrayAdapter<String> {
@Override
public Filter getFilter() {
- Filter filter = new Filter() {
+ return new Filter() {
@Override
protected FilterResults performFiltering(CharSequence constraint) {
@@ -67,6 +66,5 @@ public class AutoCompleteAdapter extends ArrayAdapter<String> {
}
}
};
- return filter;
}
} \ No newline at end of file
diff --git a/main/src/cgeo/geocaching/sensors/DirectionProvider.java b/main/src/cgeo/geocaching/sensors/DirectionProvider.java
index 8efbc1f..44732f7 100644
--- a/main/src/cgeo/geocaching/sensors/DirectionProvider.java
+++ b/main/src/cgeo/geocaching/sensors/DirectionProvider.java
@@ -1,9 +1,8 @@
package cgeo.geocaching.sensors;
-import android.os.Process;
-import cgeo.geocaching.compatibility.Compatibility;
-
+import cgeo.geocaching.utils.AngleUtils;
import cgeo.geocaching.utils.StartableHandlerThread;
+
import rx.Observable;
import rx.Observable.OnSubscribe;
import rx.Subscriber;
@@ -15,7 +14,9 @@ import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
-import android.os.*;
+import android.os.Handler;
+import android.os.Process;
+import android.view.Surface;
public class DirectionProvider {
@@ -24,8 +25,8 @@ public class DirectionProvider {
static class Listener implements SensorEventListener, StartableHandlerThread.Callback {
private int count = 0;
- private SensorManager sensorManager;
+ private SensorManager sensorManager;
@Override
public void onSensorChanged(final SensorEvent event) {
subject.onNext(event.values[0]);
@@ -67,10 +68,10 @@ public class DirectionProvider {
private static final StartableHandlerThread handlerThread =
new StartableHandlerThread("DirectionProvider thread", Process.THREAD_PRIORITY_BACKGROUND, new Listener());
+
static {
handlerThread.start();
}
-
static public Observable<Float> create(final Context context) {
return Observable.create(new OnSubscribe<Float>() {
@Override
@@ -90,7 +91,20 @@ public class DirectionProvider {
*/
public static float getDirectionNow(final Activity activity, final float direction) {
- return Compatibility.getDirectionNow(direction, activity);
+ return AngleUtils.normalize(direction + getRotationOffset(activity));
+ }
+
+ private static int getRotationOffset(final Activity activity) {
+ switch (activity.getWindowManager().getDefaultDisplay().getRotation()) {
+ case Surface.ROTATION_90:
+ return 90;
+ case Surface.ROTATION_180:
+ return 180;
+ case Surface.ROTATION_270:
+ return 270;
+ default:
+ return 0;
+ }
}
}
diff --git a/main/src/cgeo/geocaching/sensors/GeoDirHandler.java b/main/src/cgeo/geocaching/sensors/GeoDirHandler.java
index 37a0c5b..09c0794 100644
--- a/main/src/cgeo/geocaching/sensors/GeoDirHandler.java
+++ b/main/src/cgeo/geocaching/sensors/GeoDirHandler.java
@@ -16,7 +16,7 @@ import rx.subscriptions.CompositeSubscription;
* GeoData and Direction handler.
* <p>
* To use this class, override {@link #updateGeoDir(IGeoData, float)}. You need to start the handler using
- * {@link #start()}. A good place to do so might be the {@code onResume} method of the Activity. Stop the Handler
+ * {@link #start(int)}. A good place to do so might be the {@code onResume} method of the Activity. Stop the Handler
* accordingly in {@code onPause}.
*/
public abstract class GeoDirHandler {
diff --git a/main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java b/main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java
index 8a9d1c7..298270b 100644
--- a/main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java
+++ b/main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java
@@ -5,13 +5,12 @@ import cgeo.geocaching.activity.ActivityMixin;
import cgeo.geocaching.enumerations.StatusCode;
import cgeo.geocaching.network.Cookies;
import cgeo.geocaching.ui.dialog.Dialogs;
+import cgeo.geocaching.utils.RxUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
-import rx.android.observables.AndroidObservable;
import rx.functions.Action1;
import rx.functions.Func0;
-import rx.schedulers.Schedulers;
import rx.util.async.Async;
import android.app.ProgressDialog;
@@ -38,7 +37,7 @@ public abstract class AbstractCheckCredentialsPreference extends AbstractClickab
protected abstract ImmutablePair<String, String> getCredentials();
- protected abstract ImmutablePair<StatusCode, Drawable> login();
+ protected abstract ImmutablePair<StatusCode, ? extends Drawable> login();
private class LoginCheckClickListener implements OnPreferenceClickListener {
final private SettingsActivity activity;
@@ -65,14 +64,14 @@ public abstract class AbstractCheckCredentialsPreference extends AbstractClickab
loginDialog.setCancelable(false);
Cookies.clearCookies();
- AndroidObservable.bindActivity(activity, Async.start(new Func0<ImmutablePair<StatusCode, Drawable>>() {
+ RxUtils.subscribeOnIOThenUI(Async.start(new Func0<ImmutablePair<StatusCode, ? extends Drawable>>() {
@Override
- public ImmutablePair<StatusCode, Drawable> call() {
+ public ImmutablePair<StatusCode, ? extends Drawable> call() {
return login();
}
- }, Schedulers.io())).subscribe(new Action1<ImmutablePair<StatusCode, Drawable>>() {
+ }), new Action1<ImmutablePair<StatusCode, ? extends Drawable>>() {
@Override
- public void call(final ImmutablePair<StatusCode, Drawable> loginInfo) {
+ public void call(final ImmutablePair<StatusCode, ? extends Drawable> loginInfo) {
loginDialog.dismiss();
if (loginInfo.getLeft() == StatusCode.NO_ERROR) {
Dialogs.message(activity, R.string.init_login_popup, R.string.init_login_popup_ok, loginInfo.getRight());
@@ -81,7 +80,8 @@ public abstract class AbstractCheckCredentialsPreference extends AbstractClickab
res.getString(R.string.init_login_popup_failed_reason)
+ " "
+ loginInfo.getLeft().getErrorString(res)
- + ".");
+ + "."
+ );
}
activity.initBasicMemberPreferences();
}
diff --git a/main/src/cgeo/geocaching/settings/CheckGcCredentialsPreference.java b/main/src/cgeo/geocaching/settings/CheckGcCredentialsPreference.java
index 8257fdd..2a05f47 100644
--- a/main/src/cgeo/geocaching/settings/CheckGcCredentialsPreference.java
+++ b/main/src/cgeo/geocaching/settings/CheckGcCredentialsPreference.java
@@ -25,14 +25,14 @@ public class CheckGcCredentialsPreference extends AbstractCheckCredentialsPrefer
}
@Override
- protected ImmutablePair<StatusCode, Drawable> login() {
+ protected ImmutablePair<StatusCode, ? extends Drawable> login() {
final StatusCode loginResult = GCLogin.getInstance().login();
switch (loginResult) {
case NO_ERROR:
GCLogin.detectGcCustomDate();
- return new ImmutablePair<StatusCode, Drawable>(StatusCode.NO_ERROR, GCLogin.getInstance().downloadAvatarAndGetMemberStatus());
+ return ImmutablePair.of(StatusCode.NO_ERROR, GCLogin.getInstance().downloadAvatarAndGetMemberStatus());
default:
- return new ImmutablePair<StatusCode, Drawable>(loginResult, null);
+ return ImmutablePair.of(loginResult, null);
}
}
}
diff --git a/main/src/cgeo/geocaching/settings/RegisterSend2CgeoPreference.java b/main/src/cgeo/geocaching/settings/RegisterSend2CgeoPreference.java
index 49239bc..1b18438 100644
--- a/main/src/cgeo/geocaching/settings/RegisterSend2CgeoPreference.java
+++ b/main/src/cgeo/geocaching/settings/RegisterSend2CgeoPreference.java
@@ -6,14 +6,13 @@ import cgeo.geocaching.network.Network;
import cgeo.geocaching.network.Parameters;
import cgeo.geocaching.ui.dialog.Dialogs;
import cgeo.geocaching.utils.Log;
+import cgeo.geocaching.utils.RxUtils;
import ch.boye.httpclientandroidlib.HttpResponse;
import org.apache.commons.lang3.StringUtils;
import rx.Observable;
-import rx.android.observables.AndroidObservable;
import rx.functions.Action1;
import rx.functions.Func0;
-import rx.schedulers.Schedulers;
import android.app.ProgressDialog;
import android.content.Context;
@@ -53,30 +52,29 @@ public class RegisterSend2CgeoPreference extends AbstractClickablePreference {
activity.getString(R.string.init_sendToCgeo_registering), true);
progressDialog.setCancelable(false);
- AndroidObservable.bindActivity(activity,
- Observable.defer(new Func0<Observable<Integer>>() {
- @Override
- public Observable<Integer> call() {
- final String nam = StringUtils.defaultString(deviceName);
- final String cod = StringUtils.defaultString(deviceCode);
-
- final Parameters params = new Parameters("name", nam, "code", cod);
- HttpResponse response = Network.getRequest("http://send2.cgeo.org/auth.html", params);
-
- if (response != null && response.getStatusLine().getStatusCode() == 200) {
- //response was OK
- final String[] strings = StringUtils.split(Network.getResponseData(response), ',');
- Settings.setWebNameCode(nam, strings[0]);
- try {
- return Observable.from(Integer.parseInt(strings[1].trim()));
- } catch (final Exception e) {
- Log.e("RegisterSend2CgeoPreference", e);
- }
- }
-
- return Observable.empty();
+ RxUtils.subscribeOnIOThenUI(Observable.defer(new Func0<Observable<Integer>>() {
+ @Override
+ public Observable<Integer> call() {
+ final String nam = StringUtils.defaultString(deviceName);
+ final String cod = StringUtils.defaultString(deviceCode);
+
+ final Parameters params = new Parameters("name", nam, "code", cod);
+ HttpResponse response = Network.getRequest("http://send2.cgeo.org/auth.html", params);
+
+ if (response != null && response.getStatusLine().getStatusCode() == 200) {
+ //response was OK
+ final String[] strings = StringUtils.split(Network.getResponseData(response), ',');
+ Settings.setWebNameCode(nam, strings[0]);
+ try {
+ return Observable.from(Integer.parseInt(strings[1].trim()));
+ } catch (final Exception e) {
+ Log.e("RegisterSend2CgeoPreference", e);
}
- }).firstOrDefault(0).subscribeOn(Schedulers.io())).subscribe(new Action1<Integer>() {
+ }
+
+ return Observable.empty();
+ }
+ }).firstOrDefault(0), new Action1<Integer>() {
@Override
public void call(final Integer pin) {
progressDialog.dismiss();
diff --git a/main/src/cgeo/geocaching/settings/Settings.java b/main/src/cgeo/geocaching/settings/Settings.java
index 6c3c984..59140ba 100644
--- a/main/src/cgeo/geocaching/settings/Settings.java
+++ b/main/src/cgeo/geocaching/settings/Settings.java
@@ -462,7 +462,7 @@ public class Settings {
}
public static CoordInputFormatEnum getCoordInputFormat() {
- return CoordInputFormatEnum.fromInt(getInt(R.string.pref_coordinputformat, 0));
+ return CoordInputFormatEnum.fromInt(getInt(R.string.pref_coordinputformat, CoordInputFormatEnum.Min.ordinal()));
}
public static void setCoordInputFormat(final CoordInputFormatEnum format) {
diff --git a/main/src/cgeo/geocaching/settings/SettingsActivity.java b/main/src/cgeo/geocaching/settings/SettingsActivity.java
index 76f48e2..8834a3b 100644
--- a/main/src/cgeo/geocaching/settings/SettingsActivity.java
+++ b/main/src/cgeo/geocaching/settings/SettingsActivity.java
@@ -8,7 +8,6 @@ import cgeo.geocaching.SelectMapfileActivity;
import cgeo.geocaching.activity.ActivityMixin;
import cgeo.geocaching.apps.cache.navi.NavigationAppFactory;
import cgeo.geocaching.apps.cache.navi.NavigationAppFactory.NavigationAppsEnum;
-import cgeo.geocaching.compatibility.Compatibility;
import cgeo.geocaching.connector.gc.GCConnector;
import cgeo.geocaching.connector.gc.GCLogin;
import cgeo.geocaching.files.SimpleDirChooser;
@@ -21,6 +20,7 @@ import org.apache.commons.lang3.StringUtils;
import org.openintents.intents.FileManagerIntents;
import android.app.ProgressDialog;
+import android.app.backup.BackupManager;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
@@ -111,7 +111,8 @@ public class SettingsActivity extends PreferenceActivity {
@Override
protected void onPause() {
- Compatibility.dataChanged(getPackageName());
+ Log.i("Requesting settings backup with settings manager");
+ BackupManager.dataChanged(getPackageName());
super.onPause();
}
diff --git a/main/src/cgeo/geocaching/ui/CompassView.java b/main/src/cgeo/geocaching/ui/CompassView.java
index eaaf711..f7111f7 100644
--- a/main/src/cgeo/geocaching/ui/CompassView.java
+++ b/main/src/cgeo/geocaching/ui/CompassView.java
@@ -16,7 +16,6 @@ import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PaintFlagsDrawFilter;
import android.util.AttributeSet;
-import android.util.FloatMath;
import android.view.View;
import java.util.concurrent.TimeUnit;
@@ -158,19 +157,19 @@ public class CompassView extends View {
* @return the new value
*/
static protected float smoothUpdate(float goal, float actual) {
- final float diff = AngleUtils.difference(actual, goal);
+ final double diff = AngleUtils.difference(actual, goal);
- float offset = 0;
+ double offset = 0;
// If the difference is smaller than 1 degree, do nothing as it
// causes the arrow to vibrate. Round away from 0.
if (diff > 1.0) {
- offset = FloatMath.ceil(diff / 10.0f); // for larger angles, rotate faster
+ offset = Math.ceil(diff / 10.0); // for larger angles, rotate faster
} else if (diff < 1.0) {
- offset = FloatMath.floor(diff / 10.0f);
+ offset = Math.floor(diff / 10.0);
}
- return AngleUtils.normalize(actual + offset);
+ return AngleUtils.normalize((float) (actual + offset));
}
@Override
diff --git a/main/src/cgeo/geocaching/ui/ImagesList.java b/main/src/cgeo/geocaching/ui/ImagesList.java
index 31a61b5..d3f107a 100644
--- a/main/src/cgeo/geocaching/ui/ImagesList.java
+++ b/main/src/cgeo/geocaching/ui/ImagesList.java
@@ -6,11 +6,11 @@ import cgeo.geocaching.files.LocalStorage;
import cgeo.geocaching.list.StoredList;
import cgeo.geocaching.network.HtmlImage;
import cgeo.geocaching.utils.Log;
+import cgeo.geocaching.utils.RxUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import rx.Subscription;
-import rx.android.observables.AndroidObservable;
import rx.functions.Action0;
import rx.functions.Action1;
import rx.subscriptions.CompositeSubscription;
@@ -116,13 +116,12 @@ public class ImagesList {
final ImageView imageView = (ImageView) inflater.inflate(R.layout.image_item, null);
assert(imageView != null);
- subscriptions.add(AndroidObservable.bindActivity(activity, imgGetter.fetchDrawable(img.getUrl()))
- .subscribe(new Action1<BitmapDrawable>() {
- @Override
- public void call(final BitmapDrawable image) {
- display(imageView, image, img, rowView);
- }
- }));
+ subscriptions.add(RxUtils.subscribeThenUI(imgGetter.fetchDrawable(img.getUrl()), new Action1<BitmapDrawable>() {
+ @Override
+ public void call(final BitmapDrawable image) {
+ display(imageView, image, img, rowView);
+ }
+ }));
rowView.addView(imageView);
imagesView.addView(rowView);
}
diff --git a/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java b/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java
index c150434..cb52319 100644
--- a/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java
+++ b/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java
@@ -5,11 +5,11 @@ import cgeo.geocaching.sensors.IGeoData;
import cgeo.geocaching.R;
import cgeo.geocaching.activity.AbstractActivity;
import cgeo.geocaching.activity.ActivityMixin;
-import cgeo.geocaching.compatibility.Compatibility;
import cgeo.geocaching.geopoint.Geopoint;
import cgeo.geocaching.geopoint.GeopointFormatter;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.settings.Settings.CoordInputFormatEnum;
+import cgeo.geocaching.utils.EditUtils;
import org.apache.commons.lang3.StringUtils;
@@ -103,14 +103,14 @@ public class CoordinatesInputDialog extends NoTitleDialog {
eLonSec.addTextChangedListener(new TextChanged(eLonSec));
eLonSub.addTextChangedListener(new TextChanged(eLonSub));
- Compatibility.disableSuggestions(eLatDeg);
- Compatibility.disableSuggestions(eLatMin);
- Compatibility.disableSuggestions(eLatSec);
- Compatibility.disableSuggestions(eLatSub);
- Compatibility.disableSuggestions(eLonDeg);
- Compatibility.disableSuggestions(eLonMin);
- Compatibility.disableSuggestions(eLonSec);
- Compatibility.disableSuggestions(eLonSub);
+ EditUtils.disableSuggestions(eLatDeg);
+ EditUtils.disableSuggestions(eLatMin);
+ EditUtils.disableSuggestions(eLatSec);
+ EditUtils.disableSuggestions(eLatSub);
+ EditUtils.disableSuggestions(eLonDeg);
+ EditUtils.disableSuggestions(eLonMin);
+ EditUtils.disableSuggestions(eLonSec);
+ EditUtils.disableSuggestions(eLonSub);
bLat.setOnClickListener(new ButtonClickListener());
bLon.setOnClickListener(new ButtonClickListener());
diff --git a/main/src/cgeo/geocaching/utils/EditUtils.java b/main/src/cgeo/geocaching/utils/EditUtils.java
index d975df9..0bfe2ea 100644
--- a/main/src/cgeo/geocaching/utils/EditUtils.java
+++ b/main/src/cgeo/geocaching/utils/EditUtils.java
@@ -1,5 +1,6 @@
package cgeo.geocaching.utils;
+import android.text.InputType;
import android.view.KeyEvent;
import android.view.View;
import android.view.inputmethod.EditorInfo;
@@ -41,4 +42,9 @@ public final class EditUtils {
}
+ public static void disableSuggestions(EditText edit) {
+ edit.setInputType(edit.getInputType()
+ | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
+ | InputType.TYPE_TEXT_VARIATION_FILTER);
+ }
}
diff --git a/main/src/cgeo/geocaching/utils/ImageUtils.java b/main/src/cgeo/geocaching/utils/ImageUtils.java
index eb91724..671ded9 100644
--- a/main/src/cgeo/geocaching/utils/ImageUtils.java
+++ b/main/src/cgeo/geocaching/utils/ImageUtils.java
@@ -15,6 +15,7 @@ import android.graphics.Rect;
import android.graphics.drawable.BitmapDrawable;
import android.media.ExifInterface;
import android.net.Uri;
+import android.os.Environment;
import java.io.BufferedOutputStream;
import java.io.File;
@@ -200,8 +201,8 @@ public final class ImageUtils {
public static File getOutputImageFile() {
// To be safe, you should check that the SDCard is mounted
// using Environment.getExternalStorageState() before doing this.
+ final File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "cgeo");
- File mediaStorageDir = new File(Compatibility.getExternalPictureDir(), "cgeo");
// This location works best if you want the created images to be shared
// between applications and persist after your app has been uninstalled.
diff --git a/main/src/cgeo/geocaching/utils/RxUtils.java b/main/src/cgeo/geocaching/utils/RxUtils.java
new file mode 100644
index 0000000..9926bab
--- /dev/null
+++ b/main/src/cgeo/geocaching/utils/RxUtils.java
@@ -0,0 +1,51 @@
+package cgeo.geocaching.utils;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Scheduler;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.functions.Action1;
+import rx.schedulers.Schedulers;
+
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+
+public class RxUtils {
+
+ // Utility class, not to be instanciated
+ private RxUtils() {}
+
+ final static private int cores = Runtime.getRuntime().availableProcessors();
+ public final static Scheduler computationScheduler = Schedulers.executor(new ThreadPoolExecutor(1, cores, 5, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>()));
+
+ public static <T> Subscription subscribeThenUI(final Observable<T> observable, final Observer<T> observer) {
+ return observable.observeOn(AndroidSchedulers.mainThread()).subscribe(observer);
+ }
+
+ public static <T> Subscription subscribeThenUI(final Observable<T> observable, final Action1<T> action) {
+ return observable.observeOn(AndroidSchedulers.mainThread()).subscribe(action);
+ }
+
+ public static <T> Subscription subscribeThenUI(final Observable<T> observable, final Action1<T> action, final Action1<Throwable> onError) {
+ return observable.observeOn(AndroidSchedulers.mainThread()).subscribe(action, onError);
+ }
+
+ public static <T> Observable<T> onIO(final Observable<T> observable) {
+ return observable.subscribeOn(Schedulers.io());
+ }
+
+ public static <T> Subscription subscribeOnIOThenUI(final Observable<T> observable, final Observer<T> observer) {
+ return subscribeThenUI(onIO(observable), observer);
+ }
+
+ public static <T> Subscription subscribeOnIOThenUI(final Observable<T> observable, final Action1<T> action) {
+ return subscribeThenUI(onIO(observable), action);
+ }
+
+ public static <T> Subscription subscribeOnIOThenUI(final Observable<T> observable, final Action1<T> action, final Action1<Throwable> onError) {
+ return subscribeThenUI(onIO(observable), action, onError);
+ }
+
+}
diff --git a/main/templates/keys.xml b/main/templates/keys.xml
index e667df5..63f7e58 100644
--- a/main/templates/keys.xml
+++ b/main/templates/keys.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<resources>
+<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Google Maps -->
<string name="maps_api_key" translatable="false">@maps.api.key@</string>
@@ -10,4 +10,16 @@
<!-- Opencaching.pl -->
<string name="oc_pl_okapi_consumer_key" translatable="false">@ocpl.okapi.consumer.key@</string>
<string name="oc_pl_okapi_consumer_secret" translatable="false">@ocpl.okapi.consumer.secret@</string>
+ <!-- disable unused resource warning until remaining implementation has been merged -->
+ <!-- Opencaching.us -->
+ <string name="oc_us_okapi_consumer_key" translatable="false" tools:ignore="UnusedResources">@ocus.okapi.consumer.key@</string>
+ <string name="oc_us_okapi_consumer_secret" translatable="false" tools:ignore="UnusedResources">@ocus.okapi.consumer.secret@</string>
+
+ <!-- Opencaching.nl -->
+ <string name="oc_nl_okapi_consumer_key" translatable="false" tools:ignore="UnusedResources">@ocnl.okapi.consumer.key@</string>
+ <string name="oc_nl_okapi_consumer_secret" translatable="false" tools:ignore="UnusedResources">@ocnl.okapi.consumer.secret@</string>
+
+ <!-- Opencaching.ro -->
+ <string name="oc_ro_okapi_consumer_key" translatable="false" tools:ignore="UnusedResources">@ocro.okapi.consumer.key@</string>
+ <string name="oc_ro_okapi_consumer_secret" translatable="false" tools:ignore="UnusedResources">@ocro.okapi.consumer.secret@</string>
</resources>
diff --git a/main/templates/private.properties b/main/templates/private.properties
index 0c40fda..2451048 100644
--- a/main/templates/private.properties
+++ b/main/templates/private.properties
@@ -30,3 +30,24 @@ ocde.okapi.consumer.secret=
ocpl.okapi.consumer.key=
ocpl.okapi.consumer.secret=
+
+# These keys allow c:geo to be registered at openaching.us and
+# to search and log caches in your name
+# You can request your own at http://www.opencaching.us/okapi/signup.html
+
+ocus.okapi.consumer.key=
+ocus.okapi.consumer.secret=
+
+# These keys allow c:geo to be registered at openaching.nl and
+# to search and log caches in your name
+# You can request your own at http://www.opencaching.nl/okapi/signup.html
+
+ocnl.okapi.consumer.key=
+ocnl.okapi.consumer.secret=
+
+# These keys allow c:geo to be registered at openaching.ro and
+# to search and log caches in your name
+# You can request your own at http://oc.opencaching.ro/okapi/signup.html
+
+ocro.okapi.consumer.key=
+ocro.okapi.consumer.secret=
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index 827115f..690838c 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -5,7 +5,7 @@
android:versionName="1.0" >
<uses-sdk
- android:minSdkVersion="7"
+ android:minSdkVersion="8"
android:targetSdkVersion="13" />
<uses-feature
diff --git a/tests/src/cgeo/geocaching/compatibility/CompatibilityTest.java b/tests/src/cgeo/geocaching/sensors/SensorsTest.java
index 651bd08..7bf723a 100644
--- a/tests/src/cgeo/geocaching/compatibility/CompatibilityTest.java
+++ b/tests/src/cgeo/geocaching/sensors/SensorsTest.java
@@ -1,16 +1,16 @@
-package cgeo.geocaching.compatibility;
+package cgeo.geocaching.sensors;
import cgeo.geocaching.MainActivity;
-import android.test.ActivityInstrumentationTestCase2;
-
import junit.framework.Assert;
-public class CompatibilityTest extends ActivityInstrumentationTestCase2<MainActivity> {
+import android.test.ActivityInstrumentationTestCase2;
+
+public class SensorsTest extends ActivityInstrumentationTestCase2<MainActivity> {
private MainActivity activity;
- public CompatibilityTest() {
+ public SensorsTest() {
super(MainActivity.class);
}
@@ -20,13 +20,8 @@ public class CompatibilityTest extends ActivityInstrumentationTestCase2<MainActi
activity = getActivity();
}
- public static void testDataChanged() {
- // This should not raise an exception in any Android version
- Compatibility.dataChanged("cgeo.geocaching");
- }
-
public void testGetDirectionNow() {
- final float angle = Compatibility.getDirectionNow(1.0f, activity);
+ final float angle = DirectionProvider.getDirectionNow(activity, 1.0f);
Assert.assertTrue(angle == 1.0f || angle == 91.0f || angle == 181.0f || angle == 271.0f);
}