diff options
Diffstat (limited to 'main')
38 files changed, 612 insertions, 676 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 Binary files differindex 1120cb5..42b7f16 100644 --- a/main/libs/rxjava-android-0.17.1-cgeo.jar +++ b/main/libs/rxjava-android-0.17.5.jar diff --git a/main/libs/rxjava-async-util-0.17.1-cgeo.jar b/main/libs/rxjava-async-util-0.17.5.jar Binary files differindex 644daab..bc71622 100644 --- a/main/libs/rxjava-async-util-0.17.1-cgeo.jar +++ b/main/libs/rxjava-async-util-0.17.5.jar diff --git a/main/libs/rxjava-core-0.17.1-cgeo.jar b/main/libs/rxjava-core-0.17.1-cgeo.jar Binary files differdeleted file mode 100644 index 75692f2..0000000 --- a/main/libs/rxjava-core-0.17.1-cgeo.jar +++ /dev/null diff --git a/main/libs/rxjava-core-0.17.5.jar b/main/libs/rxjava-core-0.17.5.jar Binary files differnew file mode 100644 index 0000000..5a54704 --- /dev/null +++ b/main/libs/rxjava-core-0.17.5.jar diff --git a/main/project/rawimages/c-geo_contacts_play_icon.png b/main/project/rawimages/c-geo_contacts_play_icon.png Binary files differnew file mode 100644 index 0000000..f2d66c0 --- /dev/null +++ b/main/project/rawimages/c-geo_contacts_play_icon.png diff --git a/main/res/values-lt/strings.xml b/main/res/values-lt/strings.xml index 6ed7092..3c14174 100644 --- a/main/res/values-lt/strings.xml +++ b/main/res/values-lt/strings.xml @@ -24,8 +24,8 @@ <string name="webcam">Webcam slėptuvė</string> <string name="virtual">Virtuali slėptuvė</string> <string name="wherigo">Wherigo slėptuvė</string> - <string name="lostfound">Lost & Found Event slėptuvė</string> - <string name="ape">Project APE slėptuvė</string> + <string name="lostfound">Lost & Found renginio slėptuvė</string> + <string name="ape">APE projekto slėptuvė</string> <string name="gchq">Groundspeak būstinė</string> <string name="gps">GPS nuotykių paroda</string> <string name="block">Groundspeak Block Party</string> @@ -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,28 +140,28 @@ <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_favorite_failed">Nepavyko pakeisti favorito statuso.</string> + <string name="err_missing_device_name">Prieš registruodamiesi įveskite prietaiso pavadinimą.</string> + <string name="err_favorite_failed">Nepavyko pakeisti mėgiamos slėptuvės 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> <string name="err_tb_display">c:geo negali parodyti norimo keliauninko. Ar tai tikrai keliauninkas?</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_on_map">Rodyti\nž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">Kiek mėgsta</string> + <string name="caches_sort_favorites_ratio">Kiek mėgsta [%]</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">Radimų kiekį</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">Tai kaip mėgiamos</string> + <string name="caches_filter_popularity_ratio">Tai kaip mėgiamos [%]</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,37 +356,37 @@ <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> - <string name="init_signature_template_datetime">Data ir Laikas</string> + <string name="init_signature_template_datetime">Data ir laikas</string> <string name="init_signature_template_user">Vartotojas</string> - <string name="init_signature_template_number">Numeris</string> + <string name="init_signature_template_number">Skaičius</string> <string name="init_signature_template_owner">Savininkas</string> <string name="init_signature_template_name">Pavadinimas</string> <string name="init_signature_template_url">URL</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> @@ -426,14 +426,14 @@ <string name="init_choose_list">Klausti sąrašo</string> <string name="init_summary_choose_list">Klausti kuriame sąraše išsaugoti slėptuvę</string> <string name="init_livelist">Rodyti kryptį</string> - <string name="init_summary_livelist">Sąraše rodyti slėptuvės kryptį</string> + <string name="init_summary_livelist">Sąraše rodyti kryptį į slėptuvę</string> <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> @@ -441,65 +441,65 @@ <string name="init_restore_confirm">Duomenų bazė tuščia. Ar norite atkurti duomenų bazę iš atsarginės kopijos?</string> <string name="init_backup_last">Galima atkurti nuo</string> <string name="init_backup_last_no">Nėra atsarginės kopijos failo.</string> - <string name="settings_info_offline_maps_title">Informacija apie žemėlapius naudojamus neprisijungus</string> - <string name="settings_info_offline_maps">c:geo palaiko žemėlapius naudojamus neprisijungus. Galite atsisiųsti žemėlapius iš Mapsforge arba susikurti savo žemėlapius naudojant OSM duomenis. Pirmiausia Jums reikia pasirinkti katalogą su žemėlapiais naudojamais neprisijungus.</string> + <string name="settings_info_offline_maps_title">Informacija apie išsaugotus žemėlapius</string> + <string name="settings_info_offline_maps">c:geo palaiko išsaugotus žemėlapius kurie veikia be interneto. Žemėlapius galite atsisiųsti iš Mapsforge arba susikurti nuosavus naudodami OSM duomenis. Norėdami įgalinti tokių žemėlapių palaikymą jūs turite pasirinkti katalogą jiems saugoti.</string> <string name="settings_info_themes_title">Informacija apie žemėlapio temas</string> - <string name="settings_info_themes">c:geo palaiko žemėlapių naudojamų neprisijungus temas. Jos gali keisti žemėlapio spalvų stilių (pvz. naktinis stilius) arba atkreipti dėmesį į tam tikrus objektus, kaip dviračių takai arba aukščio linijos žemėlapyje.</string> + <string name="settings_info_themes">c:geo palaiko išsaugotų žemėlapių temas. Jos gali keisti žemėlapio spalvų stilių (pvz. naktinis stilius) arba atkreipti dėmesį į tam tikrus objektus, kaip dviračių takai arba aukščio linijos žemėlapyje.</string> <string name="init_mapsource_select">Pasirinkite žemėlapio šaltinį</string> <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="settings_summary_scale_map_text">Teksto dydis išsaugotame žemėlapyje nustatomas automatiškai pagal prietaiso dpi</string> + <string name="init_map_directory_description">Katalogas su išsaugotais žemėlapiais</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> @@ -508,11 +508,11 @@ <string name="map_source_google_satellite">Google: Palydovas</string> <string name="map_source_osm_mapnik">OSM: Mapnik</string> <string name="map_source_osm_cyclemap">OSM: Cyclemap</string> - <string name="map_source_osm_offline">Neprisijungus</string> - <string name="init_sendToCgeo">Send to c:geo</string> + <string name="map_source_osm_offline">Išsaugotas</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,15 +546,15 @@ <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> + <string name="cache_personal_note_upload_done">Asmeninė pastaba įkelta</string> <string name="cache_personal_note_upload_cancelled">Atšauktas asmeninės pastabos įkėlimas</string> <string name="cache_personal_note_unstored">Slėptuvė neišsaugota</string> <string name="cache_personal_note_store">Rašyti asmeninę pastabą galima tik išsaugotos slėptuvės aprašyme.</string> @@ -562,11 +562,11 @@ <string name="cache_description_long">Ilgas aprašymas</string> <string name="cache_description_table_note">Aprašymas turi lentelės formatavimą, kad peržiūrėti teisingai gali tekti apsilankyti adresu %s.</string> <string name="cache_watchlist_on">Ši slėptuvė yra stebimų slėptuvių sąraše.</string> - <string name="cache_watchlist_not_on">Ši slėptuvė nėra stebimų slėptuvių sąraše.</string> + <string name="cache_watchlist_not_on">Šios slėptuvės nėra stebimų slėptuvių sąraše.</string> <string name="cache_watchlist_add">Stebėti</string> <string name="cache_watchlist_remove">Nebestebėti</string> - <string name="cache_favpoint_on">Ši slėptuvė yra viena iš Jūsų favoritų.</string> - <string name="cache_favpoint_not_on">Ši slėptuvė nėra viena iš Jūsų favoritų.</string> + <string name="cache_favpoint_on">Ši slėptuvė yra viena iš Jūsų mėgiamų slėptuvių.</string> + <string name="cache_favpoint_not_on">Ši slėptuvė nėra viena iš Jūsų mėgiamų slėptuvių.</string> <string name="cache_favpoint_add">Pridėti</string> <string name="cache_favpoint_remove">Pašalinti</string> <string name="cache_list_text">Sąrašas:</string> @@ -583,29 +583,29 @@ <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_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_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> - <string name="cache_dialog_favorite_remove_message">Pašalinama slėptuvė iš Jūsų favoritų…</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">Generuojamas vaizdas</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">Įtraukti į mėgiamų slėptuvių sąrašą</string> + <string name="cache_dialog_favorite_add_message">Slėptuvė įtraukiama į Jūsų mėgiamų sąrašą…</string> + <string name="cache_dialog_favorite_remove_title">Pašalinti iš mėgiamų sąrašo</string> + <string name="cache_dialog_favorite_remove_message">Slėptuvė šalinama iš Jūsų mėgiamų slėptuvių sąrašo…</string> <string name="cache_menu_navigate">Naviguoti</string> <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> @@ -648,7 +648,7 @@ <string name="cache_rating">Reitingas</string> <string name="cache_own_rating">Jūsų reitingas</string> <string name="cache_rating_of">iš</string> - <string name="cache_favorite">Favoritas</string> + <string name="cache_favorite">Mėgiama</string> <string name="cache_owner">Savininkas</string> <string name="cache_hidden">Paslėpta</string> <string name="cache_event">Data</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,32 +714,32 @@ <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_live">Slėptuvės iš interneto</string> <string name="map_view_map">Žemėlapio šaltinis</string> <string name="map_modes">Žemėlapio nustatymai</string> <string name="map_trail_show">Rodyti pėdsaką</string> @@ -749,9 +749,9 @@ <string name="map_mycaches_show">Rodyti savo/rastas slėptuves</string> <string name="map_mycaches_hide">Slėpti savo/rastas slėptuves</string> <string name="map_theme_builtin">Numatyta</string> - <string name="map_theme_select">Pasirinkite žemėlapio temą</string> - <string name="map_live_enable">Tiesiogiai</string> - <string name="map_live_disable">Netiesiogiai</string> + <string name="map_theme_select">Pasirinkti žemėlapio temą</string> + <string name="map_live_enable">Slėptuvės\ntiesiogiai</string> + <string name="map_live_disable">Slėptuvės\nnetiesiogiai</string> <string name="map_static_title">Statinis žemėlapis</string> <string name="map_static_loading">Įkeliamas statinis žemėlapis…</string> <string name="map_token_err">Kadangi c:geo nepavyko atsisiųsti duomenų, slėptuvės koordinatės gali būti netikslios.</string> @@ -762,7 +762,7 @@ <string name="map_strategy_fast">Greita</string> <string name="map_strategy_auto">Priklauso nuo greičio</string> <string name="map_strategy_detailed">Išsami</string> - <string name="live_map_notification">Koordinatės tiesioginiame žemėlapyje gali būti netikslios. Galimos netikslios koordinatės žymimos oranžinės spalvos apskritimu.\nAtidarant slėptuvės informaciją arba išsaugojus slėptuvę naudojimui neprisijungus bus visada gautos tikslios koordinatės.\n\nDaugiau informacijos rasite programos skiltyje \"Apie c:geo\".</string> + <string name="live_map_notification">Koordinatės tiesioginiame žemėlapyje gali būti netikslios. Galimos netikslios koordinatės žymimos oranžinės spalvos apskritimu.\nAtidarius slėptuvės informaciją arba išsaugojus slėptuvę naudojimui neprisijungus bus visada gautos tikslios koordinatės.\n\nDaugiau informacijos rasite programos skiltyje \"Apie c:geo\".</string> <string name="search_bar_hint">Ieškoti</string> <string name="search_bar_desc">Slėptuvės (geo kodas, raktažodis), Keliauninkai (TB kodas)</string> <string name="search_coordinates">Koordinatės</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,24 +884,24 @@ <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_hiking_no">Nėra didelio žygio</string> <string name="attribute_climbing_yes">Sudėtingas kopimas</string> - <string name="attribute_climbing_no">Nesudėtingas kopimas</string> - <string name="attribute_wading_yes">Gali reikėti bristi</string> - <string name="attribute_wading_no">Nereikia bristi</string> + <string name="attribute_climbing_no">Nėra sudėtingo kopimo</string> + <string name="attribute_wading_yes">Gali tekti bristi</string> + <string name="attribute_wading_no">Gali nereikėti bristi</string> <string name="attribute_swimming_yes">Gali reikėti plaukti</string> - <string name="attribute_swimming_no">Nereikia plaukti</string> + <string name="attribute_swimming_no">Gali nereikėti plaukti</string> <string name="attribute_available_yes">Prieinama bet kuriuo metu</string> <string name="attribute_available_no">Neprieinama bet kuriuo metu</string> <string name="attribute_night_yes">Rekomenduojama naktį</string> @@ -912,154 +912,154 @@ <string name="attribute_stealth_no">Nereikalingas slaptumas</string> <string name="attribute_firstaid_yes">Reikalingas remontas</string> <string name="attribute_firstaid_no">Nereikalingas remontas</string> - <string name="attribute_cow_yes">Galima stebėti gyvulius</string> - <string name="attribute_cow_no">Negalima stebėti gyvulių</string> - <string name="attribute_field_puzzle_yes">Lauko puzzle</string> - <string name="attribute_field_puzzle_no">Ne lauko puzzle</string> + <string name="attribute_cow_yes">Saugotis gyvulių</string> + <string name="attribute_cow_no">Gyvulių nėra</string> + <string name="attribute_field_puzzle_yes">Lauko galvosūkis</string> + <string name="attribute_field_puzzle_no">Nėra lauko galvosūkio</string> <string name="attribute_nightcache_yes">Naktinė slėptuvė</string> <string name="attribute_nightcache_no">Nenaktinė slėptuvė</string> - <string name="attribute_parkngrab_yes">Sustok ir griebk</string> - <string name="attribute_parkngrab_no">Ne sustok ir griebk</string> - <string name="attribute_abandonedbuilding_yes">Apleista konstrukcija</string> - <string name="attribute_abandonedbuilding_no">Neapleista konstrukcija</string> + <string name="attribute_parkngrab_yes">Sustok ir pagriebk</string> + <string name="attribute_parkngrab_no">Negalima sustoti ir pagriebk</string> + <string name="attribute_abandonedbuilding_yes">Apleistas statinys</string> + <string name="attribute_abandonedbuilding_no">Nėra apleisto statinio</string> <string name="attribute_hike_short_yes">Trumpas žygis (mažiau nei 1 km)</string> - <string name="attribute_hike_short_no">Netrumpas žygis</string> + <string name="attribute_hike_short_no">Nėra trumpo žygio</string> <string name="attribute_hike_med_yes">Vidutinis žygis (1 km iki 10 km)</string> - <string name="attribute_hike_med_no">Nevidutinis žygis</string> + <string name="attribute_hike_med_no">Nėra vidutinio žygio</string> <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_hike_long_no">Nėra tolimo žygio</string> + <string name="attribute_seasonal_yes">Sezoninė prieiga</string> + <string name="attribute_seasonal_no">Nėra sezoninės prieigos</string> <string name="attribute_touristok_yes">Draugiška turistams</string> - <string name="attribute_touristok_no">Nedraugiška turistams</string> + <string name="attribute_touristok_no">Nėra draugiška turistams</string> <string name="attribute_frontyard_yes">Privati valda</string> - <string name="attribute_frontyard_no">Neprivati valda</string> + <string name="attribute_frontyard_no">Nėra privati valda</string> <string name="attribute_teamwork_yes">Reikalingas komandinis darbas</string> <string name="attribute_teamwork_no">Nereikalingas komandinis darbas</string> <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_fee_yes">Reikalingas leidimas arba mokamas stovėjimas</string> - <string name="attribute_fee_no">Nereikalingas leidimas arba mokamas stovėjimas</string> + <string name="attribute_partnership_yes">Partnerių slėptuvė</string> + <string name="attribute_partnership_no">Nėra partnerių slėptuvė</string> + <string name="attribute_fee_yes">Už įėjimą ar stovėjimą reikia mokėti</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_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_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_camping_no">Stovyklavietės nėra</string> + <string name="attribute_stroller_yes">Pasiekiama su vaikišku vežimėliu</string> + <string name="attribute_stroller_no">Su vaikišku vežimėliu nepasiekiama</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 nėra kur pavalgyti</string> + <string name="attribute_oc_only_yes">Galima registruoti tik Opencaching</string> + <string name="attribute_oc_only_no">Registruojamas netik Opencaching</string> + <string name="attribute_link_only_yes">Interneto nuoroda tik į kitą geo slėptuvių portalą</string> + <string name="attribute_link_only_no">Interneto nuoroda netik į kitą geo slėptuvių portalą</string> + <string name="attribute_letterbox_yes">Pašto dėžė (reikia antspaudo)</string> + <string name="attribute_letterbox_no">Ne pašto dėžė (nereikia antspaudo)</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_no">Nėra lankoma vieta</string> + <string name="attribute_easy_climbing_no">Nėra lengvo kopimo</string> + <string name="attribute_poi_yes">Lankytina vieta</string> + <string name="attribute_poi_no">Nėra lankytinos vietos</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_moving_target_no">Nėra judančio taikinio</string> + <string name="attribute_webcam_yes">Internetinė kamera</string> <string name="attribute_webcam_no">Nėra internetinės kameros</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_inside_yes">Uždarose patalpose (olos, pastatai ir kt.)</string> + <string name="attribute_inside_no">Neuždarose erdvėse</string> <string name="attribute_in_water_yes">Vandenyje</string> - <string name="attribute_in_water_no">Ne vandenyje</string> - <string name="attribute_no_gps_yes">Be GPS (letterboxes, kompasas šokinėja,…)</string> + <string name="attribute_in_water_no">Nevandenyje</string> + <string name="attribute_no_gps_yes">Be GPS (pašto dėžutės, kompaso žongliravimas,…)</string> <string name="attribute_no_gps_no">Su GPS</string> <string name="attribute_overnight_yes">Reikia pasilikti nakvynei</string> <string name="attribute_overnight_no">Nereikia pasilikti nakvynei</string> - <string name="attribute_specific_times_yes">Tik nurodytu laiku</string> - <string name="attribute_specific_times_no">Netik nurodytu laiku</string> + <string name="attribute_specific_times_yes">Pasiekiama tik nurodytu laiku</string> + <string name="attribute_specific_times_no">Pasiekiama netik nurodytu laiku</string> <string name="attribute_day_yes">Tik dieną</string> <string name="attribute_day_no">Netik dieną</string> - <string name="attribute_tide_yes">Tide</string> - <string name="attribute_tide_no">No tide</string> + <string name="attribute_tide_yes">Potvynis</string> + <string name="attribute_tide_no">Nėra potvynio</string> <string name="attribute_all_seasons_yes">Visais metų laikais</string> <string name="attribute_all_seasons_no">Ne visais metų laikais</string> - <string name="attribute_breeding_yes">Breeding season / protected nature</string> - <string name="attribute_breeding_no">No breeding season / protected nature</string> - <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_breeding_yes">Poravimosi sezonas / saugoma gamta</string> + <string name="attribute_breeding_no">Nėra poravimosi sezono / saugomos gamtos</string> + <string name="attribute_snow_proof_yes">Nuo sniego apsaugota slėpimo vieta</string> + <string name="attribute_snow_proof_no">Nuo sniego neapsaugota slėpimo vieta</string> <string name="attribute_compass_yes">Reikalingas kompasas</string> - <string name="attribute_compass_no">Nereikalingas kompasas</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> - <string name="attribute_aircraft_no">No aircraft</string> - <string name="attribute_investigation_yes">Investigation</string> - <string name="attribute_investigation_no">No investigation</string> - <string name="attribute_puzzle_yes">Puzzle / Mystery</string> - <string name="attribute_puzzle_no">Ne puzzle / mystery</string> - <string name="attribute_arithmetic_yes">Arithmetic problem</string> - <string name="attribute_arithmetic_no">No arithmetic problem</string> + <string name="attribute_compass_no">Kompasas nereikalingas</string> + <string name="attribute_cave_yes">Požeminių olų įranga</string> + <string name="attribute_cave_no">Nereikia požeminių olų įrangos</string> + <string name="attribute_aircraft_yes">Orlaivis</string> + <string name="attribute_aircraft_no">Nėra orlaivio</string> + <string name="attribute_investigation_yes">Tyrinėjimas</string> + <string name="attribute_investigation_no">Nėra tyrinėjimo</string> + <string name="attribute_puzzle_yes">Galvosūkis / paslaptis</string> + <string name="attribute_puzzle_no">Nėra galvosūkio / paslapties</string> + <string name="attribute_arithmetic_yes">Aritmetinė užduotis</string> + <string name="attribute_arithmetic_no">Nėra aritmetinės užduoties</string> <string name="attribute_other_cache_yes">Kitas slėptuvės tipas</string> <string name="attribute_other_cache_no">Ne kitas slėptuvės tipas</string> <string name="attribute_ask_owner_yes">Reikia savininko prašyti pradinių koordinačių</string> - <string name="attribute_ask_owner_no">Nereikia savininko prašyti pradinių koordinačių</string> + <string name="attribute_ask_owner_no">Savininko pradinių sąlygų neprašyti</string> <string name="attribute_unknown_yes">Yra nežinomas atributas</string> - <string name="attribute_unknown_no">Nėra nežinoma atributo</string> + <string name="attribute_unknown_no">Nėra nežinomo atributo</string> <string name="attribute_geotour_yes">GeoTuro dalis</string> <string name="attribute_geotour_no">Ne GeoTuro dalis</string> <string name="attribute_kids_2_yes">Pasiimkite vaikus</string> @@ -1068,22 +1068,22 @@ <string name="attribute_historic_site_no">Ne istorinė vieta</string> <string name="attribute_magnetic_yes">Magnetinė slėptuvė</string> <string name="attribute_magnetic_no">Nemagnetinė slėptuvė</string> - <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_usb_cache_yes">Keitimosi failais USB slėptuvė</string> + <string name="attribute_usb_cache_no">Ne keitimosi failais USB slėptuvė</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> <string name="attribute_pedestrian_only_no">Prieinama netik pėsčiomis</string> <string name="attribute_nature_cache_yes">Paslėpta natūralioje aplinkoje (miškai, kalnai ir tt.)</string> - <string name="attribute_nature_cache_no">Paslėpta ne natūralioje aplinkoje</string> + <string name="attribute_nature_cache_no">Nepaslėpta natūralioje aplinkoje</string> <string name="attribute_byop_yes">Reikalinga rašymo priemonė</string> <string name="attribute_byop_no">Nereikalinga rašymo priemonė</string> - <string name="attribute_safari_cache_yes">Reverse cache</string> - <string name="attribute_safari_cache_no">No reverse cache</string> + <string name="attribute_safari_cache_yes">Atvirkštinė slėptuvė</string> + <string name="attribute_safari_cache_no">Ne atvirkštinė slėptuvė</string> <string name="attribute_quick_cache_yes">Greita slėptuvė</string> - <string name="attribute_quick_cache_no">Negreita slėptuvė</string> + <string name="attribute_quick_cache_no">Nėra greita slėptuvė</string> <string name="attribute_wherigo_yes">Wherigo slėptuvė</string> <string name="attribute_wherigo_no">Ne Wherigo slėptuvė</string> <string name="attribute_audio_cache_yes">Aprašyme yra garso failas</string> @@ -1121,7 +1121,7 @@ <string name="tts_one_oclock">one o\'clock</string> <string name="tts_oclock">%s o\'clock</string> <string name="clipboard_copy_ok">Nukopijuota į mainų sritį</string> - <string name="percent_favorite_points">%\ favoritai</string> + <string name="percent_favorite_points">%\ mėgiamos</string> <string name="cgeo_shortcut">c:geo nuoroda</string> <string name="create_shortcut">Sukurti nuorodą</string> <string-array name="log_image_scales"> @@ -1172,8 +1172,8 @@ <item quantity="other">%d dienų atgal</item> </plurals> <plurals name="favorite_points"> - <item quantity="one">%s favoritas</item> - <item quantity="few">%s favoritai</item> - <item quantity="other">%s favoritų</item> + <item quantity="one">%s mėgiama</item> + <item quantity="few">%s mėgiamos</item> + <item quantity="other">%s mėgiamų</item> </plurals> </resources> 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/CgeoApplication.java b/main/src/cgeo/geocaching/CgeoApplication.java index eda8420..09aee93 100644 --- a/main/src/cgeo/geocaching/CgeoApplication.java +++ b/main/src/cgeo/geocaching/CgeoApplication.java @@ -42,7 +42,7 @@ public class CgeoApplication extends Application { public synchronized Observable<IGeoData> geoDataObservable() { if (geoDataObservable == null) { - final ConnectableObservable<IGeoData> onDemand = GeoDataProvider.create(this).publish(); + final ConnectableObservable<IGeoData> onDemand = GeoDataProvider.create(this).replay(1); onDemand.subscribe(new Action1<IGeoData>() { @Override public void call(final IGeoData geoData) { @@ -56,7 +56,7 @@ public class CgeoApplication extends Application { public synchronized Observable<Float> directionObservable() { if (directionObservable == null) { - final ConnectableObservable<Float> onDemand = DirectionProvider.create(this).publish(); + final ConnectableObservable<Float> onDemand = DirectionProvider.create(this).replay(1); onDemand.subscribe(new Action1<Float>() { @Override public void call(final Float direction) { 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..280069f 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); } @@ -88,27 +105,4 @@ 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(); - } - }).subscribeOn(Schedulers.io())); - } - } 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 4f11a35..788d5bd 100644 --- a/main/src/cgeo/geocaching/sensors/DirectionProvider.java +++ b/main/src/cgeo/geocaching/sensors/DirectionProvider.java @@ -28,8 +28,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]); @@ -71,10 +71,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 diff --git a/main/src/cgeo/geocaching/sensors/GeoDirHandler.java b/main/src/cgeo/geocaching/sensors/GeoDirHandler.java index dd61cb1..c10cb48 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}. * * The direction is always relative to the top of the device (natural direction), and that it must 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..d1b2a64 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; @@ -30,12 +30,14 @@ import android.view.ContextMenu; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; +import android.webkit.MimeTypeMap; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import java.io.BufferedOutputStream; import java.io.File; +import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.util.Collection; import java.util.LinkedList; @@ -116,13 +118,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); } @@ -141,7 +142,7 @@ public class ImagesList { imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { - viewImageInStandardApp(image); + viewImageInStandardApp(img, image); } }); activity.registerForContextMenu(imageView); @@ -181,7 +182,7 @@ public class ImagesList { public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.image_open_file: - viewImageInStandardApp(currentDrawable); + viewImageInStandardApp(currentImage, currentDrawable); return true; case R.id.image_open_browser: if (currentImage != null) { @@ -193,26 +194,35 @@ public class ImagesList { } } - private void viewImageInStandardApp(final BitmapDrawable image) { + private static String mimeTypeForUrl(final String url) { + return StringUtils.defaultString(MimeTypeMap.getSingleton().getMimeTypeFromExtension(MimeTypeMap.getFileExtensionFromUrl(url)), "image/*"); + } + + private static File saveToTemporaryJPGFile(final BitmapDrawable image) throws FileNotFoundException { final File file = LocalStorage.getStorageFile(null, "temp.jpg", false, true); BufferedOutputStream stream = null; try { stream = new BufferedOutputStream(new FileOutputStream(file)); image.getBitmap().compress(CompressFormat.JPEG, 100, stream); - } catch (Exception e) { - Log.e("ImagesList.viewImageInStandardApp", e); - return; } finally { IOUtils.closeQuietly(stream); } + file.deleteOnExit(); + return file; + } - final Intent intent = new Intent(); - intent.setAction(android.content.Intent.ACTION_VIEW); - intent.setDataAndType(Uri.fromFile(file), "image/jpeg"); - activity.startActivity(intent); - - if (file.exists()) { - file.deleteOnExit(); + private void viewImageInStandardApp(final Image img, final BitmapDrawable image) { + try { + final Intent intent = new Intent().setAction(android.content.Intent.ACTION_VIEW); + final File file = LocalStorage.getStorageFile(geocode, img.getUrl(), true, true); + if (file.exists()) { + intent.setDataAndType(Uri.fromFile(file), mimeTypeForUrl(img.getUrl())); + } else { + intent.setDataAndType(Uri.fromFile(saveToTemporaryJPGFile(image)), "image/jpeg"); + } + activity.startActivity(intent); + } catch (Exception e) { + Log.e("ImagesList.viewImageInStandardApp", e); } } 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 0d8bec8..aae0f14 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; @@ -202,8 +203,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= |
