Merge remote-tracking branch 'origin/master'

This commit is contained in:
Weblate 2015-07-22 16:28:30 +02:00
commit ff2d9a05e5
53 changed files with 472 additions and 167 deletions

View file

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:osmand="http://schemas.android.com/apk/res-auto"
android:id="@+id/search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/bg_card"
android:layout_marginTop="@dimen/dash_margin"
android:layout_marginBottom="@dimen/dash_margin"
android:layout_marginLeft="@dimen/dash_margin_h"
android:layout_marginRight="@dimen/dash_margin_h"
android:orientation="vertical">
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/do_you_like_osmand"
android:textColor="?android:textColorPrimary"
android:textSize="20sp"
android:paddingBottom="10dp"
android:paddingLeft="@dimen/list_content_padding"
android:paddingRight="@dimen/list_content_padding"
android:paddingTop="8dp"
osmand:typeface="@string/font_roboto_medium"/>
<TextView
android:id="@+id/subheader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/DashboardSubHeader"
android:text="@string/we_really_care"
android:paddingBottom="@dimen/list_content_padding"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="?attr/dashboard_divider" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="@dimen/list_header_height"
android:orientation="horizontal">
<Button
android:id="@+id/positive_button"
style="@style/DashboardGeneralButton"
android:layout_width="0dp"
android:gravity="center"
android:layout_weight="1"
android:text="@string/shared_string_yes"/>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="?attr/dashboard_divider"/>
<Button
android:id="@+id/negative_button"
style="@style/DashboardGeneralButton"
android:layout_width="0dp"
android:gravity="center"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/shared_string_no" />
</LinearLayout>
</LinearLayout>

View file

@ -43,7 +43,7 @@
<net.osmand.plus.widgets.ButtonEx
android:id="@+id/poi"
style="@style/DashboardSearchButton"
android:text="@string/poi"
android:text="@string/poi"
osmand:textAllCapsCompat="false"
osmand:typeface="@string/font_roboto_medium" />
@ -55,7 +55,7 @@
<net.osmand.plus.widgets.ButtonEx
android:id="@+id/address"
style="@style/DashboardSearchButton"
android:text="@string/address"
android:text="@string/address"
osmand:textAllCapsCompat="false"
osmand:typeface="@string/font_roboto_medium" />
@ -67,7 +67,7 @@
<net.osmand.plus.widgets.ButtonEx
android:id="@+id/coord"
style="@style/DashboardSearchButton"
android:text="@string/coordinates"
android:text="@string/coordinates"
osmand:textAllCapsCompat="false"
osmand:typeface="@string/font_roboto_medium" />
</LinearLayout>

View file

@ -325,7 +325,7 @@
<string name="favorite_default_category">Ander</string>
<string name="favourites_edit_dialog_name">Naam</string>
<string name="favourites_edit_dialog_category">Kategorie</string>
<string name="vector_map_not_needed">Nee, dankie</string>
<string name="shared_string_no_thanks">Nee, dankie</string>
<string name="basemap_missing">Basis wêreld kaart (wat die hele wêreld bevat op klein vergroting) ontbreek. Oorweeg dit asseblief om World_basemap_x.obf af te laai vir \'n volledige omgewing.</string>
<string name="vector_data_missing">Aanboord (\'aflyn\') inligting ontbreek op SD-kaart. Oorweeg dit asseblief om dit af te laai om die kaarte aflyn te gebruik.</string>
<string name="local_index_gpx_info_show">\n\nDruk en hou vir keuses</string>

View file

@ -1161,7 +1161,7 @@ OsmAnd هو المصدر المفتوح و التي يجري تطويرها بن
<string name="favorite_default_category">أخرى</string>
<string name="favourites_edit_dialog_name">اسم</string>
<string name="favourites_edit_dialog_category">فئة</string>
<string name="vector_map_not_needed">لا"شكرا</string>
<string name="shared_string_no_thanks">لا"شكرا</string>
<string name="basemap_missing">خريطة العالم الأساسية (التي تغطي العالم كله بتقريب صغير) مفقودة. يرجى تحميل World_basemap_x.obf لبيئة كاملة.</string>
<string name="vector_data_missing">على متن (\'حاليا \') البيانات مفقود على بطاقة SD. يرجى النظر إلى تحميل البرنامج من اجل استخدام الخرائط دون اتصال.</string>
<string name="local_index_gpx_info_show">\n\nاضغط باستمرار لعرض الخيارات</string>

View file

@ -1256,7 +1256,7 @@
<string name="favorite_default_category">Іnšaje</string>
<string name="favourites_edit_dialog_name">Nazva</string>
<string name="favourites_edit_dialog_category">Katehoryja</string>
<string name="vector_map_not_needed">Nie, dziakuj</string>
<string name="shared_string_no_thanks">Nie, dziakuj</string>
<string name="basemap_missing">Niama asnoŭnaj mapy śvietu (jakaja pakryvaje ŭvieś śviet na malych maštabach). Kab mieć poŭnaje asiarodździe treba zladavać World_basemap_x.obf.</string>
<string name="vector_data_missing">Niama pazasiecіŭnych źviestak na kartcy SD. Kab karystacca mapaj pa-za sietkaj, treba іch zladavać.</string>
<string name="local_index_installed">Vydańnie</string>

View file

@ -739,7 +739,7 @@
<string name="favorite_default_category">Іншае</string>
<string name="favourites_edit_dialog_name">Назва</string>
<string name="favourites_edit_dialog_category">Катэгорыя</string>
<string name="vector_map_not_needed">Не, дзякуй</string>
<string name="shared_string_no_thanks">Не, дзякуй</string>
<string name="basemap_missing">Няма асноўнай мапы сьвету (якая пакрывае ўвесь сьвет на малых маштабах). Каб мець поўнае асяродзьдзе трэба сьцягнуць World_basemap_x.obf.</string>
<string name="vector_data_missing">Няма пазасеціўных зьвестак на картцы SD. Каб карыстацца мапай па-за сеткай, трэба іх сьцягнуць.</string>
<string name="local_index_gpx_info_show">\n\nНаціснуць і трымаць для наладаў</string>

View file

@ -959,7 +959,7 @@ OsmAnd е с отворен код и активно да се развива.
<string name="favorite_default_category">Други</string>
<string name="favourites_edit_dialog_name">Име</string>
<string name="favourites_edit_dialog_category">Категория</string>
<string name="vector_map_not_needed">Не, благодаря</string>
<string name="shared_string_no_thanks">Не, благодаря</string>
<string name="basemap_missing">Липсва базовата карта (тази, която покрива целия свят в малък мащаб). Свалете World_basemap_x.obf за добра работа на системата.</string>
<string name="vector_data_missing">На SD картата липсват данни за ползване офлайн. Моля, обмислете нейното сваляне от Интернет за ползване на карти офлайн.</string>
<string name="local_index_gpx_info_show">\n\nНатиснете и задръжте за опции</string>

View file

@ -519,7 +519,7 @@
<string name="context_menu_item_download_map">Baixa el mapa</string>
<string name="tiles_to_download_estimated_size">Per al nivell de zoom {0} es baixaran {1} tessel·les ({2} MB)</string>
<string name="shared_string_ok">D\'acord</string>
<string name="vector_map_not_needed">No, gràcies</string>
<string name="shared_string_no_thanks">No, gràcies</string>
<string name="yard">iardes</string>
<string name="mile_per_hour">mph</string>
<string name="mile">milles</string>

View file

@ -254,7 +254,7 @@
<string name="favorite_friends_category">Přátelé</string>
<string name="favorite_places_category">Místa</string>
<string name="favorite_default_category">Ostatní</string>
<string name="vector_map_not_needed">Není potřeba</string>
<string name="shared_string_no_thanks">Není potřeba</string>
<string name="basemap_missing">Chybí základní mapa světa. Prosím stáhněte ji pro správnou funkci programu.</string>
<string name="vector_data_missing">Na SD kartě nejsou uložena žádná offline data. Prosím stáhněte je pro použití map v offline módu.</string>
<string name="local_index_gpx_info_show">\n\nDlouhým kliknutím zobrazíte na mapě</string>

View file

@ -560,7 +560,7 @@
<string name="favorite_default_category">Andre</string>
<string name="favourites_edit_dialog_name">Navn</string>
<string name="favourites_edit_dialog_category">Kategori</string>
<string name="vector_map_not_needed">Nej tak</string>
<string name="shared_string_no_thanks">Nej tak</string>
<string name="local_index_gpx_info_show">\n\nLangt tryk for valgmuligheder</string>
<string name="osmand_long_description_1000_chars">" OsmAnd (OSM Automated Navigation Directions) OsmAnd er en open source navigation applikation med adgang til en lang række af globale OpenStreetMap (OSM) data. Alle kort data (vektor eller kortfliser) kan blive gemt på enhedens hukommelseskort til offline brug. OsmAnd tilbyder også offline og online rute funktionalitet inklusiv sving-efter-sving stemme vejledning. Nogle af kerne funktionerne: - Komplet offline funktionalitet (gemme hentede vektor eller kortfliser i enhedens lager) - Kompakt offline vektor kort for hele verden er tilgængelig - Kort for enkelte lande eller regioner kan hentes direkte i applikation - Overlejring af flere kort lag er muligt, som f.eks. GPX eller navigations spor, Interessepunkter (IP), favoritter, konturlinjer, Kollektivtrafik stoppesteder og flere kort med modificerebar gennemsigtighed - Offline søgning af adresser og steder interessepunkter (IP) - Offline ruteplanlægning for kortere distancer (eksperimenterende) - Bil, cykel og fodgænger tilstand med: - Valgfri automatisk dag/nat tilstandsskift - Valgfri automatisk zoom efter hastighed - Valgfri automatisk kort rotation efter kompas eller bevægelses retning - Valgfri vognbane assistent - Visning af hastighedsgrænser - Optagede og TTS (Tekst-til-stemme) stemmer Begrænsninger i den gratis version af OsmAnd: - Antallet af kort der kan hentes er begrænset - Ingen adgang Wikipedia offline interessepunkter OsmAnd bliver aktivt udviklet. Projektet og videre udvikling afhænger af økonomiske bidrag til at drive udviklingen og test af nye funktioner. Overvej at købe OsmAnd+, betale for en specifik ny funktion eller lave en generel donation på osmand.net.

View file

@ -622,7 +622,7 @@
<string name="favorite_default_category">Andere</string>
<string name="favourites_edit_dialog_name">Name</string>
<string name="favourites_edit_dialog_category">Kategorie</string>
<string name="vector_map_not_needed">Nicht verwendet</string>
<string name="shared_string_no_thanks">Nicht verwendet</string>
<string name="basemap_missing">Die offline-Weltkarte für kleine Vergrößerungen ist noch nicht vorhanden. Bitte ggf. World_basemap_x.obf herunterladen.</string>
<string name="vector_data_missing">Keine Offline-Daten vorhanden (SD-Karte). Bitte ggf. herunterladen, damit Karten offline verwendet werden können.</string>
<string name="local_index_gpx_info_show">"\n\nLang klicken für Optionen"</string>

View file

@ -481,7 +481,7 @@
<string name="favorite_default_category">Άλλα</string>
<string name="favourites_edit_dialog_name">Όνομα</string>
<string name="favourites_edit_dialog_category">Κατηγορία</string>
<string name="vector_map_not_needed">Όχι, ευχαριστώ</string>
<string name="shared_string_no_thanks">Όχι, ευχαριστώ</string>
<string name="basemap_missing">Λείπει ο βασικός παγκόσμιος χάρτης (καλύπτει όλο τον κόσμο στις μικρές κλίμακες). Παρακαλώ κατεβάστε το World_basemap_x.obf για ένα πλήρες περιβάλλον.</string>
<string name="vector_data_missing">Δεν υπάρχουν offline δεδομένα στην κάρτα SD. Παρακαλώ κατεβάστε τα ώστε να μπορέσετε να χρησιμοποιήσετε χάρτες χωρίς σύνδεση.</string>
<string name="local_index_gpx_info_show">\n\nΠατήστε και κρατήστε για επιλογές</string>

View file

@ -1437,7 +1437,7 @@
<string name="favorite_default_category">Otros</string>
<string name="favourites_edit_dialog_name">Nombre</string>
<string name="favourites_edit_dialog_category">Categoría</string>
<string name="vector_map_not_needed">No, gracias</string>
<string name="shared_string_no_thanks">No, gracias</string>
<string name="basemap_missing">El mapa base mundial (cubriendo todo el mundo a niveles de ampliación pequeños) no está disponible. Por favor, considere descargar World_basemap_x.obf para tener un entorno completo.</string>
<string name="vector_data_missing">Sin datos (\'descargados\') en la tarjeta SD. Considere descargarlos para usar los mapas sin conexión.</string>
<string name="shared_string_release">Liberado</string>

View file

@ -186,7 +186,7 @@
<string name="favorite_default_category">Otros</string>
<string name="favourites_edit_dialog_name">Nombre</string>
<string name="favourites_edit_dialog_category">Categoría</string>
<string name="vector_map_not_needed">No, gracias</string>
<string name="shared_string_no_thanks">No, gracias</string>
<string name="basemap_missing">El mapa mundial base (cubriendo todo el mundo a niveles de acercamiento pequeños) no está disponible. Por favor, considere descargar World_basemap_x.obf para tener un entorno completo.</string>
<string name="vector_data_missing">No hay datos (\'fuera de línea\') en la tarjeta SD. Considere descargarlos para utilizar mapas fuera de línea.</string>
<string name="local_index_gpx_info_show">\n\nMantenga pulsado para opciones</string>

View file

@ -634,7 +634,7 @@
<string name="favorite_default_category">Bestelakoak</string>
<string name="favourites_edit_dialog_name">Izena</string>
<string name="favourites_edit_dialog_category">Kategoria</string>
<string name="vector_map_not_needed">Ez, milesker</string>
<string name="shared_string_no_thanks">Ez, milesker</string>
<string name="basemap_missing">Oinarrizko munduko mapa (mundu guztia estaliz zoom maila txikietan) falta da. Mesedez kontsideratu World_basemap_x.obf deskargatzea ikuspegi guztia eduki ahal izateko.</string>
<string name="vector_data_missing">Datu lokalak (lineaz kanpokoak) ez daude SD txartelean. Lineaz kanpoko mapak erabili nahi badituzu, jaitsi beharko zenituzke.</string>
<string name="local_index_gpx_info_show">\n\nZanpatuta mantendu aukerentzat</string>

View file

@ -388,7 +388,7 @@
<string name="favorite_default_category">سایر</string>
<string name="favourites_edit_dialog_name">نام</string>
<string name="favourites_edit_dialog_category">دسته بندی</string>
<string name="vector_map_not_needed">نه، متشکرم</string>
<string name="shared_string_no_thanks">نه، متشکرم</string>
<string name="search_position_current_location">موقعیت فعلی…</string>
<string name="shared_string_rename">تغییر نام</string>

View file

@ -220,7 +220,7 @@
<string name="favorite_default_category">Muut</string>
<string name="favourites_edit_dialog_name">Nimi</string>
<string name="favourites_edit_dialog_category">Kategoria</string>
<string name="vector_map_not_needed">Ei kiitos</string>
<string name="shared_string_no_thanks">Ei kiitos</string>
<string name="daynight_mode_day">Päivä</string>
<string name="daynight_mode_night"></string>

View file

@ -179,7 +179,7 @@
<string name="favorite_friends_category">Amis</string>
<string name="favorite_places_category">Lieux</string>
<string name="favorite_default_category">Autres</string>
<string name="vector_map_not_needed">Pas nécessaire</string>
<string name="shared_string_no_thanks">Pas nécessaire</string>
<string name="basemap_missing">La carte mondiale de base est absente (couvrant le monde entier à faible zoom). Pensez à télécharger World_basemap_x.obf pour avoir un environnement complet.</string>
<string name="vector_data_missing">Il n\'y a pas de cartes (\'hors-ligne\') sur la carte SD. Pensez à en télécharger pour utiliser OsmAnd hors-ligne.</string>

View file

@ -1160,7 +1160,7 @@
<string name="favorite_default_category">Outros</string>
<string name="favourites_edit_dialog_name">Nome</string>
<string name="favourites_edit_dialog_category">Categoría</string>
<string name="vector_map_not_needed">Non, grazas</string>
<string name="shared_string_no_thanks">Non, grazas</string>
<string name="basemap_missing">Falta o mapa base mundial (que recobre todo o mundo en ampliacións pequenas). Considere a posibilidade de descargar World_basemap_x.obf para contar cun ambiente completo.</string>
<string name="vector_data_missing">Faltan datos de a bordo («sen conexión») no cartón SD. Considere a posibilidade de descargalos para poder empregar os mapas sen conexión.</string>
<string name="local_index_installed">Edición</string>

View file

@ -504,7 +504,7 @@
<string name="favorite_default_category">אחרים</string>
<string name="favourites_edit_dialog_name">שם</string>
<string name="favourites_edit_dialog_category">קטגוריה</string>
<string name="vector_map_not_needed">לא, תודה</string>
<string name="shared_string_no_thanks">לא, תודה</string>
<string name="basemap_missing">מפת העולם הבסיסית (המכסה את כל העולם ברמות תקריב נמוכות) חסרה. כדאי לשקול להוריד את World_basemap_x.obf לקבלת סביבה שלמה.</string>
<string name="vector_data_missing">נתונים מקומיים („בלתי מקוונים“) חסרים בכרטיס ה־SD. נא לשקול להוריד אותם כדי להשתמש במפות באופן בלתי מקוון.</string>
<string name="local_index_gpx_info_show">\n\nיש ללחוץ ולהחזיק כדי להגיע לאפשרויות</string>

View file

@ -570,7 +570,7 @@
<string name="voice_not_use">Ne koristi</string>
<string name="installing_new_resources">Raspakiravam nove podatke…</string>
<string name="vector_map_not_needed">Ne, hvala</string>
<string name="shared_string_no_thanks">Ne, hvala</string>
<string name="favorite_home_category">Doma</string>
<string name="favorite_friends_category">Prijatelji</string>
<string name="favorite_places_category">Mjesta</string>

View file

@ -235,7 +235,7 @@
<string name="favorite_default_category">Egyéb</string>
<string name="favourites_edit_dialog_name">Név</string>
<string name="favourites_edit_dialog_category">Kategória</string>
<string name="vector_map_not_needed">Nem szükséges</string>
<string name="shared_string_no_thanks">Nem szükséges</string>
<string name="basemap_missing">Hiányzik az alap világtérkép (alacsony nagyításon az egész Földet lefedi). A teljes környezethez le lehet tölteni a World_basemap.obf -et.</string>
<string name="vector_data_missing">Nincsenek offline használható adatok az SD kártyán. A térképek offline használathoz le kell töltened a kívánt területet.</string>
<string name="local_index_gpx_info_show">\n\nHosszan megnyomva további lehetőségek</string>

View file

@ -169,7 +169,7 @@
<string name="favorite_friends_category">Amici</string>
<string name="favorite_places_category">Luoghi</string>
<string name="favorite_default_category">Altro</string>
<string name="vector_map_not_needed">No, grazie</string>
<string name="shared_string_no_thanks">No, grazie</string>
<string name="basemap_missing">La mappa di base del mondo (ricopre l\'intero mondo per zoom bassi) è mancante. Puoi scaricare World_basemap_x.obf per un sistema completo.</string>
<string name="vector_data_missing">Mancano i dati (\'offline\') nella scheda SD. Ti consigliamo di scaricarli per poter usare le mappe offline.</string>
<string name="local_index_gpx_info_show">\n\nClic lungo per visualizzare le opzioni</string>

View file

@ -1244,7 +1244,7 @@ POIの更新は利用できません</string>
<string name="favorite_default_category">その他</string>
<string name="favourites_edit_dialog_name">名前</string>
<string name="favourites_edit_dialog_category">カテゴリー</string>
<string name="vector_map_not_needed">必要ありません</string>
<string name="shared_string_no_thanks">必要ありません</string>
<string name="basemap_missing">ベースワールドマップ(小さなズームでのみ全世界をカバーします)が欠落しています。World_basemap_x.obfをダウンロードしてみてください。</string>
<string name="vector_data_missing">オンボード(オフライン)データがSDカード上に見つかりません。オフラインマップを使用するにはそれらをダウンロードしてください。</string>
<string name="local_index_gpx_info_show">\n\nオプションを表示するには長押しして下さい</string>

View file

@ -260,7 +260,7 @@
<string name="favorite_default_category">სხვები</string>
<string name="favourites_edit_dialog_name">სახელი</string>
<string name="favourites_edit_dialog_category">კატეგორია</string>
<string name="vector_map_not_needed">არა, მადლობა</string>
<string name="shared_string_no_thanks">არა, მადლობა</string>
<string name="basemap_missing">მსოფლიოს ბაზური რუკა, რომელიც შეიცავს მთელ მსოფლიოს პატარა გადიდებისას, არ არსებობს. გთხოვთ გადმოწეროთ World_basemap_x.obf.</string>
<string name="vector_data_missing">დასტაში \"offline\" sdcard-ზე არ არსებობს მონაცემები. გთხოვთ გადმოწეროთ რუკებით გათიშულ რეჟიმში სარგებლობისათვის .</string>
<string name="local_index_gpx_info_show">"\n\nპარამეტრების შესაცვლელად დააჭირეთ და გეჭიროთ"</string>

View file

@ -267,7 +267,7 @@
<string name="favourites_edit_dialog_name">이름</string>
<string name="favourites_edit_dialog_category">카테고리</string>
<string name="vector_map_not_needed">필요없음</string>
<string name="shared_string_no_thanks">필요없음</string>
<string name="basemap_missing">기본 세계 지도가 없습니다.(작은 줌으로 전세계를 커버). 완전한 환경을 위해 World_basemap_x.obf 파일을 다운로드 하시기 바랍니다.</string>
<string name="vector_data_missing">탑재된 (\'오프라인\') 데이터가 SD 카드에 없습니다. 맵을 오프라인으로 사용하기 위해 다운로드 하시기 바랍니다.</string>
<string name="local_index_gpx_info_show">\n\n선택하려면 길게 클릭</string>

View file

@ -372,7 +372,7 @@
<string name="favorite_default_category">Kitos</string>
<string name="favourites_edit_dialog_name">Pavadinimas</string>
<string name="favourites_edit_dialog_category">Kategorija</string>
<string name="vector_map_not_needed">Ačiū, ne</string>
<string name="shared_string_no_thanks">Ačiū, ne</string>
<string name="basemap_missing">Trūksta bazinio viso pasaulio (mažo mastelio, dengiančio visą pasaulį) žemėlapio. Kad programa galėtų sklandžiai veikti parsisiųskite World_basemap_x.obf.</string>
<string name="vector_data_missing">SD kortelėje nėra parsiųstų žemėlapių. Pirmiausia parsisiųskite žemėlapius, kad vėliau galėtumėte jais naudotis be interneto.</string>
<string name="local_index_gpx_info_show">\n\nPaspauskite ir laikykite nustatymams atidaryti</string>

View file

@ -242,7 +242,7 @@
<string name="favorite_default_category">Pārējais</string>
<string name="favourites_edit_dialog_name">Nosaukums</string>
<string name="favourites_edit_dialog_category">Kategorija</string>
<string name="vector_map_not_needed">Nē, paldies</string>
<string name="shared_string_no_thanks">Nē, paldies</string>
<string name="basemap_missing">Pasaules karte (visa pasaule zemākā izšķirtspējā) nav pieejama. Lūdzu lejupielādējiet World_basemap_x.obf, pilnvērtīgai kartes pārlūkošanai.</string>
<string name="vector_data_missing">SD kartē nav atrodami bezsaistes dati. Lai lietotu bezsaistes kartes, lūdzu lejupielādējiet tās, lai varētu lietot bezsaistē.</string>
<string name="local_index_gpx_info_show">\n\nTuriet nospiestu izvēlnes atvēršanai</string>

View file

@ -128,7 +128,7 @@
<string name="favorite_default_category">इतर</string>
<string name="favourites_edit_dialog_name">नाव</string>
<string name="favourites_edit_dialog_category">वर्गीकरण</string>
<string name="vector_map_not_needed">नाही, धन्यवाद</string>
<string name="shared_string_no_thanks">नाही, धन्यवाद</string>
<string name="local_index_descr_title">नकाशाच्या फाइल्स मॅनेज करा</string>
<string name="shared_string_download">डाउनलोड</string>
<string name="local_index_poi_data">पिओआय डेटा</string>

View file

@ -278,7 +278,7 @@
<string name="favorite_default_category">Andre</string>
<string name="favourites_edit_dialog_name">Navn</string>
<string name="favourites_edit_dialog_category">Kategori</string>
<string name="vector_map_not_needed">Nei takk</string>
<string name="shared_string_no_thanks">Nei takk</string>
<string name="basemap_missing">Basis-verdenskart (som dekker hele verden ved lav zoom) mangler. Vurder å laste ned World_basemap_x.obf for et komplett miljø.</string>
<string name="local_index_gpx_info_show">\n\nTrykk og hold for alternativer</string>
<string name="local_index_descr_title">Karthåndtering</string>

View file

@ -262,7 +262,7 @@
<string name="favorite_default_category">Diversen</string>
<string name="favourites_edit_dialog_name">Naam</string>
<string name="favourites_edit_dialog_category">Categorie</string>
<string name="vector_map_not_needed">Niet nodig</string>
<string name="shared_string_no_thanks">Niet nodig</string>
<string name="basemap_missing">De basis-wereldkaart (ruwe kaart van de gehele wereld) ontbreekt. Overweeg om deze te downloaden (World_basemap_x.obf) voor een compleet kaartbeeld.</string>
<string name="vector_data_missing">Er staan nog geen offline kaarten op de SD-kaart. Download kaarten om offline te kunnen werken.</string>
<string name="local_index_gpx_info_show">\n\nLang drukken voor opties</string>

View file

@ -73,7 +73,7 @@
<string name="favorite_friends_category">Znajomi</string>
<string name="favorite_places_category">Miejsca</string>
<string name="favorite_default_category">Inne</string>
<string name="vector_map_not_needed">Niepotrzebne</string>
<string name="shared_string_no_thanks">Niepotrzebne</string>
<string name="basemap_missing">Podstawowa mapa świata jest niezainstalowana. Pobierz plik World_basemap_x.obf.</string>
<string name="vector_data_missing">Brak danych (\'offline\') w urządzeniu na karcie SD. Musisz je najpierw pobrać, by używać map offline.</string>
<string name="local_index_gpx_info_show">\n\nProszę nacisnąć i przytrzymać, aby wyświetlić opcje</string>

View file

@ -1266,7 +1266,7 @@
<string name="favorite_default_category">Outros</string>
<string name="favourites_edit_dialog_name">Nome</string>
<string name="favourites_edit_dialog_category">Categori­a</string>
<string name="vector_map_not_needed">Não, obrigado</string>
<string name="shared_string_no_thanks">Não, obrigado</string>
<string name="basemap_missing">Mapa base mundial (que abrange o mundo inteiro com poucos detalhes) está faltando. Por favor, considere baixar World_basemap_x.obf para um ambiente completo.</string>
<string name="vector_data_missing">Faltam os dados (\'off-line\') no cartão SD. Necessário baixar os mapas para usá-los off-line.</string>
<string name="shared_string_release">Lançado</string>

View file

@ -698,7 +698,7 @@ Você pode ativar (on-line ou em cache) fontes azulejo mapa, configurações de
<string name="favorite_default_category">Outros</string>
<string name="favourites_edit_dialog_name">Name</string>
<string name="favourites_edit_dialog_category">Categoria</string>
<string name="vector_map_not_needed">Não, obrigado</string>
<string name="shared_string_no_thanks">Não, obrigado</string>
<string name="basemap_missing">Falta o mapa global base (abrange o mundo inteiro com pouco detalhe). Pode fazer download do World_basemap_x.obf para ter um ambiente completo.</string>
<string name="vector_data_missing">Faltam os dados de mapas no cartão SD. Precisa de fazer download dos mapas, para os usar offline.</string>
<string name="local_index_gpx_info_show">\n\nMantenha pressionado para opções</string>

View file

@ -529,7 +529,7 @@
<string name="favorite_default_category">Altele</string>
<string name="favourites_edit_dialog_name">Nume</string>
<string name="favourites_edit_dialog_category">Categorie</string>
<string name="vector_map_not_needed">Nu, mulțumesc</string>
<string name="shared_string_no_thanks">Nu, mulțumesc</string>
<string name="basemap_missing">Lipsește harta lumii de bază - conține întreg globul la nivel mic de zoom. Vă rog să considerați descărcarea hărții World_basemap_*.obf pentru a completa mediul de lucru.</string>
<string name="vector_data_missing">Datele locale, (\'offline\'), lipsesc de pe cardul SD. Vă rog să considerați descărcarea acestora pentru a putea folosi hărți offline.</string>
<string name="local_index_gpx_info_show">\n\nApăsați prelung pentru afișarea opțiunilor</string>

View file

@ -303,7 +303,7 @@
<string name="favorite_friends_category">Друзья</string>
<string name="favorite_places_category">Места</string>
<string name="favorite_default_category">Другое</string>
<string name="vector_map_not_needed">Не нужно</string>
<string name="shared_string_no_thanks">Не нужно</string>
<string name="basemap_missing">Отсутствует базовая карта, покрывающая весь мир на мелком масштабе. Пожалуйста загрузите World_basemap_x.obf для полноценный работы приложения.</string>
<string name="vector_data_missing">Локальные данные отсутствуют на SD-карте. Пожалуйста, загрузите их для того, чтобы использовать приложение без Интернета.</string>
<string name="local_index_gpx_info_show">\n\nНажать и удерживать для вызова меню</string>

View file

@ -1156,7 +1156,7 @@
<string name="favorite_default_category">Àteru</string>
<string name="favourites_edit_dialog_name">Nùmene</string>
<string name="favourites_edit_dialog_category">Categoria</string>
<string name="vector_map_not_needed">No, gràtzias</string>
<string name="shared_string_no_thanks">No, gràtzias</string>
<string name="basemap_missing">Fartat sa mapa de base de su mundu (totu su mundu pro zoom bassos). Podes iscarrigare World_basemap_x.obf pro unu sistema cumpridu.</string>
<string name="vector_data_missing">Fartant sos datos (\'non in lìnia\') in sischeda SD. Ti cussigiamus de los iscarrigare pro poder impreare sas mapas sena lìnia.</string>
<string name="local_index_installed">Versione locale</string>

View file

@ -348,7 +348,7 @@
<string name="favorite_friends_category">Priatelia</string>
<string name="favorite_places_category">Miesta</string>
<string name="favorite_default_category">Iné</string>
<string name="vector_map_not_needed">Netreba</string>
<string name="shared_string_no_thanks">Netreba</string>
<string name="basemap_missing">Chýba základná mapa sveta(World Basemap). Prosím, zvážte jej stiahnutie pre správnu funkčnosť.</string>
<string name="vector_data_missing">Na SD karte chýbajú offline údaje. Prosím, zvážte ich stiahnutie pre použitie máp bez internetu.</string>
<string name="local_index_gpx_info_show">\n\nKliknite a podržte pre možnosti</string>

View file

@ -740,7 +740,7 @@
<string name="local_index_mi_upload_gpx">Pošlji na OSM</string>
<string name="show_more_map_detail">Pokaži več podrobnosti zemljevida</string>
<string name="show_more_map_detail_descr">Pokaži nekaj podrobnosti vektorskih zemljevidov (ceste, itd.) že pri oddaljenem pogledu</string>
<string name="vector_map_not_needed">Ne, hvala</string>
<string name="shared_string_no_thanks">Ne, hvala</string>
<string name="basemap_missing">Osnovni zemljevid sveta (pokriva cel svet pri majhnih povečavah) ni nameščen. Priporočljivo je prejeti datoteko world_basemap_x.obf in jo namestiti.</string>
<string name="vector_data_missing">Podatkov za delo brez povezave na kartici SD ni. Priporočljivo je datoteke prejeti in omogočiti navigacijo tudi v načinu brez vzpostavljene povezave.</string>
<string name="local_index_installed">Datum shranjene različice</string>

View file

@ -276,7 +276,7 @@
<string name="favorite_default_category">Остало</string>
<string name="favourites_edit_dialog_name">Име</string>
<string name="favourites_edit_dialog_category">Врста</string>
<string name="vector_map_not_needed">Не, хвала</string>
<string name="shared_string_no_thanks">Не, хвала</string>
<string name="basemap_missing">Основна мапа света (која покрива цео свет на малом увеличању) недостаје. Молим, преузмите World_basemap_x.obf ради целокупности средине.</string>
<string name="local_index_installed">Издање</string>
<string name="local_index_no_items_to_do">Нема ставки за %1$s</string>

View file

@ -437,7 +437,7 @@
<string name="favorite_default_category">Annat</string>
<string name="favourites_edit_dialog_name">Namn</string>
<string name="favourites_edit_dialog_category">Kategori</string>
<string name="vector_map_not_needed">Nej, tack</string>
<string name="shared_string_no_thanks">Nej, tack</string>
<string name="basemap_missing">Basvärldskarta (som omfattar hela världen i låg inzoomning) saknas. Hämta gärna World_basemap_x.obf för en komplett miljö.</string>
<string name="vector_data_missing">Offline-data saknas på SD-kortet. Det kan vara klokt att ladda ner detta för att kunna använda kartor offline.</string>
<string name="local_index_gpx_info_show">\n\nTryck och håll för alternativ</string>

View file

@ -351,7 +351,7 @@
<string name="favorite_default_category">Diğerleri</string>
<string name="favourites_edit_dialog_name">Ad</string>
<string name="favourites_edit_dialog_category">Kategori</string>
<string name="vector_map_not_needed">Hayır, teşekkürler</string>
<string name="shared_string_no_thanks">Hayır, teşekkürler</string>
<string name="local_index_mi_reload">Sd card\'tan tekrar yükle</string>
<string name="shared_string_download">İndir</string>

View file

@ -316,7 +316,7 @@
<string name="favorite_default_category">Інше</string>
<string name="favourites_edit_dialog_name">Назва</string>
<string name="favourites_edit_dialog_category">Категорія</string>
<string name="vector_map_not_needed">Ні, дякую</string>
<string name="shared_string_no_thanks">Ні, дякую</string>
<string name="basemap_missing">Базова мапа (яка покриває цілий світ) відсутня. Будь ласка, завантажте World_basemap_x.obf для повноцінної роботи програми.</string>
<string name="vector_data_missing">SD-карта не містить завантажених даних. Будь ласка, завантажте їх, щоб використовувати мапу без інтернету.</string>
<string name="local_index_gpx_info_show">\n\nТривале натискання для перегляду на мапі</string>

View file

@ -68,7 +68,7 @@ Translator: Le Viet Thanh; email: lethanhx2k@gmail.com --><resources>
<string name="favorite_places_category">Địa điểm</string>
<string name="favorite_default_category">Khác</string>
<string name="vector_map_not_needed">Không cần</string>
<string name="shared_string_no_thanks">Không cần</string>
<string name="basemap_missing">Bản đồ nền (bao phủ toàn bộ thế giới ở tỉ lệ xem nhỏ) bị thiếu. Hãy tải về tập tin World_basemap_x.obf để bổ sung đầy đủ.</string>
<string name="vector_data_missing">Dữ liệu (\'offline\') không có trên thẻ nhớ SD. Vui lòng tải về để cập nhật.</string>
<string name="local_index_gpx_info_show">\n\nGiữ một lúc để mở chi tiết hơn</string>

View file

@ -229,7 +229,7 @@
<string name="favorite_default_category">他人</string>
<string name="favourites_edit_dialog_name">名称</string>
<string name="favourites_edit_dialog_category">类别</string>
<string name="vector_map_not_needed">谢谢,不用了</string>
<string name="shared_string_no_thanks">谢谢,不用了</string>
<string name="trace_rendering">渲染调试信息</string>
<string name="voice_not_use">不要使用</string>

View file

@ -430,7 +430,7 @@
<string name="favorite_default_category">其它</string>
<string name="favourites_edit_dialog_name">名稱</string>
<string name="favourites_edit_dialog_category">類別</string>
<string name="vector_map_not_needed">不需要,謝謝</string>
<string name="shared_string_no_thanks">不需要,謝謝</string>
<string name="basemap_missing">缺少全球底圖(在縮小時顯示,含蓋全球範圍)。請下載 World_basemap_x.obf 將軟體環境完整化。</string>
<string name="vector_data_missing">裝置端(\'離線\')的 SD 卡上找不到資料。欲使用離線地圖請去下載。</string>
<string name="local_index_gpx_info_show">\n\n長按會出現選項</string>

View file

@ -64,7 +64,7 @@
<color name="dashboard_black">#212121</color>
<color name="dashboard_blue">#536DFE</color>
<color name="dashboard_subheader_text_dark">#b4c3cc</color>
<color name="dashboard_subheader_text_light">#212121</color>
<color name="dashboard_subheader_text_light">#727272</color>
<color name="dashboard_general_button_text_dark">#ff8f00</color>
<color name="dashboard_general_button_text_light">#536DFE</color>

View file

@ -1719,7 +1719,7 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A
<string name="favorite_default_category">Others</string>
<string name="favourites_edit_dialog_name">Name</string>
<string name="favourites_edit_dialog_category">Category</string>
<string name="vector_map_not_needed">No, thanks</string>
<string name="shared_string_no_thanks">No, thanks</string>
<string name="basemap_missing">Base world map (covering the whole world at small zooms) is missing. Please consider downloading World_basemap_x.obf for a complete environment.</string>
<string name="vector_data_missing">On board (\'offline\') data is missing on SD card. Please consider to download it in order to use maps offline.</string>
<string name="shared_string_release">Released</string>
@ -2215,4 +2215,10 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A
<string name="get_plugin">Get</string>
<string name="use_fast_recalculation">Smart route recalculation</string>
<string name="use_fast_recalculation_desc">Recalculate only initial part of the route for long trips</string>
<string name="do_you_like_osmand">Do you like OsmAnd?</string>
<string name="we_really_care">We really care</string>
<string name="rate_this_app">Rate this app</string>
<string name="rate_this_app_long">Please give OsmAnd a score on Google Play</string>
<string name="user_hates_app_get_feedback">Tell us why.</string>
<string name="user_hates_app_get_feedback_long">Please tell us what would you want to change in this app.</string>
</resources>

View file

@ -1,14 +1,12 @@
package net.osmand.plus;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Random;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import net.osmand.IProgress;
import net.osmand.IndexConstants;
@ -39,13 +37,15 @@ import net.osmand.util.Algorithms;
import org.xmlpull.v1.XmlPullParserException;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import btools.routingapp.BRouterServiceConnection;
/**
@ -187,7 +187,7 @@ public class AppInitializer implements IProgress {
}
});
builder.setNeutralButton(R.string.vector_map_not_needed, new DialogInterface.OnClickListener() {
builder.setNeutralButton(R.string.shared_string_no_thanks, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
ctx.getPreferences(Context.MODE_WORLD_WRITEABLE).edit().putBoolean(VECTOR_INDEXES_CHECK, false).commit();

View file

@ -1,40 +1,5 @@
package net.osmand.plus;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintStream;
import java.lang.Thread.UncaughtExceptionHandler;
import java.util.ArrayList;
import java.util.Locale;
import net.osmand.IndexConstants;
import net.osmand.PlatformUtil;
import net.osmand.access.AccessibilityPlugin;
import net.osmand.access.AccessibleAlertBuilder;
import net.osmand.access.AccessibleToast;
import net.osmand.map.OsmandRegions;
import net.osmand.osm.MapPoiTypes;
import net.osmand.plus.AppInitializer.AppInitializeListener;
import net.osmand.plus.access.AccessibilityMode;
import net.osmand.plus.activities.DayNightHelper;
import net.osmand.plus.activities.ExitActivity;
import net.osmand.plus.activities.SavingTrackHelper;
import net.osmand.plus.activities.SettingsActivity;
import net.osmand.plus.api.SQLiteAPI;
import net.osmand.plus.api.SQLiteAPIImpl;
import net.osmand.plus.helpers.AvoidSpecificRoads;
import net.osmand.plus.helpers.WaypointHelper;
import net.osmand.plus.monitoring.LiveMonitoringHelper;
import net.osmand.plus.poi.PoiFiltersHelper;
import net.osmand.plus.render.RendererRegistry;
import net.osmand.plus.resources.ResourceManager;
import net.osmand.plus.routing.RoutingHelper;
import net.osmand.plus.sherpafy.SherpafyCustomization;
import net.osmand.plus.voice.CommandPlayer;
import net.osmand.router.RoutingConfiguration;
import net.osmand.util.Algorithms;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.AlertDialog;
@ -60,6 +25,42 @@ import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView;
import android.widget.Toast;
import net.osmand.PlatformUtil;
import net.osmand.access.AccessibilityPlugin;
import net.osmand.access.AccessibleAlertBuilder;
import net.osmand.access.AccessibleToast;
import net.osmand.map.OsmandRegions;
import net.osmand.osm.MapPoiTypes;
import net.osmand.plus.AppInitializer.AppInitializeListener;
import net.osmand.plus.access.AccessibilityMode;
import net.osmand.plus.activities.DayNightHelper;
import net.osmand.plus.activities.ExitActivity;
import net.osmand.plus.activities.SavingTrackHelper;
import net.osmand.plus.activities.SettingsActivity;
import net.osmand.plus.api.SQLiteAPI;
import net.osmand.plus.api.SQLiteAPIImpl;
import net.osmand.plus.dashboard.DashRateUsFragment;
import net.osmand.plus.helpers.AvoidSpecificRoads;
import net.osmand.plus.helpers.WaypointHelper;
import net.osmand.plus.monitoring.LiveMonitoringHelper;
import net.osmand.plus.poi.PoiFiltersHelper;
import net.osmand.plus.render.RendererRegistry;
import net.osmand.plus.resources.ResourceManager;
import net.osmand.plus.routing.RoutingHelper;
import net.osmand.plus.sherpafy.SherpafyCustomization;
import net.osmand.plus.voice.CommandPlayer;
import net.osmand.router.RoutingConfiguration;
import net.osmand.util.Algorithms;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintStream;
import java.lang.Thread.UncaughtExceptionHandler;
import java.util.Locale;
import btools.routingapp.BRouterServiceConnection;
import btools.routingapp.IBRouterService;
@ -141,6 +142,10 @@ public class OsmandApplication extends Application {
timeToStart = System.currentTimeMillis();
OsmandPlugin.initPlugins(this);
System.out.println("Time to init plugins " + (System.currentTimeMillis() - timeToStart) + " ms. Should be less < 800 ms");
osmandSettings.NUMBER_OF_APPLICATION_STARTS.set(
osmandSettings.NUMBER_OF_APPLICATION_STARTS.get() + 1);
}
public AppInitializer getAppInitializer() {
@ -174,6 +179,9 @@ public class OsmandApplication extends Application {
if (routingHelper != null) {
routingHelper.getVoiceRouter().onApplicationTerminate();
}
if(DashRateUsFragment.shouldShow(osmandSettings)) {
osmandSettings.RATE_US_STATE.set(DashRateUsFragment.RateUsState.IGNORED);
}
}
public RendererRegistry getRendererRegistry() {

View file

@ -1,6 +1,34 @@
package net.osmand.plus;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.Configuration;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Build;
import android.os.Environment;
import net.osmand.IndexConstants;
import net.osmand.StateChangedListener;
import net.osmand.ValueHolder;
import net.osmand.data.LatLon;
import net.osmand.data.PointDescription;
import net.osmand.map.ITileSource;
import net.osmand.map.TileSourceManager;
import net.osmand.map.TileSourceManager.TileSourceTemplate;
import net.osmand.plus.access.AccessibilityMode;
import net.osmand.plus.access.RelativeDirectionStyle;
import net.osmand.plus.api.SettingsAPI;
import net.osmand.plus.api.SettingsAPI.SettingsEditor;
import net.osmand.plus.dashboard.DashRateUsFragment;
import net.osmand.plus.helpers.SearchHistoryHelper;
import net.osmand.plus.render.RendererRegistry;
import net.osmand.plus.routing.RouteProvider.RouteService;
import net.osmand.render.RenderingRulesStorage;
import java.io.File;
import java.io.IOException;
import java.lang.ref.WeakReference;
@ -17,32 +45,6 @@ import java.util.Map;
import java.util.Set;
import java.util.StringTokenizer;
import net.osmand.IndexConstants;
import net.osmand.StateChangedListener;
import net.osmand.ValueHolder;
import net.osmand.data.LatLon;
import net.osmand.data.PointDescription;
import net.osmand.map.ITileSource;
import net.osmand.map.TileSourceManager;
import net.osmand.map.TileSourceManager.TileSourceTemplate;
import net.osmand.plus.access.AccessibilityMode;
import net.osmand.plus.access.RelativeDirectionStyle;
import net.osmand.plus.api.SettingsAPI;
import net.osmand.plus.api.SettingsAPI.SettingsEditor;
import net.osmand.plus.helpers.SearchHistoryHelper;
import net.osmand.plus.render.RendererRegistry;
import net.osmand.plus.routing.RouteProvider.RouteService;
import net.osmand.render.RenderingRulesStorage;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.Configuration;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Build;
import android.os.Environment;
public class OsmandSettings {
public interface OsmandPreference<T> {
@ -1856,7 +1858,18 @@ public class OsmandSettings {
public final OsmandPreference<Integer> NUMBER_OF_FREE_DOWNLOADS = new IntPreference("free_downloads_v2", 0).makeGlobal();
// For DashRateUsFragment
public final OsmandPreference<Long> LAST_DISPLAY_TIME =
new LongPreference("last_display_time", 0).makeGlobal().cache();
public final OsmandPreference<Integer> NUMBER_OF_APPLICATION_STARTS =
new IntPreference("number_of_application_starts", 0).makeGlobal().cache();
public final OsmandPreference<DashRateUsFragment.RateUsState> RATE_US_STATE =
new EnumIntPreference<>("rate_us_state",
DashRateUsFragment.RateUsState.INITIAL_STATE, DashRateUsFragment.RateUsState.values())
.makeGlobal()
.cache();
public boolean checkFreeDownloadsNumberZero(){
if(!settingsAPI.contains(globalPreferences,NUMBER_OF_FREE_DOWNLOADS.getId())){
NUMBER_OF_FREE_DOWNLOADS.set(0);
@ -1976,12 +1989,5 @@ public class OsmandSettings {
}
}
}

View file

@ -0,0 +1,214 @@
package net.osmand.plus.dashboard;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import net.osmand.plus.OsmandSettings;
import net.osmand.plus.R;
import java.util.Calendar;
/**
* Created by Denis on
* 26.03.2015.
*/
public class DashRateUsFragment extends DashBaseFragment {
public static final String TAG = "DASH_RATE_US_FRAGMENT";
// TODO move to resources
public static final String EMAIL = "support@osmand.net";
// Imported in shouldShow method
private static OsmandSettings settings;
private FragmentState state = FragmentState.INITIAL_STATE;
@Override
public void onOpenDash() {
}
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = getActivity().getLayoutInflater().inflate(R.layout.dash_rate_us_fragment, container, false);
TextView header = (TextView) view.findViewById(R.id.header);
TextView subheader = (TextView) view.findViewById(R.id.subheader);
Button positiveButton = (Button) view.findViewById(R.id.positive_button);
Button negativeButton = (Button) view.findViewById(R.id.negative_button);
positiveButton.setOnClickListener(
new PositiveButtonListener(header, subheader, positiveButton, negativeButton));
negativeButton.setOnClickListener(
new NegativeButtonListener(header, subheader, positiveButton, negativeButton));
return view;
}
public static boolean shouldShow(OsmandSettings settings) {
if(!settings.LAST_DISPLAY_TIME.isSet()) {
settings.LAST_DISPLAY_TIME.set(System.currentTimeMillis());
}
DashRateUsFragment.settings = settings;
long lastDisplayTimeInMillis = settings.LAST_DISPLAY_TIME.get();
int numberOfApplicationRuns = settings.NUMBER_OF_APPLICATION_STARTS.get();
RateUsState state = settings.RATE_US_STATE.get();
Calendar modifiedTime = Calendar.getInstance();
Calendar lastDisplayTime = Calendar.getInstance();
lastDisplayTime.setTimeInMillis(lastDisplayTimeInMillis);
int bannerFreeRuns = 0;
Log.v(TAG, "state=" + state + "; lastDisplayTimeInMillis=" + lastDisplayTimeInMillis
+ "; numberOfApplicationRuns=" + numberOfApplicationRuns);
switch (state) {
case LIKED:
return false;
case INITIAL_STATE:
break;
case IGNORED:
modifiedTime.add(Calendar.WEEK_OF_YEAR, -1);
bannerFreeRuns = 5;
break;
case DISLIKED_WITH_MESSAGE:
modifiedTime.add(Calendar.MONTH, -3);
bannerFreeRuns = 3;
break;
case DISLIKED_WITHOUT_MESSAGE:
modifiedTime.add(Calendar.MONTH, -2);
break;
default:
throw new IllegalStateException("Unexpected state:" + state);
}
if (state != RateUsState.INITIAL_STATE) {
if (modifiedTime.after(lastDisplayTime) && numberOfApplicationRuns >= bannerFreeRuns) {
settings.RATE_US_STATE.set(RateUsState.INITIAL_STATE);
modifiedTime = Calendar.getInstance();
} else {
return false;
}
}
// Initial state now
modifiedTime.add(Calendar.HOUR, -72);
bannerFreeRuns = 3;
if (modifiedTime.after(lastDisplayTime) && numberOfApplicationRuns >= bannerFreeRuns) {
return true;
}
return false;
}
public class PositiveButtonListener implements View.OnClickListener {
private TextView header;
private TextView subheader;
private Button positiveButton;
private Button negativeButton;
public PositiveButtonListener(TextView header, TextView subheader, Button positiveButton,
Button negativeButton) {
this.header = header;
this.subheader = subheader;
this.positiveButton = positiveButton;
this.negativeButton = negativeButton;
}
@Override
public void onClick(View v) {
switch (state) {
case INITIAL_STATE:
state = FragmentState.USER_LIKES_APP;
header.setText(getResources().getString(R.string.rate_this_app));
subheader.setText(getResources().getString(R.string.rate_this_app_long));
positiveButton.setText(getResources().getString(R.string.shared_string_ok));
negativeButton.setText(getResources().getString(R.string.shared_string_no_thanks));
return;
case USER_LIKES_APP:
settings.RATE_US_STATE.set(RateUsState.LIKED);
// Assuming GooglePlay
Uri uri = Uri.parse("market://details?id=" + getActivity().getPackageName());
Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
try {
startActivity(goToMarket);
} catch (ActivityNotFoundException e) {
startActivity(new Intent(Intent.ACTION_VIEW,
Uri.parse("http://play.google.com/store/apps/details?id="
+ getActivity().getPackageName())));
}
dashboard.refreshDashboardFragments();
return;
case USER_HATES_APP:
settings.RATE_US_STATE.set(RateUsState.DISLIKED_WITH_MESSAGE);
settings.NUMBER_OF_APPLICATION_STARTS.set(0);
settings.LAST_DISPLAY_TIME.set(System.currentTimeMillis());
dashboard.refreshDashboardFragments();
Intent sendEmail = new Intent(Intent.ACTION_SENDTO);
sendEmail.setType("text/plain");
sendEmail.setData(Uri.parse("mailto:" + EMAIL));
sendEmail.putExtra(Intent.EXTRA_EMAIL, EMAIL);
startActivity(sendEmail);
break;
}
}
}
public class NegativeButtonListener implements View.OnClickListener {
private TextView header;
private TextView subheader;
private Button positiveButton;
private Button negativeButton;
public NegativeButtonListener(TextView header, TextView subheader, Button positiveButton,
Button negativeButton) {
this.header = header;
this.subheader = subheader;
this.positiveButton = positiveButton;
this.negativeButton = negativeButton;
}
@Override
public void onClick(View v) {
switch (state) {
case INITIAL_STATE:
state = FragmentState.USER_HATES_APP;
header.setText(getResources().getString(R.string.user_hates_app_get_feedback));
subheader.setText(getResources().getString(R.string.user_hates_app_get_feedback_long));
positiveButton.setText(getResources().getString(R.string.shared_string_ok));
negativeButton.setText(getResources().getString(R.string.shared_string_no_thanks));
return;
case USER_LIKES_APP:
settings.RATE_US_STATE.set(RateUsState.IGNORED);
break;
case USER_HATES_APP:
settings.RATE_US_STATE.set(RateUsState.DISLIKED_WITHOUT_MESSAGE);
break;
}
settings.NUMBER_OF_APPLICATION_STARTS.set(0);
settings.LAST_DISPLAY_TIME.set(System.currentTimeMillis());
dashboard.refreshDashboardFragments();
}
}
private enum FragmentState {
INITIAL_STATE,
USER_LIKES_APP,
USER_HATES_APP
}
public enum RateUsState {
INITIAL_STATE,
IGNORED,
LIKED,
DISLIKED_WITH_MESSAGE,
DISLIKED_WITHOUT_MESSAGE
}
}

View file

@ -1,37 +1,6 @@
package net.osmand.plus.dashboard;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import net.osmand.data.LatLon;
import net.osmand.plus.ContextMenuAdapter;
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
import net.osmand.plus.ContextMenuAdapter.OnRowItemClick;
import net.osmand.plus.IconsCache;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandPlugin;
import net.osmand.plus.R;
import net.osmand.plus.activities.IntermediatePointsDialog;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.audionotes.DashAudioVideoNotesFragment;
import net.osmand.plus.development.DashSimulateFragment;
import net.osmand.plus.development.OsmandDevelopmentPlugin;
import net.osmand.plus.dialogs.ConfigureMapMenu;
import net.osmand.plus.download.DownloadActivity;
import net.osmand.plus.helpers.AndroidUiHelper;
import net.osmand.plus.helpers.WaypointDialogHelper;
import net.osmand.plus.helpers.WaypointHelper.LocationPointWrapper;
import net.osmand.plus.monitoring.DashTrackFragment;
import net.osmand.plus.osmedit.DashOsmEditsFragment;
import net.osmand.plus.osmo.DashOsMoFragment;
import net.osmand.plus.parkingpoint.DashParkingFragment;
import net.osmand.plus.routing.RoutingHelper;
import net.osmand.plus.views.DownloadedRegionsLayer;
import net.osmand.plus.views.OsmandMapTileView;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
@ -66,6 +35,38 @@ import com.github.ksoichiro.android.observablescrollview.ObservableScrollView;
import com.github.ksoichiro.android.observablescrollview.ObservableScrollViewCallbacks;
import com.github.ksoichiro.android.observablescrollview.ScrollState;
import net.osmand.data.LatLon;
import net.osmand.plus.ContextMenuAdapter;
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
import net.osmand.plus.ContextMenuAdapter.OnRowItemClick;
import net.osmand.plus.IconsCache;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandPlugin;
import net.osmand.plus.R;
import net.osmand.plus.activities.IntermediatePointsDialog;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.audionotes.DashAudioVideoNotesFragment;
import net.osmand.plus.development.DashSimulateFragment;
import net.osmand.plus.development.OsmandDevelopmentPlugin;
import net.osmand.plus.dialogs.ConfigureMapMenu;
import net.osmand.plus.download.DownloadActivity;
import net.osmand.plus.helpers.AndroidUiHelper;
import net.osmand.plus.helpers.WaypointDialogHelper;
import net.osmand.plus.helpers.WaypointHelper.LocationPointWrapper;
import net.osmand.plus.monitoring.DashTrackFragment;
import net.osmand.plus.osmedit.DashOsmEditsFragment;
import net.osmand.plus.osmo.DashOsMoFragment;
import net.osmand.plus.parkingpoint.DashParkingFragment;
import net.osmand.plus.routing.RoutingHelper;
import net.osmand.plus.views.DownloadedRegionsLayer;
import net.osmand.plus.views.OsmandMapTileView;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
/**
*/
public class DashboardOnMap implements ObservableScrollViewCallbacks {
@ -655,10 +656,12 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
boolean firstTime = getMyApplication().getAppInitializer().isFirstTime(mapActivity);
// boolean showCards = mapActivity.getMyApplication().getSettings().USE_DASHBOARD_INSTEAD_OF_DRAWER.get();
boolean showCards = !firstTime;
FragmentManager manager = mapActivity.getSupportFragmentManager();
FragmentTransaction fragmentTransaction = manager.beginTransaction();
showFragment(manager, fragmentTransaction, DashRateUsFragment.TAG, DashRateUsFragment.class,
DashRateUsFragment.shouldShow(getMyApplication().getSettings()));
showFragment(manager, fragmentTransaction, DashFirstTimeFragment.TAG, DashFirstTimeFragment.class, firstTime);
showFragment(manager, fragmentTransaction, DashChooseAppDirFragment.TAG, DashChooseAppDirFragment.class,
DashChooseAppDirFragment.isDashNeeded(getMyApplication().getSettings()));