From a3e09988ade347cb5fece23920ac375c6be2a407 Mon Sep 17 00:00:00 2001 From: sonora Date: Sun, 17 Jan 2016 18:09:16 +0100 Subject: [PATCH 01/67] two more strings --- OsmAnd/res/values-de/strings.xml | 2 +- OsmAnd/res/values/strings.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index 46a7fa9fcc..4dddb376ee 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -2,7 +2,7 @@ Entfernen Eintrag entfernt - Einträge entfernt + Einträge entfernt Keine Adresse bekannt Nähe Regionen diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index df13329857..30a604d20a 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -17,7 +17,7 @@ Reverse starting point & destination Hide POI icons Item removed - items removed + items removed UNDO ALL Type Starting point From f7d58e13475452dcb8a9002419ae526b5c3ccb08 Mon Sep 17 00:00:00 2001 From: jan madsen Date: Sun, 17 Jan 2016 18:09:28 +0100 Subject: [PATCH 02/67] Translated using Weblate (Danish) Currently translated at 99.9% (1886 of 1887 strings) --- OsmAnd/res/values-da/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index e2ad8d72ec..ee81a93f1b 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -2222,7 +2222,7 @@ Vælg måned og land Type Udgangspunkt - Emne slettet + Emne fjernet Emner slettet FORTRYD ALLE Skjul IP ikoner @@ -2234,4 +2234,5 @@ Du kan fjerne de overførte opdateringer og vende tilbage til den oprindelige kort udgave Tilføj tidsinterval Vej er spærret + Fjern From aa8bed14c765f93bd0a0de2805403d1d0066bc7b Mon Sep 17 00:00:00 2001 From: sonora Date: Sun, 17 Jan 2016 18:43:08 +0100 Subject: [PATCH 03/67] more string improvements --- OsmAnd/res/values/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 30a604d20a..da018a1c8b 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -1012,7 +1012,7 @@ Audio/video is being recorded. To stop it press the AV widget. An audio from the specified recording is being played.\n%1$s Open external player - Do you want to remove this recording? + Do you want to delete this recording? unavailable Take an audio note Take a video note @@ -1355,7 +1355,7 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A Warning Notification to pick up your car was previously added to your Calendar. It will remain there until you will delete it manually. Set the time limit of parking - Do you want to remove the location of the parked car? + Do you want to delete the parking location marker? Delete a parking marker Choose the type of parking Time-limited @@ -2012,7 +2012,7 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A Add favorite Edit favorite Delete favorite - Remove favorite point \'%s\'? + Delete favorite point \'%s\'? Favorite point {0} was successfully deleted. Edit POI Create POI From f2248aff13a698e42bc769672bcf45651c10f912 Mon Sep 17 00:00:00 2001 From: Leif Larsson Date: Sun, 17 Jan 2016 18:31:44 +0100 Subject: [PATCH 04/67] Translated using Weblate (Swedish) Currently translated at 99.2% (1872 of 1887 strings) --- OsmAnd/res/values-sv/strings.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-sv/strings.xml b/OsmAnd/res/values-sv/strings.xml index f30bca1a15..74b5074223 100644 --- a/OsmAnd/res/values-sv/strings.xml +++ b/OsmAnd/res/values-sv/strings.xml @@ -2061,7 +2061,7 @@ Välj månad och land Typ Startpunkt - post raderad + Post borttagen poster raderade ÅNGRA ALLA Dölj POI-ikoner @@ -2070,4 +2070,8 @@ Antal redigeringar Rapport för: Välj + Ta bort + Du kan ta bort hämtade uppdateringar och få tillbaka originalkartan + Lägg till tidsspann + Blockerad väg From d8346b48a11536a91fedd713115827a732538202 Mon Sep 17 00:00:00 2001 From: Franco Date: Sun, 17 Jan 2016 18:30:45 +0100 Subject: [PATCH 05/67] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (2383 of 2383 strings) --- OsmAnd/res/values-es-rAR/phrases.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-es-rAR/phrases.xml b/OsmAnd/res/values-es-rAR/phrases.xml index a163f81ec1..70fb91f6ac 100644 --- a/OsmAnd/res/values-es-rAR/phrases.xml +++ b/OsmAnd/res/values-es-rAR/phrases.xml @@ -2012,7 +2012,7 @@ Oficina del campamento Aeródromo a escala Oficina del guía - ONG casi autónoma + ONG cuasi-autónoma Oficina de consultoría Oficina de cooperativa Oficina forestal From 13dd45c20e2a42e25bd45c528b71473d75469bab Mon Sep 17 00:00:00 2001 From: jan madsen Date: Sun, 17 Jan 2016 18:56:43 +0100 Subject: [PATCH 06/67] Translated using Weblate (Danish) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-da/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index ee81a93f1b..71cd252f01 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -225,7 +225,7 @@ Advarsel Påmindelse om at afhente bil blev tidligere tilføjet til kalender. Den forblive der, indtil den slettes manuelt. Indstil tidsgrænsen for parkering - Skal placeringen af den parkerede bil slettes? + Slet parkeringsmarkør? Slet P-plads markør Vælg parkeringstype Tidsbegrænset @@ -892,7 +892,7 @@ Meddelelse Favoritpunkt {0} blev slettet. - Fjern favoritpunkt \'%s\'? + Slet favoritpunkt \'%s\'? Slet Rediger Nødsituation From 75e82f05cec994467bbbfd7267b5c915c69906c4 Mon Sep 17 00:00:00 2001 From: Franco Date: Sun, 17 Jan 2016 19:13:57 +0100 Subject: [PATCH 07/67] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-es-rAR/strings.xml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index c996e10a50..8e9c096549 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -748,7 +748,7 @@ Grabando audio/video. Para pararlo, pulsa el control AV. Reproduciendo audio de la grabación indicada.\n%1$s Abrir reproductor externo - ¿Quiere quitar esta grabación? + ¿Quiere borrar esta grabación? no disponible Grabar nota de audio Grabar nota de video @@ -1018,7 +1018,7 @@ Advertencia La notificación para recoger su auto fue previamente añadida al calendario. Permanecerá allí hasta que la borre manualmente. Definir el límite de tiempo del estacionamiento - ¿Quitar ubicación del auto estacionado? + ¿Borrar el marcador de ubicación del estacionamiento? Quitar marcador de estacionamiento Elija el tipo de estacionamiento Tiempo limitado @@ -1671,7 +1671,7 @@ El punto favorito \'\'{0}\'\' se añadió correctamente. Editar favorito Borrar favorito - ¿Quitar el favorito \'%s\'? + ¿Borrar el favorito \'%s\'? El punto favorito {0} se borró correctamente. @@ -2042,7 +2042,7 @@ Elige mes y país Tipo Punto de partida - Elemento borrado + Elemento quitado elementos borrados DESHACER TODO Ocultar iconos de PDI @@ -2054,4 +2054,5 @@ Añadir lapso de tiempo Camino bloqueado Elegir + Quitar From a21af9bfd996c160daca304f04177b86bd2d7101 Mon Sep 17 00:00:00 2001 From: jf-simon Date: Sun, 17 Jan 2016 19:15:21 +0100 Subject: [PATCH 08/67] Translated using Weblate (German) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-de/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index 4dddb376ee..77d8d318c3 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -834,7 +834,7 @@ Favorit Punkt \'\'{0}\'\' wurde erfolgreich hinzugefügt. Favorit bearbeiten Favorit löschen - Wollen Sie den Punkt \'%s\' wirklich löschen? + Wollen Sie den Favoritenpunkt \'%s\' wirklich löschen? Der Punkt {0} wurde erfolgreich gelöscht. Nachricht @@ -2007,4 +2007,5 @@ Zeitspanne hinzufügen Straße blockiert Auswählen + Kartenaktualisierungen können gelöscht werden um zur orginal Karte zurückzukehren From c4838ca2db4f668dded74517de906be8d7b1b416 Mon Sep 17 00:00:00 2001 From: Victor Shcherb Date: Sun, 17 Jan 2016 20:21:55 +0100 Subject: [PATCH 09/67] Rename to waypoint to avoid confusion --- OsmAnd/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index da018a1c8b..269e860476 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -1062,7 +1062,7 @@ No route Remove destination Destination %1$s - Destination %1$s + Waypoint %1$s Add as last intermediate destination Add as first intermediate destination Add as last intermediate destination From 62661f2549317dffca4b0cd84952361586679eaf Mon Sep 17 00:00:00 2001 From: Matej U Date: Sun, 17 Jan 2016 22:31:35 +0100 Subject: [PATCH 10/67] Translated using Weblate (Slovenian) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-sl/strings.xml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/OsmAnd/res/values-sl/strings.xml b/OsmAnd/res/values-sl/strings.xml index 2e673b8c23..48777dc810 100644 --- a/OsmAnd/res/values-sl/strings.xml +++ b/OsmAnd/res/values-sl/strings.xml @@ -47,7 +47,7 @@ Uredi priljubljeno točko Izbriši priljubljeno točko Točka \'\'{0}\'\' je uspešno dodana med priljubljene. - Odstrani priljubljeno točko \'%s\'? + Ali res želite izbrisati priljubljeno točko \'%s\'? Priljubljena točka {0} je uspešno izbrisana. Uredi točko POI Ustvari točko POI @@ -365,7 +365,7 @@ Odpeljite vozilo s parkirišča Obvestilo, da odpeljite vozilo s parkirišča, je bilo prej dodano v koledar. Ostalo bo zapisano, dokler ga ne izbrišete ročno. Nastavi časovno omejitev parkiranja - Ali želite odstraniti mesto, kjer je vozilo parkirano? + Ali želite izbrisati oznako mesta, kjer je vozilo parkirano? Izbriši mesto parkiranja Izbira vrste parkiranja Časovno omejeno @@ -979,7 +979,7 @@ Podatki izohips Predvajanje zvoka iz izbranega posnetka.\n%1$s Odpri zunanji predvajalnik - Ali želite odstraniti ta posnetek? + Ali želite izbrisati ta posnetek? ni na voljo Posnemi zvočni zaznamek @@ -2078,7 +2078,7 @@ Razdelilnik posnetkov Uporabi razdelilnik posnetkov Prepiši starejše posnetke, ko velikost posnetka preseže omejitev - Predmet je izbrisan + Predmet je odstranjen izbrisanih predmetov Razveljavi vse Vrsta @@ -2090,4 +2090,8 @@ Število sodelujočih Število urejanj Poročilo za: - +Odstrani + Posodobitve zemljevidov je mogoče izbrisati in povrniti stanje na izvorni zemljevid. + Dodaj časovni razmik + Cesta je zaprta + From c067f72053c2f6073e5c15db563e486044330cbe Mon Sep 17 00:00:00 2001 From: jan madsen Date: Sun, 17 Jan 2016 18:57:24 +0100 Subject: [PATCH 11/67] Translated using Weblate (Danish) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-da/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 71cd252f01..8f63240e3d 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -139,7 +139,7 @@ GPX Lat %1$.3f, Long %2$.3f - Destination %1$s + Rutepunkt %1$s Hold position til vejen under navigation Fastgør til vejen Globale mobilkort & navigation til offline og online OSM kort From 3c5b19418c99d59db75c115e01e090b0e62b255f Mon Sep 17 00:00:00 2001 From: ezjerry liao Date: Mon, 18 Jan 2016 06:16:45 +0100 Subject: [PATCH 12/67] Translated using Weblate (Chinese (Taiwan)) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index b05abf3bbc..ebb5d558b8 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -11,7 +11,7 @@ 沒有路線 移除目的地 目的地 %1$s - 目的地 %1$s + 航點 %1$s 增為最後一個的中途標點 增為第一個中途標點 @@ -125,7 +125,7 @@ 警示 取車通知在先前已加到您的行事曆中。它會一直保留在那裡,直到您手動刪除它。 設定停車時限 - 您要移除停車位置嗎? + 您要刪除停車位置標記嗎? 刪除停車位置標記 選擇停車場種類 時限 @@ -847,7 +847,7 @@ 我的最愛標點 \'\'{0}\'\' 新增成功。 編輯我的最愛 刪除我的最愛 - 移除我的最愛標點 \'%s\'? + 刪除我的最愛標點 \'%s\'? 我的最愛標點 {0} 刪除成功。 @@ -977,7 +977,7 @@ 相機失效 從已指定的錄音開始播放音訊。\n%1$s 開啟外部播放 - 您想移除此錄製嗎? + 您想刪除此錄製嗎? 無法使用 錄取音訊注解 目的地 %1$S @@ -2068,7 +2068,7 @@ 選擇月份與國家 類型 起始標點 - 項目已刪除 + 項目已移除 項目已刪除 全部取消 隱藏 POI 圖示 @@ -2077,4 +2077,8 @@ 編輯次數 報告: 選擇 + 移除 + 您可以移除已下載的更新和回到原來的地圖版本 + 增加時間跨度 + 道路堵塞 From c8e08067425e128a20230414da9a3e8bd9d3ecea Mon Sep 17 00:00:00 2001 From: Ldm Public Date: Mon, 18 Jan 2016 07:23:08 +0100 Subject: [PATCH 13/67] Translated using Weblate (French) Currently translated at 99.9% (1886 of 1887 strings) --- OsmAnd/res/values-fr/strings.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index 4668da30ba..40600ec8fb 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -2117,4 +2117,7 @@ Nombre de modifications Signaler pour : Sélectionner + Supprimer + Vous pouvez supprimer les mises à jour et retrouver la carte précédente + Route barrée From e6bcdd89fae7306df7615ae0646ce18340d145f6 Mon Sep 17 00:00:00 2001 From: Adam Magnier Date: Mon, 18 Jan 2016 09:39:16 +0100 Subject: [PATCH 14/67] Translated using Weblate (French) Currently translated at 99.9% (1887 of 1887 strings) --- OsmAnd/res/values-fr/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index 40600ec8fb..7562c45b5b 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -2120,4 +2120,5 @@ Supprimer Vous pouvez supprimer les mises à jour et retrouver la carte précédente Route barrée + Ajouter un laps de temps From 9bfb3a1580b54f999004d794444daf1743652716 Mon Sep 17 00:00:00 2001 From: sonora Date: Mon, 18 Jan 2016 10:59:36 +0100 Subject: [PATCH 15/67] string correction --- OsmAnd/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 269e860476..d47baabadb 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -1062,7 +1062,7 @@ No route Remove destination Destination %1$s - Waypoint %1$s + Intermediate destination %1$s Add as last intermediate destination Add as first intermediate destination Add as last intermediate destination From 7a09d87247ba4a4a577ca0c9d1396dc931d7bcab Mon Sep 17 00:00:00 2001 From: jan madsen Date: Mon, 18 Jan 2016 08:08:02 +0100 Subject: [PATCH 16/67] Translated using Weblate (Danish) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-da/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 8f63240e3d..c0938e8ec1 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -2231,7 +2231,7 @@ Antal redigeringer Rapport for: Vælg - Du kan fjerne de overførte opdateringer og vende tilbage til den oprindelige kort udgave + Du kan fjerne de hentede opdateringer og vende tilbage til det oprindelige kort Tilføj tidsinterval Vej er spærret Fjern From 9ded189953bd9ab537e0984aea22eb3f4c95933d Mon Sep 17 00:00:00 2001 From: Mirco Zorzo Date: Mon, 18 Jan 2016 00:21:16 +0100 Subject: [PATCH 17/67] Translated using Weblate (Italian) Currently translated at 99.7% (1883 of 1887 strings) --- OsmAnd/res/values-it/strings.xml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/OsmAnd/res/values-it/strings.xml b/OsmAnd/res/values-it/strings.xml index e3699faf3c..d32d69d93e 100644 --- a/OsmAnd/res/values-it/strings.xml +++ b/OsmAnd/res/values-it/strings.xml @@ -777,7 +777,7 @@ Attenzione Precedentemente è stata aggiunta al tuo calendario la notifica di recuperare l\'auto. Ci rimarrà finché non la eliminerai manualmente. Imposta il limite d\'orario del parcheggio - Vuoi rimuovere la posizione dell\'auto parcheggiata? + Vuoi cancellare il marcatore della posizione del parcheggio dell\'auto? Elimina un marcatore di parcheggio Scegli il tipo di parcheggio A tempo @@ -931,7 +931,7 @@ Servizi di registrazione Nessun percorso Rimuovi la destinazione - Destinazione %1$s + Punto intermedio %1$s Attiva il GPS nelle impostazioni Visualizza la direzione della destinazione Calcola un percorso, eventualmente anche non ottimale, su lunghe distanze @@ -1000,7 +1000,7 @@ L\'audio/video sta per essere registrato. Per fermarlo seleziona il widget AV. L\'audio della registrazione specificata sta per essere riprodotto.\n%1$s Apri riproduttore esterno - Vuoi rimuovere questa registrazione? + Vuoi cancellare questa registrazione? non disponibile Prendi una nota audio @@ -2135,7 +2135,7 @@ Tipo Punto di partenza Scegli il mese e lo stato -Oggetto cancellato +Oggetto rimosso oggetti cancellati Annulla tutto Inverti punti di partenza e destinazione @@ -2144,4 +2144,7 @@ Numero di contributori Scegli Rapporto per: - +Rimuovi + Puoi eliminare gli aggiornamenti scaricati e avere la mappa originale + Strada chiusa + From c173fd9f1bbf7d12c72dfd994b518e20c2812039 Mon Sep 17 00:00:00 2001 From: Adam Magnier Date: Mon, 18 Jan 2016 09:32:18 +0100 Subject: [PATCH 18/67] Translated using Weblate (French) Currently translated at 75.1% (1790 of 2383 strings) --- OsmAnd/res/values-fr/phrases.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/OsmAnd/res/values-fr/phrases.xml b/OsmAnd/res/values-fr/phrases.xml index fadd89bd15..34a51f8568 100644 --- a/OsmAnd/res/values-fr/phrases.xml +++ b/OsmAnd/res/values-fr/phrases.xml @@ -1948,4 +1948,8 @@ Civilisation : Grèce antique Cartes PRO100 non acceptées Cartes PRO100 acceptées + Commerce équitable : non + Uniquement des produits issus du commerce équitable + +Commerce équitable : Oui From 8074e13f706381cec7a75b62ceed0e362c9d0a03 Mon Sep 17 00:00:00 2001 From: jan madsen Date: Mon, 18 Jan 2016 08:08:02 +0100 Subject: [PATCH 19/67] Translated using Weblate (Danish) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-da/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index c0938e8ec1..0a2549b19b 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -139,7 +139,7 @@ GPX Lat %1$.3f, Long %2$.3f - Rutepunkt %1$s + Mellemliggende destination %1$s Hold position til vejen under navigation Fastgør til vejen Globale mobilkort & navigation til offline og online OSM kort From e4d3286f0357f240e71bd4539e47b6b1a056a041 Mon Sep 17 00:00:00 2001 From: GaidamakUA Date: Sat, 16 Jan 2016 11:52:47 +0200 Subject: [PATCH 20/67] Live updates fixed NPE. --- .../net/osmand/plus/liveupdates/ReportsFragment.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/liveupdates/ReportsFragment.java b/OsmAnd/src/net/osmand/plus/liveupdates/ReportsFragment.java index b7a8b502f0..b471e0be05 100644 --- a/OsmAnd/src/net/osmand/plus/liveupdates/ReportsFragment.java +++ b/OsmAnd/src/net/osmand/plus/liveupdates/ReportsFragment.java @@ -102,11 +102,13 @@ public class ReportsFragment extends BaseOsmAndFragment { new GetJsonAsyncTask.OnResponseListener() { @Override public void onResponse(Protocol.TotalChangesByMonthResponse response) { - if (contributorsTextView != null) { - contributorsTextView.setText(String.valueOf(response.users)); - } - if (editsTextView != null) { - editsTextView.setText(String.valueOf(response.changes)); + if (response != null) { + if (contributorsTextView != null) { + contributorsTextView.setText(String.valueOf(response.users)); + } + if (editsTextView != null) { + editsTextView.setText(String.valueOf(response.changes)); + } } } }; From 3d15fb96590f9f84db1a2c565d5d01f583dbb5dd Mon Sep 17 00:00:00 2001 From: GaidamakUA Date: Mon, 18 Jan 2016 13:19:00 +0200 Subject: [PATCH 21/67] Adding scale gestures in progress. --- .../osmand/plus/views/OsmandMapTileView.java | 83 ++++++++++++------- 1 file changed, 53 insertions(+), 30 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java index bcd7cb36db..13c11caac5 100644 --- a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java +++ b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java @@ -1,10 +1,33 @@ package net.osmand.plus.views; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import android.annotation.SuppressLint; +import android.app.Activity; +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.Bitmap.Config; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.graphics.Paint.Style; +import android.graphics.PointF; +import android.graphics.RectF; +import android.os.Handler; +import android.os.Message; +import android.os.SystemClock; +import android.util.DisplayMetrics; +import android.view.GestureDetector; +import android.view.GestureDetector.SimpleOnGestureListener; +import android.view.InputDevice; +import android.view.KeyEvent; +import android.view.MotionEvent; +import android.view.ScaleGestureDetector; +import android.view.SurfaceHolder; +import android.view.SurfaceView; +import android.view.View; +import android.view.WindowManager; +import android.widget.Toast; import net.osmand.PlatformUtil; import net.osmand.access.AccessibilityActionsProvider; @@ -30,32 +53,10 @@ import net.osmand.util.MapUtils; import org.apache.commons.logging.Log; -import android.annotation.SuppressLint; -import android.app.Activity; -import android.content.Context; -import android.content.res.Resources; -import android.graphics.Bitmap; -import android.graphics.Bitmap.Config; -import android.graphics.Canvas; -import android.graphics.Color; -import android.graphics.Paint; -import android.graphics.Paint.Style; -import android.graphics.PointF; -import android.graphics.RectF; -import android.os.Handler; -import android.os.Message; -import android.os.SystemClock; -import android.util.DisplayMetrics; -import android.view.GestureDetector; -import android.view.GestureDetector.SimpleOnGestureListener; -import android.view.InputDevice; -import android.view.KeyEvent; -import android.view.MotionEvent; -import android.view.SurfaceHolder; -import android.view.SurfaceView; -import android.view.View; -import android.view.WindowManager; -import android.widget.Toast; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; public class OsmandMapTileView implements IMapDownloaderCallback { @@ -160,6 +161,7 @@ public class OsmandMapTileView implements IMapDownloaderCallback { private Paint paintImg; private boolean afterTwoFingerTap = false; + private ScaleGestureDetector scaleDetector; TwoFingerTapDetector twoFingerTapDetector = new TwoFingerTapDetector() { @Override public void onTwoFingerTap() { @@ -209,6 +211,7 @@ public class OsmandMapTileView implements IMapDownloaderCallback { handler = new Handler(); baseHandler = new Handler(application.getResourceManager().getRenderingBufferImageThread().getLooper()); animatedDraggingThread = new AnimateDraggingMapThread(this); + scaleDetector = new ScaleGestureDetector(ctx, new MapOnScaleGestureListener()); gestureDetector = new GestureDetector(ctx, new MapExplorer(this, new MapTileViewOnGestureListener())); multiTouchSupport = new MultiTouchSupport(ctx, new MapTileViewMultiTouchZoomListener()); @@ -755,6 +758,8 @@ public class OsmandMapTileView implements IMapDownloaderCallback { mapRenderer.resumeSymbolsUpdate(); } } +// scaleDetector.onTouchEvent(event); +// if (scaleDetector.isInProgress()) { if (twoFingerTapDetector.onTouchEvent(event)) { return true; } @@ -992,6 +997,24 @@ public class OsmandMapTileView implements IMapDownloaderCallback { } } + private class MapOnScaleGestureListener extends ScaleGestureDetector.SimpleOnScaleGestureListener { + private double scaleFactor; + + @Override + public boolean onScaleBegin(ScaleGestureDetector detector) { + scaleFactor = 1; + return true; + } + + @Override + public boolean onScale(ScaleGestureDetector detector) { + log.debug("Scale factor=" + detector.getScaleFactor()); + scaleFactor *= detector.getScaleFactor(); + getAnimatedDraggingThread().startZooming(getZoom() - 1, currentViewport.getZoomFloatPart(), true); + return true; + } + } + public Resources getResources() { return application.getResources(); } From f3dcfb25c50c830a68cfc2cb2d51b3b267652e15 Mon Sep 17 00:00:00 2001 From: GaidamakUA Date: Mon, 18 Jan 2016 13:19:30 +0200 Subject: [PATCH 22/67] Small fixes --- .../res/layout/local_index_live_updates_list_item.xml | 2 ++ .../src/net/osmand/plus/base/BaseOsmAndFragment.java | 5 +++++ .../osmand/plus/liveupdates/LiveUpdatesFragment.java | 11 +++-------- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/OsmAnd/res/layout/local_index_live_updates_list_item.xml b/OsmAnd/res/layout/local_index_live_updates_list_item.xml index 0f27fb5f04..9816a21fff 100644 --- a/OsmAnd/res/layout/local_index_live_updates_list_item.xml +++ b/OsmAnd/res/layout/local_index_live_updates_list_item.xml @@ -52,6 +52,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="7dp" + android:ellipsize="end" + android:lines="1" android:textColor="?android:textColorSecondary" android:textSize="@dimen/default_sub_text_size" tools:text="Last Update: 1 Dec 2015"/> diff --git a/OsmAnd/src/net/osmand/plus/base/BaseOsmAndFragment.java b/OsmAnd/src/net/osmand/plus/base/BaseOsmAndFragment.java index 63b0043b85..2d908704bd 100644 --- a/OsmAnd/src/net/osmand/plus/base/BaseOsmAndFragment.java +++ b/OsmAnd/src/net/osmand/plus/base/BaseOsmAndFragment.java @@ -2,6 +2,7 @@ package net.osmand.plus.base; import android.graphics.drawable.Drawable; import android.support.annotation.ColorInt; +import android.support.annotation.ColorRes; import android.support.annotation.DrawableRes; import android.support.annotation.IdRes; import android.support.v4.app.Fragment; @@ -34,6 +35,10 @@ public class BaseOsmAndFragment extends Fragment { return getIconsCache().getPaintedContentIcon(id, color); } + protected Drawable getIcon(@DrawableRes int id, @ColorRes int colorId){ + return getIconsCache().getIcon(id, colorId); + } + protected Drawable getContentIcon(@DrawableRes int id){ return getIconsCache().getContentIcon(id); } diff --git a/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesFragment.java b/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesFragment.java index c4811cf670..8ef96c4e61 100644 --- a/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesFragment.java +++ b/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesFragment.java @@ -8,7 +8,6 @@ import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.Bundle; import android.support.annotation.DrawableRes; -import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v7.widget.SwitchCompat; import android.util.TypedValue; @@ -28,7 +27,7 @@ import net.osmand.plus.R; import net.osmand.plus.activities.LocalIndexHelper; import net.osmand.plus.activities.LocalIndexInfo; import net.osmand.plus.activities.OsmandBaseExpandableListAdapter; -import net.osmand.plus.download.AbstractDownloadActivity; +import net.osmand.plus.base.BaseOsmAndFragment; import net.osmand.plus.download.ui.AbstractLoadLocalIndexTask; import net.osmand.plus.resources.IncrementalChangesManager; import net.osmand.util.Algorithms; @@ -53,7 +52,7 @@ import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceTimeOfDayT import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceUpdateFrequency; import static net.osmand.plus.liveupdates.LiveUpdatesHelper.setAlarmForPendingIntent; -public class LiveUpdatesFragment extends Fragment { +public class LiveUpdatesFragment extends BaseOsmAndFragment { public static final String TITLE = "Live Updates"; public static final Comparator LOCAL_INDEX_INFO_COMPARATOR = new Comparator() { @Override @@ -98,10 +97,6 @@ public class LiveUpdatesFragment extends Fragment { return getMyActivity().getMyApplication().getSettings(); } - private AbstractDownloadActivity getMyActivity() { - return (AbstractDownloadActivity) getActivity(); - } - public void notifyLiveUpdatesChanged() { if (adapter != null) { adapter.notifyLiveUpdatesChanged(); @@ -346,7 +341,7 @@ public class LiveUpdatesFragment extends Fragment { subheaderTextView.setText(subheaderText); subheaderTextView.setTextColor(fragment.getActivity().getResources() .getColor(R.color.osmand_orange)); - icon.setImageDrawable(context.getIconsCache().getIcon(R.drawable.ic_map, R.color.osmand_orange)); + icon.setImageDrawable(fragment.getIcon(R.drawable.ic_map, R.color.osmand_orange)); options.setImageDrawable(getSecondaryColorPaintedIcon(R.drawable.ic_overflow_menu_white)); layoutParams.height = (int) dpToPx(view.getContext(), UPDATES_ENABLED_ITEM_HEIGHT); } else { From 141c567df80e7b67e9389ab7ad35752383e529c8 Mon Sep 17 00:00:00 2001 From: GaidamakUA Date: Mon, 18 Jan 2016 14:46:53 +0200 Subject: [PATCH 23/67] Removed array from strings. --- .../dialog_live_updates_item_settings.xml | 2 - OsmAnd/res/values-be/strings.xml | 2 +- OsmAnd/res/values-bg/strings.xml | 2 +- OsmAnd/res/values-ca/strings.xml | 2 +- OsmAnd/res/values-cs/strings.xml | 2 +- OsmAnd/res/values-da/strings.xml | 2 +- OsmAnd/res/values-de/strings.xml | 2 +- OsmAnd/res/values-es-rAR/strings.xml | 2 +- OsmAnd/res/values-es/strings.xml | 2 +- OsmAnd/res/values-fr/strings.xml | 2 +- OsmAnd/res/values-gl/strings.xml | 2 +- OsmAnd/res/values-hu/strings.xml | 2 +- OsmAnd/res/values-it/strings.xml | 2 +- OsmAnd/res/values-ku/strings.xml | 2 +- OsmAnd/res/values-lt/strings.xml | 2 +- OsmAnd/res/values-nl/strings.xml | 2 +- OsmAnd/res/values-pl/strings.xml | 2 +- OsmAnd/res/values-pt-rBR/strings.xml | 2 +- OsmAnd/res/values-pt/strings.xml | 2 +- OsmAnd/res/values-ru/strings.xml | 2 +- OsmAnd/res/values-sc/strings.xml | 2 +- OsmAnd/res/values-sk/strings.xml | 2 +- OsmAnd/res/values-sl/strings.xml | 2 +- OsmAnd/res/values-sr/strings.xml | 2 +- OsmAnd/res/values-sv/strings.xml | 2 +- OsmAnd/res/values-tr/strings.xml | 2 +- OsmAnd/res/values-zh-rTW/strings.xml | 2 +- OsmAnd/res/values/strings.xml | 11 +-- .../plus/liveupdates/LiveUpdatesHelper.java | 2 +- .../LiveUpdatesSettingsDialogFragment.java | 71 +++++++++++-------- 30 files changed, 68 insertions(+), 70 deletions(-) diff --git a/OsmAnd/res/layout/dialog_live_updates_item_settings.xml b/OsmAnd/res/layout/dialog_live_updates_item_settings.xml index bfa0cae88b..a101670cdd 100644 --- a/OsmAnd/res/layout/dialog_live_updates_item_settings.xml +++ b/OsmAnd/res/layout/dialog_live_updates_item_settings.xml @@ -122,7 +122,6 @@ android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="right" - android:entries="@array/update_frequencies_array" android:paddingLeft="0dp"/> @@ -148,7 +147,6 @@ style="@style/OsmandLightTheme.Spinner" android:layout_width="wrap_content" android:layout_height="match_parent" - android:entries="@array/update_times_of_day" android:gravity="right" android:paddingLeft="0dp"/> diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml index efe660c39a..6d5b4d723f 100644 --- a/OsmAnd/res/values-be/strings.xml +++ b/OsmAnd/res/values-be/strings.xml @@ -2088,7 +2088,7 @@ Штодзённа Штотыднёва Раніца - Ноч + Ноч Тып Пачатковы пункт ВЯРНУЦЬ УСЁ diff --git a/OsmAnd/res/values-bg/strings.xml b/OsmAnd/res/values-bg/strings.xml index 7f68584ab9..26306fdbe5 100644 --- a/OsmAnd/res/values-bg/strings.xml +++ b/OsmAnd/res/values-bg/strings.xml @@ -2039,7 +2039,7 @@ Всеки ден Всяка седмица Сутрин - През нощта + През нощта Размяна на началната с крайна точка Скриване на POI иконите Изтрито diff --git a/OsmAnd/res/values-ca/strings.xml b/OsmAnd/res/values-ca/strings.xml index bc2e32dbc7..6fd6361a00 100644 --- a/OsmAnd/res/values-ca/strings.xml +++ b/OsmAnd/res/values-ca/strings.xml @@ -1906,7 +1906,7 @@ Per retornar a l\'estil habitual dels mapes d\'OsmAnd, només cal desactivar aqu Cada dia Cada setmana Matí - Nit + Nit Intercanvi entre punts origen i destinació Amaga les icones dels PDI Element suprimit diff --git a/OsmAnd/res/values-cs/strings.xml b/OsmAnd/res/values-cs/strings.xml index af838ee771..a37bf1dee5 100644 --- a/OsmAnd/res/values-cs/strings.xml +++ b/OsmAnd/res/values-cs/strings.xml @@ -1910,6 +1910,6 @@ Každý den Jednou týdně Ráno - V noci + V noci Vyberte měsíc a krajinu \ No newline at end of file diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 0a2549b19b..c0fa3cdc15 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -2216,7 +2216,7 @@ Daglig Ugentlig Morgen - Aften + Aften Ikke markeret Vælg måned og land diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index 77d8d318c3..1536807124 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -1992,7 +1992,7 @@ Täglich Wöchentlich Morgens - Nachts + Nachts Nicht ausgewählt Wähle Monat und Land diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index 8e9c096549..5235c8eca7 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -2036,7 +2036,7 @@ Diario Semanal Por la mañana - Por la noche + Por la noche No seleccionado Elige mes y país diff --git a/OsmAnd/res/values-es/strings.xml b/OsmAnd/res/values-es/strings.xml index 94197be41e..5228ec3d4b 100644 --- a/OsmAnd/res/values-es/strings.xml +++ b/OsmAnd/res/values-es/strings.xml @@ -2034,7 +2034,7 @@ Cada día Cada semana Por la mañana - Por la noche + Por la noche No seleccionado Seleccione mes y país diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index 7562c45b5b..9d1e5f43c9 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -2096,7 +2096,7 @@ Quotidien Hebdomadaire Matin - Nuit + Nuit Choisissez un mois et un pays Élément supprimé diff --git a/OsmAnd/res/values-gl/strings.xml b/OsmAnd/res/values-gl/strings.xml index 0244766da0..93c460f412 100644 --- a/OsmAnd/res/values-gl/strings.xml +++ b/OsmAnd/res/values-gl/strings.xml @@ -2019,6 +2019,6 @@ Cada día Cada semana Mañá - Noite + Noite Seleccione o mes e o país \ No newline at end of file diff --git a/OsmAnd/res/values-hu/strings.xml b/OsmAnd/res/values-hu/strings.xml index d452f6ece4..30f7cd937f 100644 --- a/OsmAnd/res/values-hu/strings.xml +++ b/OsmAnd/res/values-hu/strings.xml @@ -2075,6 +2075,6 @@ Naponta Hetente Reggel - Este + Este Hónap és ország kiválasztása \ No newline at end of file diff --git a/OsmAnd/res/values-it/strings.xml b/OsmAnd/res/values-it/strings.xml index d32d69d93e..c10384c1ff 100644 --- a/OsmAnd/res/values-it/strings.xml +++ b/OsmAnd/res/values-it/strings.xml @@ -2129,7 +2129,7 @@ Giornaliero Settimanale Mattina - Notte + Notte Non selezionato Tipo diff --git a/OsmAnd/res/values-ku/strings.xml b/OsmAnd/res/values-ku/strings.xml index edcc105339..d115f4f3e3 100644 --- a/OsmAnd/res/values-ku/strings.xml +++ b/OsmAnd/res/values-ku/strings.xml @@ -66,7 +66,7 @@ Nexeyen kû hane Berfireh Veşera - şev + şev Beyanî Rojane Hefteyî diff --git a/OsmAnd/res/values-lt/strings.xml b/OsmAnd/res/values-lt/strings.xml index 1cb0926425..2d00cd5ca4 100644 --- a/OsmAnd/res/values-lt/strings.xml +++ b/OsmAnd/res/values-lt/strings.xml @@ -2091,5 +2091,5 @@ Kasdien Kas savaitę Rytą - Naktį + Naktį \ No newline at end of file diff --git a/OsmAnd/res/values-nl/strings.xml b/OsmAnd/res/values-nl/strings.xml index e234d32518..83e6bd9b75 100644 --- a/OsmAnd/res/values-nl/strings.xml +++ b/OsmAnd/res/values-nl/strings.xml @@ -2154,7 +2154,7 @@ Elke dag Elke week \'s ochtends - \'s avonds + \'s avonds Niet geselecteerd Kies maand en kaart diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index c65b96ac2a..70f3034791 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -2080,6 +2080,6 @@ Dzienny Tygodniowo Rano - Noc + Noc Wybierz miesiąc i kraj \ No newline at end of file diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index ab5087c602..730e252cc1 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -1983,7 +1983,7 @@ Diariamente Semanalmente Pela manhã - À noite + À noite Nada selecionado Selecione o mês e o país Tipo diff --git a/OsmAnd/res/values-pt/strings.xml b/OsmAnd/res/values-pt/strings.xml index f339ec872f..80f1b5d406 100644 --- a/OsmAnd/res/values-pt/strings.xml +++ b/OsmAnd/res/values-pt/strings.xml @@ -1917,7 +1917,7 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A Mapas disponíveis Escolher orientação por voz Escolher ou fazer download de \'orientação por voz\' para a sua linguagem - Noite + Noite Há uma nova opção para controlar principalmente o aplicativo através do painel flexível (Dashboard) ou um menu estático. A sua escolha pode sempre ser alterada nas configurações do painel. Dashboard ou menu de controle Actualizar em cada diff --git a/OsmAnd/res/values-ru/strings.xml b/OsmAnd/res/values-ru/strings.xml index 05c0730e34..2d89d18fd6 100644 --- a/OsmAnd/res/values-ru/strings.xml +++ b/OsmAnd/res/values-ru/strings.xml @@ -1894,6 +1894,6 @@ Время обновления Количество участников Количество правок - Ночь + Ночь Утро diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml index fc8b2c68e2..b2101591d6 100644 --- a/OsmAnd/res/values-sc/strings.xml +++ b/OsmAnd/res/values-sc/strings.xml @@ -2071,7 +2071,7 @@ Cada die Cada chida Mangianu - Note + Note Mannària agiornamentos Ischerta mese e istadu diff --git a/OsmAnd/res/values-sk/strings.xml b/OsmAnd/res/values-sk/strings.xml index e1653f9131..d6809c5f0d 100644 --- a/OsmAnd/res/values-sk/strings.xml +++ b/OsmAnd/res/values-sk/strings.xml @@ -1912,7 +1912,7 @@ Každý deň Raz za týždeň Ráno - V noci + V noci Typ Východzí bod diff --git a/OsmAnd/res/values-sl/strings.xml b/OsmAnd/res/values-sl/strings.xml index 48777dc810..7300466ea6 100644 --- a/OsmAnd/res/values-sl/strings.xml +++ b/OsmAnd/res/values-sl/strings.xml @@ -2074,7 +2074,7 @@ Dnevno Tedensko Zjutraj - Zvečer + Zvečer Razdelilnik posnetkov Uporabi razdelilnik posnetkov Prepiši starejše posnetke, ko velikost posnetka preseže omejitev diff --git a/OsmAnd/res/values-sr/strings.xml b/OsmAnd/res/values-sr/strings.xml index e12e7e3848..b79c54f95b 100644 --- a/OsmAnd/res/values-sr/strings.xml +++ b/OsmAnd/res/values-sr/strings.xml @@ -745,7 +745,7 @@ Сваки одсечак снимка неће бити дужи од одабраног времена Величина оставе Величина заузећа свих снимљених одсечака - Ноћ + Ноћ Иди Није означено h diff --git a/OsmAnd/res/values-sv/strings.xml b/OsmAnd/res/values-sv/strings.xml index 74b5074223..5bc03c83dc 100644 --- a/OsmAnd/res/values-sv/strings.xml +++ b/OsmAnd/res/values-sv/strings.xml @@ -2052,7 +2052,7 @@ Uppdateringar: %s Senaste kartändring: %s -Natt +Natt Varje timma Varje dag Varje vecka diff --git a/OsmAnd/res/values-tr/strings.xml b/OsmAnd/res/values-tr/strings.xml index ee15feae7c..3aefc000f1 100644 --- a/OsmAnd/res/values-tr/strings.xml +++ b/OsmAnd/res/values-tr/strings.xml @@ -2022,7 +2022,7 @@ Günlük Haftalık Sabah - Gece + Gece Güncelleme boyutu Ayı ve ülke seçin diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index ebb5d558b8..d96e219a64 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -2062,7 +2062,7 @@ 每日 每週 早上 - 夜間 + 夜間 未選取 選擇月份與國家 diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index d47baabadb..7d62e4d0c1 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -40,15 +40,6 @@ App have no permission to access microphone. Distance: Time: - - Every Hour - Once a day - Weekly - - - Morning - Night - Horse routes No address determined Near @@ -2158,7 +2149,7 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A Daily Weekly Morning - Night + Night Select month and country Number of contributors Number of edits diff --git a/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesHelper.java b/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesHelper.java index 77057b5d89..9f445e6132 100644 --- a/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesHelper.java +++ b/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesHelper.java @@ -126,7 +126,7 @@ public class LiveUpdatesHelper { public static enum TimeOfDay { MORNING(R.string.morning), - NIGHT(R.string.Night); + NIGHT(R.string.night); private final int localizedId; TimeOfDay(int localizedId) { diff --git a/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesSettingsDialogFragment.java b/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesSettingsDialogFragment.java index c8d3db1feb..f21eda71ac 100644 --- a/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesSettingsDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesSettingsDialogFragment.java @@ -1,32 +1,5 @@ package net.osmand.plus.liveupdates; -import static net.osmand.plus.liveupdates.LiveUpdatesHelper.DEFAULT_LAST_CHECK; -import static net.osmand.plus.liveupdates.LiveUpdatesHelper.formatDateTime; -import static net.osmand.plus.liveupdates.LiveUpdatesHelper.getNameToDisplay; -import static net.osmand.plus.liveupdates.LiveUpdatesHelper.getPendingIntent; -import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceDownloadViaWiFi; -import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceForLocalIndex; -import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceLastCheck; -import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceTimeOfDayToUpdate; -import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceUpdateFrequency; -import static net.osmand.plus.liveupdates.LiveUpdatesHelper.setAlarmForPendingIntent; - -import java.io.File; - -import net.osmand.PlatformUtil; -import net.osmand.plus.OsmandApplication; -import net.osmand.plus.OsmandSettings; -import net.osmand.plus.R; -import net.osmand.plus.activities.LocalIndexInfo; -import net.osmand.plus.download.AbstractDownloadActivity; -import net.osmand.plus.download.DownloadActivity; -import net.osmand.plus.liveupdates.LiveUpdatesHelper.TimeOfDay; -import net.osmand.plus.liveupdates.LiveUpdatesHelper.UpdateFrequency; -import net.osmand.plus.resources.IncrementalChangesManager; -import net.osmand.util.Algorithms; - -import org.apache.commons.logging.Log; - import android.app.AlarmManager; import android.app.Dialog; import android.app.PendingIntent; @@ -45,6 +18,33 @@ import android.widget.CheckBox; import android.widget.Spinner; import android.widget.TextView; +import net.osmand.PlatformUtil; +import net.osmand.plus.OsmandApplication; +import net.osmand.plus.OsmandSettings; +import net.osmand.plus.R; +import net.osmand.plus.activities.LocalIndexInfo; +import net.osmand.plus.download.AbstractDownloadActivity; +import net.osmand.plus.download.DownloadActivity; +import net.osmand.plus.liveupdates.LiveUpdatesHelper.TimeOfDay; +import net.osmand.plus.liveupdates.LiveUpdatesHelper.UpdateFrequency; +import net.osmand.plus.resources.IncrementalChangesManager; +import net.osmand.util.Algorithms; + +import org.apache.commons.logging.Log; + +import java.io.File; + +import static net.osmand.plus.liveupdates.LiveUpdatesHelper.DEFAULT_LAST_CHECK; +import static net.osmand.plus.liveupdates.LiveUpdatesHelper.formatDateTime; +import static net.osmand.plus.liveupdates.LiveUpdatesHelper.getNameToDisplay; +import static net.osmand.plus.liveupdates.LiveUpdatesHelper.getPendingIntent; +import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceDownloadViaWiFi; +import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceForLocalIndex; +import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceLastCheck; +import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceTimeOfDayToUpdate; +import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceUpdateFrequency; +import static net.osmand.plus.liveupdates.LiveUpdatesHelper.setAlarmForPendingIntent; + public class LiveUpdatesSettingsDialogFragment extends DialogFragment { private static final Log LOG = PlatformUtil.getLog(LiveUpdatesAlarmReceiver.class); private static final String LOCAL_INDEX = "local_index"; @@ -92,14 +92,23 @@ public class LiveUpdatesSettingsDialogFragment extends DialogFragment { sizeTextView.setText(getUpdatesSize(fileNameWithoutExtension, changesManager)); + TimeOfDay[] timeOfDays = TimeOfDay.values(); + String[] timeOfDaysStrings = new String[timeOfDays.length]; + for (int i = 0; i < timeOfDays.length; i++) { + timeOfDaysStrings[i] = getString(timeOfDays[i].getLocalizedId()); + } updateTimesOfDaySpinner.setAdapter(new ArrayAdapter(getActivity(), - R.layout.action_spinner_item, - getResources().getStringArray(R.array.update_times_of_day))); + R.layout.action_spinner_item, timeOfDaysStrings)); updateTimesOfDaySpinner.setSelection(timeOfDayPreference.get()); + UpdateFrequency[] updateFrequencies = UpdateFrequency.values(); + String[] updateFrequenciesStrings = new String[updateFrequencies.length]; + for (int i = 0; i < updateFrequencies.length; i++) { + updateFrequenciesStrings[i] = getString(updateFrequencies[i].getLocalizedId()); + } + updateFrequencySpinner.setAdapter(new ArrayAdapter(getActivity(), - R.layout.action_spinner_item, - getResources().getStringArray(R.array.update_frequencies_array))); + R.layout.action_spinner_item, updateFrequenciesStrings)); updateFrequencySpinner.setSelection(updateFrequencyPreference.get()); updateFrequencySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override From 07767a39d6193493ace8c36b4a813254cb2484e1 Mon Sep 17 00:00:00 2001 From: ezjerry liao Date: Mon, 18 Jan 2016 06:17:57 +0100 Subject: [PATCH 24/67] Translated using Weblate (Chinese (Taiwan)) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index d96e219a64..76c6927ffe 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -11,7 +11,7 @@ 沒有路線 移除目的地 目的地 %1$s - 航點 %1$s + 中間節點 %1$s 增為最後一個的中途標點 增為第一個中途標點 From 210592c1e8df21a18929af391d3a4366ce3e8d00 Mon Sep 17 00:00:00 2001 From: Franco Date: Sun, 17 Jan 2016 19:14:30 +0100 Subject: [PATCH 25/67] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-es-rAR/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index 5235c8eca7..4c9075b337 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -797,7 +797,7 @@ Sin ruta Quitar el destino Destino %1$s - Destino %1$s + Destino intermedio %1$s Añadir como último destino intermedio Añadir como primer destino intermedio Añadir como último destino intermedio From 0a77d8bae0a9ee48322288c0cb2e210db5fcb794 Mon Sep 17 00:00:00 2001 From: GaidamakUA Date: Mon, 18 Jan 2016 15:38:05 +0200 Subject: [PATCH 26/67] Removed LiveUpdates from developer options. --- .../src/net/osmand/plus/OsmandSettings.java | 4 +- .../SettingsDevelopmentActivity.java | 32 +++++------- .../plus/resources/ResourceManager.java | 52 +++++++++---------- 3 files changed, 39 insertions(+), 49 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java index 417c3e3742..050b007abb 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java +++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java @@ -888,9 +888,7 @@ public class OsmandSettings { public final OsmandPreference FAST_ROUTE_MODE = new BooleanPreference("fast_route_mode", true).makeProfile(); // temporarily for new version public final CommonPreference DISABLE_COMPLEX_ROUTING = new BooleanPreference("disable_complex_routing", false).makeGlobal(); - - public final CommonPreference BETA_TESTING_LIVE_UPDATES = new BooleanPreference("live_updates_beta", false).makeGlobal(); - + public final CommonPreference SHOW_TRAFFIC_WARNINGS = new BooleanPreference("show_traffic_warnings", false).makeProfile().cache(); { SHOW_TRAFFIC_WARNINGS.setModeDefaultValue(ApplicationMode.CAR, true); diff --git a/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java b/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java index 51d346b749..4a0721a4c8 100644 --- a/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java +++ b/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java @@ -18,7 +18,6 @@ import net.osmand.plus.ApplicationMode; import net.osmand.plus.OsmAndLocationSimulation; import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; -import net.osmand.plus.Version; import net.osmand.plus.activities.SettingsBaseActivity; import net.osmand.plus.activities.actions.AppModeDialog; import net.osmand.util.SunriseSunset; @@ -40,30 +39,25 @@ public class SettingsDevelopmentActivity extends SettingsBaseActivity { super.onCreate(savedInstanceState); getToolbar().setTitle(R.string.debugging_and_development); PreferenceScreen cat = getPreferenceScreen(); - - CheckBoxPreference dbg = createCheckBoxPreference(settings.DEBUG_RENDERING_INFO, + + CheckBoxPreference dbg = createCheckBoxPreference(settings.DEBUG_RENDERING_INFO, R.string.trace_rendering, R.string.trace_rendering_descr); cat.addPreference(dbg); - + cat.addPreference(createCheckBoxPreference(settings.DISABLE_COMPLEX_ROUTING, R.string.disable_complex_routing, R.string.disable_complex_routing_descr)); - + cat.addPreference(createCheckBoxPreference(settings.USE_FAST_RECALCULATION, R.string.use_fast_recalculation, R.string.use_fast_recalculation_desc)); - - + + cat.addPreference(createCheckBoxPreference(settings.USE_MAGNETIC_FIELD_SENSOR_COMPASS, R.string.use_magnetic_sensor, R.string.use_magnetic_sensor_descr)); - + final CheckBoxPreference openGlRender = createCheckBoxPreference(settings.USE_OPENGL_RENDER, R.string.use_opengl_render,R.string.use_opengl_render_descr); cat.addPreference(openGlRender); - if(Version.isDeveloperVersion(getMyApplication())) { - cat.addPreference(createCheckBoxPreference(settings.BETA_TESTING_LIVE_UPDATES, - "Live updates", "Beta testing for live updates")); - } - final Preference firstRunPreference = new Preference(this); firstRunPreference.setTitle(R.string.simulate_initial_startup); firstRunPreference.setSummary(R.string.simulate_initial_startup_descr); @@ -90,8 +84,8 @@ public class SettingsDevelopmentActivity extends SettingsBaseActivity { @Override public void run() { - simulate.setSummary(sim.isRouteAnimating() ? - R.string.simulate_your_location_stop_descr : R.string.simulate_your_location_descr); + simulate.setSummary(sim.isRouteAnimating() ? + R.string.simulate_your_location_stop_descr : R.string.simulate_your_location_descr); } }; pref.setTitle(R.string.simulate_your_location); @@ -106,7 +100,7 @@ public class SettingsDevelopmentActivity extends SettingsBaseActivity { } }); cat.addPreference(pref); - + pref = new Preference(this); pref.setTitle(R.string.test_voice_prompts); pref.setSummary(R.string.play_commands_of_currently_selected_voice); @@ -148,7 +142,7 @@ public class SettingsDevelopmentActivity extends SettingsBaseActivity { //setEnabled(false) creates bad readability on some devices //pref.setEnabled(false); info.addPreference(pref); - + // ActivityManager activityManager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE); // ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo(); // activityManager.getMemoryInfo(memoryInfo); @@ -157,7 +151,7 @@ public class SettingsDevelopmentActivity extends SettingsBaseActivity { Debug.getMemoryInfo(mem); pref = new Preference(this); pref.setTitle(R.string.native_app_allocated_memory); - pref.setSummary(getString(R.string.native_app_allocated_memory_descr + pref.setSummary(getString(R.string.native_app_allocated_memory_descr , mem.nativePrivateDirty / 1024, mem.dalvikPrivateDirty / 1024 , mem.otherPrivateDirty / 1024 , mem.nativePss / 1024, mem.dalvikPss / 1024 , mem.otherPss / 1024)); pref.setSelectable(false); @@ -188,7 +182,7 @@ public class SettingsDevelopmentActivity extends SettingsBaseActivity { } }); info.addPreference(agpspref); - + SunriseSunset sunriseSunset = getMyApplication().getDaynightHelper().getSunriseSunset(); pref = new Preference(this); pref.setTitle(R.string.day_night_info); diff --git a/OsmAnd/src/net/osmand/plus/resources/ResourceManager.java b/OsmAnd/src/net/osmand/plus/resources/ResourceManager.java index f3ce3a6938..34192ab088 100644 --- a/OsmAnd/src/net/osmand/plus/resources/ResourceManager.java +++ b/OsmAnd/src/net/osmand/plus/resources/ResourceManager.java @@ -1,20 +1,15 @@ package net.osmand.plus.resources; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.RandomAccessFile; -import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; +import android.content.Context; +import android.content.res.AssetManager; +import android.database.sqlite.SQLiteException; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.os.HandlerThread; +import android.text.format.DateFormat; +import android.util.DisplayMetrics; +import android.view.WindowManager; import net.osmand.AndroidUtils; import net.osmand.GeoidAltitudeCorrection; @@ -58,15 +53,20 @@ import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserFactory; -import android.content.Context; -import android.content.res.AssetManager; -import android.database.sqlite.SQLiteException; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.os.HandlerThread; -import android.text.format.DateFormat; -import android.util.DisplayMetrics; -import android.view.WindowManager; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.RandomAccessFile; +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; /** * Resource manager is responsible to work with all resources @@ -620,10 +620,8 @@ public class ResourceManager { collectFiles(context.getAppPath(IndexConstants.SRTM_INDEX_DIR), IndexConstants.BINARY_MAP_INDEX_EXT, files); } - if(context.getSettings().BETA_TESTING_LIVE_UPDATES.get()) { - changesManager.collectChangesFiles(context.getAppPath(IndexConstants.LIVE_INDEX_DIR), IndexConstants.BINARY_MAP_INDEX_EXT, files); - } - + changesManager.collectChangesFiles(context.getAppPath(IndexConstants.LIVE_INDEX_DIR), IndexConstants.BINARY_MAP_INDEX_EXT, files); + Collections.sort(files, Algorithms.getFileVersionComparator()); List warnings = new ArrayList(); renderer.clearAllResources(); From c8317871c96ef7b7cd711085cc7bdf468a1a93a7 Mon Sep 17 00:00:00 2001 From: GaidamakUA Date: Mon, 18 Jan 2016 15:50:20 +0200 Subject: [PATCH 27/67] Removed toast "No updates available". --- .../osmand/plus/liveupdates/PerformLiveUpdateAsyncTask.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/liveupdates/PerformLiveUpdateAsyncTask.java b/OsmAnd/src/net/osmand/plus/liveupdates/PerformLiveUpdateAsyncTask.java index e2541a919d..52bd7b5f4e 100644 --- a/OsmAnd/src/net/osmand/plus/liveupdates/PerformLiveUpdateAsyncTask.java +++ b/OsmAnd/src/net/osmand/plus/liveupdates/PerformLiveUpdateAsyncTask.java @@ -9,7 +9,6 @@ import android.widget.Toast; import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandSettings; -import net.osmand.plus.R; import net.osmand.plus.activities.LocalIndexInfo; import net.osmand.plus.download.AbstractDownloadActivity; import net.osmand.plus.download.DownloadActivityType; @@ -75,9 +74,7 @@ public class PerformLiveUpdateAsyncTask } else { settings.LIVE_UPDATES_RETRIES.resetToDefault(); List ll = result.getItemsForUpdate(); - if (ll.isEmpty()) { - Toast.makeText(context, R.string.no_updates_available, Toast.LENGTH_SHORT).show(); - } else { + if (!ll.isEmpty()) { ArrayList itemsToDownload = new ArrayList<>(ll.size()); for (IncrementalChangesManager.IncrementalUpdate iu : ll) { IndexItem indexItem = new IndexItem(iu.fileName, "Incremental update", From e311acf78600136e3eb03fdcc68b39eece1847df Mon Sep 17 00:00:00 2001 From: Roberto GEB Date: Mon, 18 Jan 2016 17:38:09 +0100 Subject: [PATCH 28/67] Translated using Weblate (Spanish) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-es/strings.xml | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/OsmAnd/res/values-es/strings.xml b/OsmAnd/res/values-es/strings.xml index 5228ec3d4b..e6e65f0f86 100644 --- a/OsmAnd/res/values-es/strings.xml +++ b/OsmAnd/res/values-es/strings.xml @@ -1,4 +1,5 @@ - + + Configurar pantalla Mostrar carriles @@ -579,7 +580,7 @@ El favorito \'\'{0}\'\' se añadió correctamente. Editar favorito Borrar favorito - ¿Quitar el favorito \'%s\'? + ¿Eliminar el punto favorito \'%s\'? El favorito {0} se borró correctamente. Mensaje Nombre del autor @@ -732,7 +733,7 @@ Advertencia La notificación para recoger su automóvil, fue previamente añadida a su calendario. Permanecerá allí hasta que la borre manualmente. Establecer el límite de tiempo del aparcamiento - ¿Quiere eliminar la ubicación del automóvil aparcado? + ¿Quiere eliminar el marcador de posición de aparcamiento? Eliminar un marcador de aparcamiento Elija el tipo de aparcamiento Tiempo limitado @@ -847,7 +848,7 @@ Servicios de registro Sin ruta Quitar destino - Destino %1$s + Destino intermedio %1$s Active el GPS en los ajustes Mostrar dirección de destino Activa el complemento de grabación de viajes, para que use el servicio de registro de posición (registro GPX, seguimiento en línea) @@ -891,7 +892,7 @@ Notas de audio Grabando un audio/vídeo. Para pararlo, pulse el control AV. Abrir reproductor externo - ¿Quiere quitar esta grabación? + ¿Quiere eliminar esta grabación? no disponible Grabar nota de audio Grabar nota de vídeo @@ -2040,7 +2041,17 @@ Seleccione mes y país Tipo Punto de partida - Elemento eliminado + Elemento quitado elementos eliminados DESHACER TODO - + Quitar + Puede quitar las actualizaciones descargadas y volver a la edición original del mapa + Añadir intervalo de tiempo + Carretera bloqueada + Seleccionar + Invertir inicio y destino + Ocultar iconos de PDI + Número de colaboradores + Número de ediciones + Informe para: + From e3cd124227b988a3f2b3bfca52e847fb1b998a98 Mon Sep 17 00:00:00 2001 From: xmd5a Date: Mon, 18 Jan 2016 20:43:22 +0300 Subject: [PATCH 29/67] Update phrases --- OsmAnd/res/values-ru/phrases.xml | 6 ++++-- OsmAnd/res/values/phrases.xml | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-ru/phrases.xml b/OsmAnd/res/values-ru/phrases.xml index 5aac32505d..be9fe7d9c8 100644 --- a/OsmAnd/res/values-ru/phrases.xml +++ b/OsmAnd/res/values-ru/phrases.xml @@ -420,7 +420,6 @@ Гольф Гимнастика Гандбол - Хоккей Лошадиные скачки Езда на лошадях Катание на коньках @@ -802,7 +801,7 @@ Проживание Учебный центр Квартал - Хоккейная площадка + Хоккей на траве Зона отдыха Резервуар @@ -2594,4 +2593,7 @@ Справедливая торговля (Fairtrade): no Только товары с маркировкой Справедливой торговли (Fairtrade) + Хоккей с шайбой + Хоккей с мячом + diff --git a/OsmAnd/res/values/phrases.xml b/OsmAnd/res/values/phrases.xml index 8c9dad69df..c8fc968929 100644 --- a/OsmAnd/res/values/phrases.xml +++ b/OsmAnd/res/values/phrases.xml @@ -2591,4 +2591,7 @@ Fair trade: no Only fair trade products + Ice hockey + Bandy + From edb045a2bc9a8878fd3df8f72887035f9b07a652 Mon Sep 17 00:00:00 2001 From: Viktar Palstsiuk Date: Mon, 18 Jan 2016 15:39:16 +0100 Subject: [PATCH 30/67] Translated using Weblate (Belarusian) Currently translated at 98.9% (1867 of 1887 strings) --- OsmAnd/res/values-be/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml index 6d5b4d723f..024312e2da 100644 --- a/OsmAnd/res/values-be/strings.xml +++ b/OsmAnd/res/values-be/strings.xml @@ -2095,4 +2095,5 @@ Памер сховішча Выберыце месяц і краіну Абраць + Выдаліць From 18ea492660a1a6278cf47cfe47b3f338ebc8a84a Mon Sep 17 00:00:00 2001 From: 8c6311e901274f6baef2068792c8ab Date: Mon, 18 Jan 2016 15:10:34 +0100 Subject: [PATCH 31/67] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 73.4% (1386 of 1887 strings) --- OsmAnd/res/values-nb/strings.xml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml index c8455de702..06220e29b6 100644 --- a/OsmAnd/res/values-nb/strings.xml +++ b/OsmAnd/res/values-nb/strings.xml @@ -1,4 +1,5 @@ - + + Velg fargeskjema for veier: Veifargeskjema Vis retning til målet @@ -7,7 +8,7 @@ Ingen rute Fjern reisemål Reisemål %1$s - Reisemål %1$s + Mellomliggende reisemål %1$s Legg til som siste mellomliggende reisemål Legg til som første mellomliggende reisemål Legg til som siste mellomliggende reisemål @@ -546,7 +547,7 @@ Favorittpunkt \'\'{0}\'\' ble vellykket lagt til. Rediger favoritt Slett favoritt - Fjerne favorittpunkt \'%s\'? + Slette favorittpunkt \'%s\'? Favorittpunkt {0} ble vellykket slettet. Melding @@ -1490,4 +1491,11 @@ Oppdateringstidspunkt Oppdateringsstørrelse Oppdater nå - \ No newline at end of file + Fjern + Du kan fjerne nedlastede oppdateringer og gå tilbake til den originale kartutgaven + Vei blokkert + Velg + Skjul interessepunktikoner + Type + Startpunkt + From 3a9a24333d1e30f86fd8b7db07801c36ddf7ff78 Mon Sep 17 00:00:00 2001 From: Leif Larsson Date: Mon, 18 Jan 2016 16:35:40 +0100 Subject: [PATCH 32/67] Translated using Weblate (Swedish) Currently translated at 99.2% (1872 of 1887 strings) --- OsmAnd/res/values-sv/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-sv/strings.xml b/OsmAnd/res/values-sv/strings.xml index 5bc03c83dc..5051d9dd3d 100644 --- a/OsmAnd/res/values-sv/strings.xml +++ b/OsmAnd/res/values-sv/strings.xml @@ -113,7 +113,7 @@ Varning Notifiering om att hämta din bil har tidigare lagts till i din kalender. Den kommer att finnas där tills du tar bort den manuellt. Ange tidsgränsen för parkering - Vill du ta bort platsen för den parkerade bilen? + Vill du ta bort markören för parkeringsplatsen? Ta bort P-markering Välj typ av parkering Tidsbegränsad @@ -894,7 +894,7 @@ Ingen kamera tillgänglig "Denna modul erbjuder överlägg med höjdkurvor som kan visas i kombination med OsmAnds standardkartor. Denna funktion kommer att uppskattas av idrottsmän, vandrare och alla som är intresserade av höjdskillnander i landskapet.\n\nDessa globala data (mellan 70 grader norr och 70 grader syd) baseras på mätningar av SRTM (Shuttle Radar Topography Mission) och ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), ett bildinstrument ombord Terra, flaggskeppet i NASA:s Earth Observing System. ASTER är ett samprojekt mellan NASA, Japans Ministry of Economy, Trade and Industry (METI), and Japan Space Systems (J-spacesystems). " Ta bort destination - Destination %1$s + Mellanliggande destination %1$s Online Nominatim Hantera kartfiler ofullständig From 8c0298cc6fff7d5437bada01c617df36beb48626 Mon Sep 17 00:00:00 2001 From: Roberto GEB Date: Mon, 18 Jan 2016 17:40:39 +0100 Subject: [PATCH 33/67] Translated using Weblate (Spanish) Currently translated at 99.8% (2379 of 2383 strings) --- OsmAnd/res/values-es/phrases.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-es/phrases.xml b/OsmAnd/res/values-es/phrases.xml index a8b87ad8ba..00c6f59499 100644 --- a/OsmAnd/res/values-es/phrases.xml +++ b/OsmAnd/res/values-es/phrases.xml @@ -2616,4 +2616,8 @@ Cajero automático: no Cajero automático: sí - + Comercio justo: sí + Comercio justo: no + Sólo productos de comercio justo + + From 9a50a3542a9cb02c386213fec4fd75a89c940796 Mon Sep 17 00:00:00 2001 From: Koen Glotzbach Date: Mon, 18 Jan 2016 22:34:02 +0100 Subject: [PATCH 34/67] Add 'or postcode' address search Within the address search, there is no hint that the user can search for a postcode. Adding this text in the 'City' field (displayed when no input given) helps the user a lot. --- OsmAnd/res/values/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 7d62e4d0c1..18e25c9d4b 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -1951,7 +1951,7 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A Search address Choose building Choose street - Choose city + Choose city or postcode Choose country Display viewing direction Enable 3D view of the map @@ -2154,4 +2154,4 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A Number of contributors Number of edits Report for: - \ No newline at end of file + From 05b827b61a05cce97717574207b97dc40233475f Mon Sep 17 00:00:00 2001 From: Mirco Zorzo Date: Tue, 19 Jan 2016 00:26:17 +0100 Subject: [PATCH 35/67] Translated using Weblate (Italian) Currently translated at 99.8% (1884 of 1887 strings) --- OsmAnd/res/values-it/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-it/strings.xml b/OsmAnd/res/values-it/strings.xml index c10384c1ff..39851c8dab 100644 --- a/OsmAnd/res/values-it/strings.xml +++ b/OsmAnd/res/values-it/strings.xml @@ -931,7 +931,7 @@ Servizi di registrazione Nessun percorso Rimuovi la destinazione - Punto intermedio %1$s + Destinazione intermedia %1$s Attiva il GPS nelle impostazioni Visualizza la direzione della destinazione Calcola un percorso, eventualmente anche non ottimale, su lunghe distanze From 8d2d1445a1e2ecdd0bffc6c970f4bd8c59524dd7 Mon Sep 17 00:00:00 2001 From: jan madsen Date: Mon, 18 Jan 2016 20:40:51 +0100 Subject: [PATCH 36/67] Translated using Weblate (Danish) Currently translated at 100.0% (2385 of 2385 strings) --- OsmAnd/res/values-da/phrases.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OsmAnd/res/values-da/phrases.xml b/OsmAnd/res/values-da/phrases.xml index 024ba6ff59..b43dab8839 100644 --- a/OsmAnd/res/values-da/phrases.xml +++ b/OsmAnd/res/values-da/phrases.xml @@ -2649,4 +2649,7 @@ Fairtrade: nej Kun fairtrade-produkter +Ishockey + Bandy + From eeff76716eda7c1ec04745c8ed7ea6cdadb24a92 Mon Sep 17 00:00:00 2001 From: jf-simon Date: Mon, 18 Jan 2016 21:06:50 +0100 Subject: [PATCH 37/67] Translated using Weblate (German) Currently translated at 100.0% (2385 of 2385 strings) --- OsmAnd/res/values-de/phrases.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OsmAnd/res/values-de/phrases.xml b/OsmAnd/res/values-de/phrases.xml index eb5a49bfdb..5d33b94bd9 100644 --- a/OsmAnd/res/values-de/phrases.xml +++ b/OsmAnd/res/values-de/phrases.xml @@ -2575,4 +2575,7 @@ Fairer Handel: Nein Nur fairer Handel Produkte +Eishockey + Bandy + From f3513ba1f5c531cb8ce2351dfbaf27328c36796c Mon Sep 17 00:00:00 2001 From: ezjerry liao Date: Mon, 18 Jan 2016 13:56:29 +0100 Subject: [PATCH 38/67] Translated using Weblate (Chinese (Taiwan)) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index 76c6927ffe..3bbeec01d9 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -786,7 +786,7 @@ 地址查詢 選取建築物 選擇道路 - 選擇縣市 + 選擇縣市或郵遞區號 選擇國家 顯示目視方向 啟用 3D 檢視地圖 From 2629f51d2bb6f8eb73580d262b8d0f1b1e7a543b Mon Sep 17 00:00:00 2001 From: jan madsen Date: Mon, 18 Jan 2016 11:06:08 +0100 Subject: [PATCH 39/67] Translated using Weblate (Danish) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-da/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index c0fa3cdc15..176d2dc46b 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -1068,7 +1068,7 @@ Søg adresse Vælg bygning Vælg gade - Vælg by + Vælg by eller postnummer Vælg land Vis synsretning Aktiver 3D-visning af kortet From 0ea8fe78fde4aad6ef098cf78883d3312541b80e Mon Sep 17 00:00:00 2001 From: jf-simon Date: Mon, 18 Jan 2016 13:02:28 +0100 Subject: [PATCH 40/67] Translated using Weblate (German) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index 1536807124..577a5ae779 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -770,7 +770,7 @@ Adresse suchen Hausnummer wählen Straße wählen - Ort wählen + Ort oder Postleitzahl wählen Land wählen Blickrichtung einblenden From 5bdaeaaf4ac754476b1d1711d1a125c81267f097 Mon Sep 17 00:00:00 2001 From: Dmitriy Prodchenko Date: Tue, 19 Jan 2016 14:35:59 +0200 Subject: [PATCH 41/67] Icons for Waypoint menu. --- OsmAnd/res/drawable-hdpi/ic_small_turn_left.png | Bin 0 -> 1109 bytes OsmAnd/res/drawable-hdpi/ic_small_turn_right.png | Bin 0 -> 1106 bytes OsmAnd/res/drawable-mdpi/ic_small_turn_left.png | Bin 0 -> 1072 bytes OsmAnd/res/drawable-mdpi/ic_small_turn_right.png | Bin 0 -> 1070 bytes OsmAnd/res/drawable-xhdpi/ic_small_turn_left.png | Bin 0 -> 1107 bytes .../res/drawable-xhdpi/ic_small_turn_right.png | Bin 0 -> 1108 bytes .../res/drawable-xxhdpi/ic_small_turn_left.png | Bin 0 -> 1156 bytes .../res/drawable-xxhdpi/ic_small_turn_right.png | Bin 0 -> 1155 bytes 8 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 OsmAnd/res/drawable-hdpi/ic_small_turn_left.png create mode 100644 OsmAnd/res/drawable-hdpi/ic_small_turn_right.png create mode 100644 OsmAnd/res/drawable-mdpi/ic_small_turn_left.png create mode 100644 OsmAnd/res/drawable-mdpi/ic_small_turn_right.png create mode 100644 OsmAnd/res/drawable-xhdpi/ic_small_turn_left.png create mode 100644 OsmAnd/res/drawable-xhdpi/ic_small_turn_right.png create mode 100644 OsmAnd/res/drawable-xxhdpi/ic_small_turn_left.png create mode 100644 OsmAnd/res/drawable-xxhdpi/ic_small_turn_right.png diff --git a/OsmAnd/res/drawable-hdpi/ic_small_turn_left.png b/OsmAnd/res/drawable-hdpi/ic_small_turn_left.png new file mode 100644 index 0000000000000000000000000000000000000000..331c69b7a29369f0ea4e00172b0e989891c0bdc5 GIT binary patch literal 1109 zcmbVLPiWIn9F9(O3_HgJQBTkGFh$e6mnLfyR%h3ATVb7}D_c*p*W`7JTk>M^wsymV zD2VeQDtcAWySoSqq8{|(Whb5BNl?!scn}fhOV>^h!-Ik3{mJ+J{(q|z<0G-Iqg{d^ z#0sNkiLbrU+qsv2r`B&w^W_N3SJ))2u{sWjkhN)*fP#x>Nr_;4`NA7AAP5~xPPxJ= z#WBO8ZURS`M8owtTMz~Y8$Pz?2?JF!>v$RQ>$8_4aO{jYtrcO>&yhK2bR{5@E8}Hr zW!}N0{7Lm_?I;5BXpFOg!<&K^OlmE< z#A5|BBl159+p!I(*icQUYLc2Hx&)J|Ev0p&NyNrAJy}&PT-DlkcH-+Wr)6PE8OmqV z2<0^$nrdzc4QG*#)cmm0<`%q=Vb3CM-wyZP;-Y_Yja)!5qd}R{h4vIo%uz!o7c}c^I6K6UQcxP|NhBf7!cxD*^T+)uELC+i znL?zdX*LpDeEWavC-b1>XjuLlp7s@=$Y{GQ1%B8T6Y;o$0xp&NsW1Du%oYn~w%qto z{k6F{*r5prJMIea_E(SP4g?k0`$?Pv8xP;k|2%WC>soxZ-Ul~s!jnDkJHD-LzTWlp z9J_MpS6}R-+WGmx-t$j8uf{I@*xmEQy7lUOPyF7U*mX?;FGk0{CvV@%kB*PT;Tr0W ct?k-#Sa|%hYhz~pd3PlALVnzQG&FPhH{^(2umAu6 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-hdpi/ic_small_turn_right.png b/OsmAnd/res/drawable-hdpi/ic_small_turn_right.png new file mode 100644 index 0000000000000000000000000000000000000000..7128180ab4809050e3f8cacfaf46c38973d8d9d8 GIT binary patch literal 1106 zcmbVL%WKp?91g6H(g*mcuOb-IgB6=(CcEiwV%NIeY<0n{b-T3dr8r4u+t?-(lWBL` zgVYLwh{d9!c=O~z@!(1DAc&V+P%g$eP5IH}SaRrG+1_-w3>8r-f0q01AEDrof&X3MSRVj@2KSlWAcisB&S5&yoQ1s?;M| z5JEnwNl;D26}6jJ090k5$qJaD(;OmdTyajeeFB$`NU+k0?CMflFS*}*AQZ+7- zU|fcprpZ8&6-8tSF`V@%s)=6M*|1>X&h56i^wF?G%c`5H&Sr@LSfUe7uE~K zN+#EkFGC5)t{dgGjt*%N{|#eHbXc18v0TI1AXL=aEdVoHOmh;3BS;%34^rrNNx6<-5cH3O18 z{kcpE!knrBBa!Wg0~x5nL~cN7aPwYBk!RtCZ-@D=bJcCRdN#m_lAuJ$RAUN;CI}_r z1o8Q7HtKqU?;3SHn^eOSQJXfhHgMp~V0$1SF27!9-Pt0Bqykewi$f8r77}|bmOtuA zBGJ?m@g&3*Rkfi|=iC2VKbZw3N5k^Z@HDR2L`K_9DX_z)n6Sqb6fmhQFC93}WESL& zOsV$8{Jpl;7gM?Yu?O6TRx`8O`Rm@&h*aEdj$Aq1-t_M2eEHb3?yiq_0sMYw&!-qX z`Eo31UAVsUe#egBV(f&}|L_^N(sE{MKDT&%uZUM~UmJSKDjhz e9X&l3YXaPz;g(nPk52uJRG!Zb8ZY`UFZ=-h*S<7v zS%6AN6P!Z}R}L)8IG_TAa<^Ssad<(=yMjpW$5F@|B1 z<(p=WuH*4NdXhdDJNLfPWs(#dWC6EG7Y2yQ+qj9?vI|#G4MBTz{S%sHn8b!tZ;(di zmTqA;1!J33>RhGRK$vJptf^!D?kfd^L1-$ z)zWNk?ixEA>6E}l1hSF4=7oBcMgKadd(~ie9=>mYZKz@g3#@DQ{8k52P*>5 zG))jCL6UfC!H1h3ff4V8Q$q$5g;wDB#K9gLGr}hBkQ_&q?uX#|mC6CJ7Y-6dQzk^v z7eGoBTsMxZZyk~v`YYp5>#)A*BcX;u+zBjNkJi)>Omla%qu7wD(QgM1Eec#SvDI;r zN6Kc7qhC_CW9y=1i?W(+@p2kzyqK14Ue$oYBOA7~bW^rqQyKCchS&0nXk;{_P|T|U z6cyDdsG4f1YO$mho`r_K9qN04EgXr}jQ~M{gF41*!!D?{F~MOQ`>bKa zRhQZ6CC9UIH=K#fv>&yJ0%rr+r2xBZKhL^zh=!~LR8dO<9w-*%GZu{>X0niPYH~UY zP)kv4zzy*B|K?AiqJ+3v{%M}!E83Cq_Fxp~;b54MM<*ztqw;ZFd{4)$S~m0b=u7ig zuQ!*Nd9d@)yuSOmSKYm{J$+{H!`_AOr>0Mje0|QtF@)+#MK1DFw>P~ zqfXbU_`PtRe(&|xztiOkDYZxgw@Duch$-0EL~O-{o2ZVUJ=p$&78z!8$7!}mt9nPX zu$zQ2CKcij7-`giiwI;Rx9f#kl;ehWHM)h4W(z1`4gf@ri>yHns>&+#@-TMmkEt^{dqr!(Mn?C|WWhg1!Kf zqTsr5UPE+9>gaD6r=r8=z(+zIg}4`3v>)yHF`3rxY)3JWMx)&g9NHAvHL%rlkw+>< zj-!8)wqt9eWQ%Df+vd|Lr1D}aZS#r>WFFbDt)|Sh1xtB+#?a*tbJ{kGN|2Os=K}2ofALG4771V6}q@4m;Rqbv^ES zn!T~+csA~b3vru9SsN&Dc92~Tu*(kXtU0H|kd=TUswuz&*@Aq=qWQy27V@T=PGtdV z%d!o)W4`^r^%H1NLOd-04A1zAPGr12kpexOhzWUAK>?LY@t!nCWmc;gg=X~C{C#wk zpIq2G*f;jxe9K>I*dJHe%lgd3&xyy|`%iDrB^pbI*JfYNzMB4QzTR(5-9MaJXdTTz mTYkQAJ@M|v;K{EHb8ePd`Sjo+zuvtVE4Wgs8E=alkNyCHGfaa3 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xhdpi/ic_small_turn_left.png b/OsmAnd/res/drawable-xhdpi/ic_small_turn_left.png new file mode 100644 index 0000000000000000000000000000000000000000..d422ef6a7afca7d49eb67aa8ed34ad8c0c7df0cd GIT binary patch literal 1107 zcmbVLJxtV49Pfo_3HhUt*4^*&_VY7QceA4%W0aOq7$S{t0=%++9o9oaxR+21&r+a-8J0DaV_&s zaf(jmuNf9`<0!(!Yp&1O9M{)h^N}@!DJbD-$4l`)U%%ynW2g8@H817;46ZoC3jv;3 z7%5r{GnQ`i{Z~L=&0q#xOcAKLvtDS_Qv8-(gYBbhkq284I+NnJgPO{ZfeZ;SP~*LV z1tA1UJq}e(k=4sUmY^z1x(Fpff(DcfSpqu`&%6b8*(jKUJHFT{#aAfx4NVK3Y% z6f2onL%s;(lIXfoUR&sp7VzIN_C$xpx{t*I4#`|#v3``hnq*eH{T)R>7L73)IIJmX z)+E-Pi#?h%Q#|_)*#HPT1J-A*@U7ggG#!005-WfFQmw`aMQQLeD84eeYr*^z=)EdNXTq+3dSmg zlCVO2kjX?{Pk`=8$FoT_?1|d6owbPrXCB*w0dc`roegJ?7?Lv7Bwc|5R4pX*S}cFm zn?yoMPbf)<%c^R#9JcxP|JF}rL5b0@{4+ewD>jkQc2^4Quq!6)F$D!oD#op^E|Xc9 zGtZ9(C=NqHvKqdC#Y0t~X(vRH9p^l~4uS+)%9F^OjT)$|ox7|1)6&@$fZs_$-i>tTK eOAp@1vK)BFjg$45Yo7TK$vl@GF`o_GS^NVDv0X?2 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xhdpi/ic_small_turn_right.png b/OsmAnd/res/drawable-xhdpi/ic_small_turn_right.png new file mode 100644 index 0000000000000000000000000000000000000000..18b741574d01c2624603c37c2a985ae9c98a5910 GIT binary patch literal 1108 zcmbVL&rj1(94`SCi8Cf928f5I#6%2T``VSY%?26!A&YJch2{&w)vKb~e-f*F@fCyVb^Oh6mzQ2CUv6dO57l95$T@u-Yhojy+v#J+UnFC++6z6J$xVj+J>-BJ54r6a# z0Gg%=q9jNXPZ7Mo>JZrA9e=1}A%%Ryvs_|fhYc*k3SK60jz-!}!FF@GL&J`LP$*h5 zp#fb1ghj!&gS=X3pA^yGFpfm~rBxRRMdagU&!GLN4t2=1cE>vkfHWHYhG)^Hz{M0c zmTlyaY%0#tKVj1{bx|_Kh#IZ(5gBQ`C`U|Q)quhy6IM035;0&!>DW1nud3-xLQ~Qc z>4XYET2Ygdm`F!tRnEwX(FxGuW*whE$3Pw57WI9=O&!bClOBQudnJq)J5x}oVS@b{ zcG+Yy=z4^`JYzW~uKUA5o7!2YkY}wRGvi^KZPi(~j));D0aeswzyrmA{HQ_mhoe!* zSG0&61*obhCe5MEH~+VO0u4$ChUK5(>0Hr?47P_-poc>-A%`l+qf!a=WTvUiXy+28 z#;3~f{r&N7zUzGVgLk_x*G}B)Z$1{!?y+;H-&cC3Z*L9{W=@?^#ojkPUkkBY>o3;& zpY^SOs99b4&jopN;Q15v%CE9=DREcWyxFzXzxD9`H90>sWMoFRzJ1);d30fSd#rph d#J!qh&Xt*`%^!Uu8}+?F=h<{VwLMY3^9Ni|T(1BC literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxhdpi/ic_small_turn_left.png b/OsmAnd/res/drawable-xxhdpi/ic_small_turn_left.png new file mode 100644 index 0000000000000000000000000000000000000000..f5ae7f1572ff070341f765b82573386f3b6cfbd5 GIT binary patch literal 1156 zcmbVMO=#0l9FGb*s}sExoD5>7FhA1dB~6=z)!8(g7VMl|#T`8CHF;gbmb{p}*>0z~ z4V?IeASifIRJ@3Ycu^S&>cNAcC?ekU;K7S0K~d3{t(_i*2Ls7_FZus|zyD`W^!M#) zjkU!XhH1_3HH&oJ65TB;>GM5v@giL|lAb{_fGea11H@!)Tt;l(g~O#|(=F^KU}Tf1yFNuTOjmc^ht>!pY#9wZUWWVp;33C4c7{8o6vTp`Lse(* zM1Te+`byTsh^5(F_b#@pu2TXR5y;lvQ7_c%8E&3er~Bx&z_IftWF*5aI5k-4XLC3} ztddCa765=vYYCvJvZU-}B@rlss0l#iMW6#wmqfO4aa1j^D|*rFZD`R`hN}|d>w-|L z)e<#1frDWIXqqO7k|0Suwcx{XkH9+bg&j=>6NOgb_{6~;8!^H%9wQl!db$vT>lX@( z#9r7)6it~>hrR$3qTsqwT=Ui;DWX4aENLB<#(g9dQHaL^i`Jvk(FD`n{aYw9q~7TJ z1BVs`j+)pSbCE~#W`?6*61HROqGXFnHC^G8GSYZaPTIVx0fk34tY~sMX~DA6Rn17rO>Eu^3G^(~)OM(L1DpLPR?h_p5*(B;9&L6( ze-#rPRq7-prQj@5(=Z{px-^w0z&%>9wcy>g(+J<#GM(u^pS_Grb!#?OS3`cC0!%ZA^ZR ztv}v+cY5f`ownJhEARxG*QYMy=)aKf=`(K`LsP#2?=Et* literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxhdpi/ic_small_turn_right.png b/OsmAnd/res/drawable-xxhdpi/ic_small_turn_right.png new file mode 100644 index 0000000000000000000000000000000000000000..05240acafc98fda1c19241a2cf6071540091a272 GIT binary patch literal 1155 zcmbVMPiWIn91e4gIowGv^As}&PEC{7G;I=Ax3y_q#m>fjU|U!oGTIHYJyNM zmqTSKguNjFsH!T6VIdsmsRi$kIRsXC$8W7M=*Txb%Ow_e*nklh@FKb5;84Q6T_w$QDQ|tA|aI*rHIKZDv)_(!lEh_A_gqTHJ;`0 z3Q#~a5ltsj-3kCHSy6OFQDi-lkQ6l$m1@|G;}hr@sHSaE?J73)Ppp>o5G2^kV?0vp zg1!DF$1 z?)Lesu@@H-XC|gr&0KHj?4Q Date: Tue, 19 Jan 2016 09:29:02 +0100 Subject: [PATCH 42/67] Translated using Weblate (Czech) Currently translated at 99.4% (1876 of 1887 strings) --- OsmAnd/res/values-cs/strings.xml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values-cs/strings.xml b/OsmAnd/res/values-cs/strings.xml index a37bf1dee5..076f1816d7 100644 --- a/OsmAnd/res/values-cs/strings.xml +++ b/OsmAnd/res/values-cs/strings.xml @@ -1,4 +1,5 @@ - + + Vektorové mapy toto místo neobsahují. Mapová data můžete stáhnout v Nastaveních (Spravovat mapové soubory), nebo se přepněte na online mapy. Nahrát GPX soubory do OSM? @@ -1646,7 +1647,7 @@ Služba zjištění polohy není zapnuta. Chcete ji aktivovat? Zabránit samostatnému logování Pozastaví záznam GPX trasy pokud je aplikace ukončena (přes nedávné aplikace). (OsmAnd indikátor zmizí ze stavového řádku Androidu.) - Živé aktualizace + Okamžité aktualizace Nejsou dostupné žádné aktualizace Nebezpečí Tučný obrys @@ -1912,4 +1913,9 @@ Ráno V noci Vyberte měsíc a krajinu - \ No newline at end of file +Odstranit + Skrýt ikonu POI + Zvolit + Cesta je blokovaná + Zaměnit počáteční a cílový bod + From dd92383342999b8a7ebadcbb7633d5153842686e Mon Sep 17 00:00:00 2001 From: Leif Larsson Date: Tue, 19 Jan 2016 08:08:27 +0100 Subject: [PATCH 43/67] Translated using Weblate (Swedish) Currently translated at 99.2% (1872 of 1887 strings) --- OsmAnd/res/values-sv/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-sv/strings.xml b/OsmAnd/res/values-sv/strings.xml index 5051d9dd3d..f407286c51 100644 --- a/OsmAnd/res/values-sv/strings.xml +++ b/OsmAnd/res/values-sv/strings.xml @@ -2,7 +2,7 @@ För att låsa upp skärmen tryck på låsikonen Välj land - Välj stad + Välj stad eller postnummer Välj byggnad Välj gata Gatunamn From 8a84fff8673c69a55063ac8b08658e7f0c034856 Mon Sep 17 00:00:00 2001 From: xmd5a Date: Tue, 19 Jan 2016 17:35:58 +0300 Subject: [PATCH 44/67] Update phrases --- OsmAnd/res/values-ru/phrases.xml | 7 +++++++ OsmAnd/res/values/phrases.xml | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/OsmAnd/res/values-ru/phrases.xml b/OsmAnd/res/values-ru/phrases.xml index be9fe7d9c8..2abbb92e39 100644 --- a/OsmAnd/res/values-ru/phrases.xml +++ b/OsmAnd/res/values-ru/phrases.xml @@ -2596,4 +2596,11 @@ Хоккей с шайбой Хоккей с мячом + Охраняемая природная/историческая территория + Тип охраняемого объекта + Объект охраны: исторический + Объект охраны: природа + Объект охраны: среда обитания + Объект охраны: вода + diff --git a/OsmAnd/res/values/phrases.xml b/OsmAnd/res/values/phrases.xml index c8fc968929..ffd9946dd7 100644 --- a/OsmAnd/res/values/phrases.xml +++ b/OsmAnd/res/values/phrases.xml @@ -2594,4 +2594,11 @@ Ice hockey Bandy + Protected area + Protection title + Protection object: historic + Protection object: nature + Protection object: habitat + Protection object: water + From 8505f72c57b2fa31563b4e9ee639465cbe8399c3 Mon Sep 17 00:00:00 2001 From: GaidamakUA Date: Tue, 19 Jan 2016 17:58:30 +0200 Subject: [PATCH 45/67] Search fragment for live updates. Fixed NPE after rotation on live updates. Small refactoring. --- OsmAnd/res/layout/fragment_reports.xml | 13 +- OsmAnd/res/layout/fragment_search_list.xml | 39 +++ OsmAnd/res/values/strings.xml | 2 +- .../plus/base/BaseOsmAndDialogFragment.java | 73 ++++++ .../osmand/plus/base/BaseOsmAndFragment.java | 9 + .../plus/liveupdates/LiveUpdatesFragment.java | 12 +- .../plus/liveupdates/ReportsFragment.java | 230 +++++++++--------- .../liveupdates/SearchSelectionFragment.java | 101 ++++++++ .../plus/osmedit/EditPoiDialogFragment.java | 28 +-- 9 files changed, 365 insertions(+), 142 deletions(-) create mode 100644 OsmAnd/res/layout/fragment_search_list.xml create mode 100644 OsmAnd/src/net/osmand/plus/base/BaseOsmAndDialogFragment.java create mode 100644 OsmAnd/src/net/osmand/plus/liveupdates/SearchSelectionFragment.java diff --git a/OsmAnd/res/layout/fragment_reports.xml b/OsmAnd/res/layout/fragment_reports.xml index f11808cc21..599c5c8bed 100644 --- a/OsmAnd/res/layout/fragment_reports.xml +++ b/OsmAnd/res/layout/fragment_reports.xml @@ -51,12 +51,13 @@ android:layout_height="60dp" android:src="@drawable/ic_world_globe_dark"/> - + + + + + + + + + + + + + + diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 18e25c9d4b..0780ce670c 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -9,7 +9,7 @@ 3. All your modified/created strings are in the top of the file (to make easier find what\'s translated). PLEASE: Have a look at http://code.google.com/p/osmand/wiki/UIConsistency, it may really improve your and our work :-) Thx - Hardy --> - Remove + Remove "You can remove downloaded updates and get back to the original map edition" Add time span Road blocked diff --git a/OsmAnd/src/net/osmand/plus/base/BaseOsmAndDialogFragment.java b/OsmAnd/src/net/osmand/plus/base/BaseOsmAndDialogFragment.java new file mode 100644 index 0000000000..16ead80c68 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/base/BaseOsmAndDialogFragment.java @@ -0,0 +1,73 @@ +package net.osmand.plus.base; + +import android.graphics.drawable.Drawable; +import android.os.Bundle; +import android.support.annotation.ColorInt; +import android.support.annotation.ColorRes; +import android.support.annotation.DrawableRes; +import android.support.annotation.IdRes; +import android.support.v4.app.DialogFragment; +import android.view.View; +import android.view.WindowManager; +import android.widget.ImageView; + +import net.osmand.plus.IconsCache; +import net.osmand.plus.OsmandApplication; +import net.osmand.plus.OsmandSettings; +import net.osmand.plus.R; +import net.osmand.plus.activities.OsmandActionBarActivity; + +public class BaseOsmAndDialogFragment extends DialogFragment { + private IconsCache iconsCache; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + boolean isLightTheme = ((OsmandApplication) getActivity().getApplication()) + .getSettings().OSMAND_THEME.get() == OsmandSettings.OSMAND_LIGHT_THEME; + int themeId = isLightTheme ? R.style.OsmandLightTheme : R.style.OsmandDarkTheme; + setStyle(STYLE_NO_FRAME, themeId); + getActivity().getWindow() + .setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); + } + + + protected OsmandApplication getMyApplication() { + return (OsmandApplication) getActivity().getApplication(); + } + + protected OsmandActionBarActivity getMyActivity() { + return (OsmandActionBarActivity) getActivity(); + } + + protected IconsCache getIconsCache() { + if (iconsCache == null) { + iconsCache = getMyApplication().getIconsCache(); + } + return iconsCache; + } + + protected Drawable getPaintedContentIcon(@DrawableRes int id, @ColorInt int color){ + return getIconsCache().getPaintedContentIcon(id, color); + } + + protected Drawable getIcon(@DrawableRes int id, @ColorRes int colorId){ + return getIconsCache().getIcon(id, colorId); + } + + protected Drawable getContentIcon(@DrawableRes int id){ + return getIconsCache().getContentIcon(id); + } + + protected void setThemedDrawable(View parent, @IdRes int viewId, @DrawableRes int iconId) { + ((ImageView) parent.findViewById(viewId)).setImageDrawable(getContentIcon(iconId)); + } + + protected void setThemedDrawable(ImageView view, @DrawableRes int iconId) { + view.setImageDrawable(getContentIcon(iconId)); + } + + protected OsmandSettings getSettings() { + return getMyApplication().getSettings(); + } +} diff --git a/OsmAnd/src/net/osmand/plus/base/BaseOsmAndFragment.java b/OsmAnd/src/net/osmand/plus/base/BaseOsmAndFragment.java index 2d908704bd..58eb5dad3a 100644 --- a/OsmAnd/src/net/osmand/plus/base/BaseOsmAndFragment.java +++ b/OsmAnd/src/net/osmand/plus/base/BaseOsmAndFragment.java @@ -11,6 +11,7 @@ import android.widget.ImageView; import net.osmand.plus.IconsCache; import net.osmand.plus.OsmandApplication; +import net.osmand.plus.OsmandSettings; import net.osmand.plus.activities.OsmandActionBarActivity; public class BaseOsmAndFragment extends Fragment { @@ -46,4 +47,12 @@ public class BaseOsmAndFragment extends Fragment { protected void setThemedDrawable(View parent, @IdRes int viewId, @DrawableRes int iconId) { ((ImageView) parent.findViewById(viewId)).setImageDrawable(getContentIcon(iconId)); } + + protected void setThemedDrawable(View view, @DrawableRes int iconId) { + ((ImageView) view).setImageDrawable(getContentIcon(iconId)); + } + + protected OsmandSettings getSettings() { + return getMyApplication().getSettings(); + } } diff --git a/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesFragment.java b/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesFragment.java index 8ef96c4e61..428b8785a1 100644 --- a/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesFragment.java +++ b/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesFragment.java @@ -62,6 +62,7 @@ public class LiveUpdatesFragment extends BaseOsmAndFragment { }; private ExpandableListView listView; private LocalIndexesAdapter adapter; + private AsyncTask> loadLocalIndexesTask; @Override public void onCreate(Bundle savedInstanceState) { @@ -89,12 +90,14 @@ public class LiveUpdatesFragment extends BaseOsmAndFragment { return true; } }); - new LoadLocalIndexTask(adapter, this).execute(); + loadLocalIndexesTask = new LoadLocalIndexTask(adapter, this).execute(); return view; } - private OsmandSettings getSettings() { - return getMyActivity().getMyApplication().getSettings(); + @Override + public void onDestroyView() { + super.onDestroyView(); + loadLocalIndexesTask.cancel(true); } public void notifyLiveUpdatesChanged() { @@ -389,16 +392,17 @@ public class LiveUpdatesFragment extends BaseOsmAndFragment { private List result; private LocalIndexesAdapter adapter; private LiveUpdatesFragment fragment; + private LocalIndexHelper helper; public LoadLocalIndexTask(LocalIndexesAdapter adapter, LiveUpdatesFragment fragment) { this.adapter = adapter; this.fragment = fragment; + helper = new LocalIndexHelper(fragment.getMyActivity().getMyApplication()); } @Override protected List doInBackground(Void... params) { - LocalIndexHelper helper = new LocalIndexHelper(fragment.getMyActivity().getMyApplication()); return helper.getLocalFullMaps(this); } diff --git a/OsmAnd/src/net/osmand/plus/liveupdates/ReportsFragment.java b/OsmAnd/src/net/osmand/plus/liveupdates/ReportsFragment.java index b471e0be05..56a50fb7b9 100644 --- a/OsmAnd/src/net/osmand/plus/liveupdates/ReportsFragment.java +++ b/OsmAnd/src/net/osmand/plus/liveupdates/ReportsFragment.java @@ -1,27 +1,9 @@ package net.osmand.plus.liveupdates; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; -import java.util.Locale; - -import net.osmand.PlatformUtil; -import net.osmand.map.WorldRegion; -import net.osmand.osm.io.NetworkUtils; -import net.osmand.plus.R; -import net.osmand.plus.activities.OsmandActionBarActivity; -import net.osmand.plus.base.BaseOsmAndFragment; - -import org.apache.commons.logging.Log; - import android.annotation.SuppressLint; import android.content.Context; import android.os.AsyncTask; import android.os.Bundle; -import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -32,39 +14,63 @@ import android.widget.TextView; import com.google.gson.Gson; -/** - * A simple {@link Fragment} subclass. - * Activities that contain this fragment must implement the - * {@link ReportsFragment.OnFragmentInteractionListener} interface - * to handle interaction events. - * Use the {@link ReportsFragment#newInstance} factory method to - * create an instance of this fragment. - */ -public class ReportsFragment extends BaseOsmAndFragment { +import net.osmand.PlatformUtil; +import net.osmand.map.WorldRegion; +import net.osmand.osm.io.NetworkUtils; +import net.osmand.plus.R; +import net.osmand.plus.base.BaseOsmAndFragment; + +import org.apache.commons.logging.Log; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; + +public class ReportsFragment extends BaseOsmAndFragment implements SearchSelectionFragment.OnFragmentInteractionListener { public static final String TITLE = "Report"; public static final String TOTAL_CHANGES_BY_MONTH_URL_PATTERN = "http://download.osmand.net/" + "reports/query_report.php?report=total_changes_by_month&month=%s®ion=%s"; + private static final Log LOG = PlatformUtil.getLog(ReportsFragment.class); private TextView contributorsTextView; private TextView editsTextView; private Spinner montReportsSpinner; - private Spinner regionReportsSpinner; private MonthsForReportsAdapter monthsForReportsAdapter; - private RegionsForReportsAdapter regionsForReportsAdapter; + + CountrySearchSelectionFragment searchSelectionFragment = new CountrySearchSelectionFragment(); + private TextView countryNameTextView; + + HashMap queryRegionNames = new HashMap<>(); + ArrayList regionNames = new ArrayList<>(); @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + initCountries(); View view = inflater.inflate(R.layout.fragment_reports, container, false); montReportsSpinner = (Spinner) view.findViewById(R.id.montReportsSpinner); monthsForReportsAdapter = new MonthsForReportsAdapter(getActivity()); montReportsSpinner.setAdapter(monthsForReportsAdapter); - regionReportsSpinner = (Spinner) view.findViewById(R.id.regionReportsSpinner); - regionsForReportsAdapter = new RegionsForReportsAdapter(getMyActivity()); - regionsForReportsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); - regionReportsSpinner.setAdapter(regionsForReportsAdapter); + View regionReportsButton = view.findViewById(R.id.reportsButton); + regionReportsButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + SearchSelectionFragment countrySearchSelectionFragment = + searchSelectionFragment; + countrySearchSelectionFragment + .show(getChildFragmentManager(), "CountriesSearchSelectionFragment"); + } + }); + + countryNameTextView = (TextView) regionReportsButton.findViewById(android.R.id.text1); + countryNameTextView.setText(regionNames.get(0)); setThemedDrawable(view, R.id.calendarImageView, R.drawable.ic_action_data); setThemedDrawable(view, R.id.regionIconImageView, R.drawable.ic_world_globe_dark); @@ -88,16 +94,13 @@ public class ReportsFragment extends BaseOsmAndFragment { } }; montReportsSpinner.setOnItemSelectedListener(onItemSelectedListener); - regionReportsSpinner.setOnItemSelectedListener(onItemSelectedListener); return view; } public void requestAndUpdateUi() { int monthItemPosition = montReportsSpinner.getSelectedItemPosition(); String monthUrlString = monthsForReportsAdapter.getQueryString(monthItemPosition); - int regionItemPosition = regionReportsSpinner.getSelectedItemPosition(); - String regionUrlString = regionsForReportsAdapter.getQueryString(regionItemPosition); - regionUrlString = regionUrlString == null ? "" : regionUrlString; + String countryUrlString = queryRegionNames.get(countryNameTextView.getText().toString()); GetJsonAsyncTask.OnResponseListener onResponseListener = new GetJsonAsyncTask.OnResponseListener() { @Override @@ -112,7 +115,7 @@ public class ReportsFragment extends BaseOsmAndFragment { } } }; - requestData(monthUrlString, regionUrlString, onResponseListener); + requestData(monthUrlString, countryUrlString, onResponseListener); } private void requestData(String monthUrlString, String regionUrlString, @@ -124,6 +127,80 @@ public class ReportsFragment extends BaseOsmAndFragment { totalChangesByMontAsyncTask.execute(finalUrl); } + @Override + public void onSearchResult(String name) { + countryNameTextView.setText(name); + requestAndUpdateUi(); + } + + private void initCountries() { + final WorldRegion root = getMyApplication().getRegions().getWorldRegion(); + ArrayList groups = new ArrayList<>(); + groups.add(root); + processGroup(root, groups, getActivity()); + Collections.sort(groups, new Comparator() { + @Override + public int compare(WorldRegion lhs, WorldRegion rhs) { + if (lhs == root) { + return -1; + } + if (rhs == root) { + return 1; + } + return getHumanReadableName(lhs).compareTo(getHumanReadableName(rhs)); + } + }); + for (WorldRegion group : groups) { + String name = getHumanReadableName(group); + regionNames.add(name); + queryRegionNames.put(name, group.getRegionDownloadName()); + } + } + + private static String getHumanReadableName(WorldRegion group) { + String name; + if (group.getLevel() > 2 || (group.getLevel() == 2 + && group.getSuperregion().getRegionId().equals(WorldRegion.RUSSIA_REGION_ID))) { + WorldRegion parent = group.getSuperregion(); + WorldRegion parentsParent = group.getSuperregion().getSuperregion(); + if (group.getLevel() == 3) { + if (parentsParent.getRegionId().equals(WorldRegion.RUSSIA_REGION_ID)) { + name = parentsParent.getLocaleName() + " " + group.getLocaleName(); + } else if (!parent.getRegionId().equals(WorldRegion.UNITED_KINGDOM_REGION_ID)) { + name = parent.getLocaleName() + " " + group.getLocaleName(); + } else { + name = group.getLocaleName(); + } + } else { + name = parent.getLocaleName() + " " + group.getLocaleName(); + } + } else { + name = group.getLocaleName(); + } + if (name == null) { + name = ""; + } + return name; + } + + public String getQueryString(int position) { + return queryRegionNames.get(position); + } + + private static void processGroup(WorldRegion group, + List nameList, + Context context) { + if (group.isRegionMapDownload()) { + nameList.add(group); + } + + if (group.getSubregions() != null) { + for (WorldRegion g : group.getSubregions()) { + processGroup(g, nameList, context); + } + } + } + private static class MonthsForReportsAdapter extends ArrayAdapter { private static final SimpleDateFormat queryFormat = new SimpleDateFormat("yyyy-MM", Locale.US); @SuppressLint("SimpleDateFormat") @@ -152,77 +229,6 @@ public class ReportsFragment extends BaseOsmAndFragment { } } - private static class RegionsForReportsAdapter extends ArrayAdapter { - ArrayList queryRegionNames = new ArrayList<>(); - - public RegionsForReportsAdapter(final OsmandActionBarActivity context) { - super(context, R.layout.reports_for_spinner_item, android.R.id.text1); - - final WorldRegion root = context.getMyApplication().getRegions().getWorldRegion(); - ArrayList groups = new ArrayList<>(); - groups.add(root); - processGroup(root, groups, context); - Collections.sort(groups, new Comparator() { - @Override - public int compare(WorldRegion lhs, WorldRegion rhs) { - if (lhs == root) { - return -1; - } - if (rhs == root) { - return 1; - } - return getHumanReadableName(lhs).compareTo(getHumanReadableName(rhs)); - } - }); - for (WorldRegion group : groups) { - String name = getHumanReadableName(group); - add(name); - queryRegionNames.add(group.getRegionDownloadName()); - } - } - - private static String getHumanReadableName(WorldRegion group) { - String name; - if(group.getLevel() > 2 || (group.getLevel() == 2 - && group.getSuperregion().getRegionId().equals(WorldRegion.RUSSIA_REGION_ID))) { - WorldRegion parent = group.getSuperregion(); - WorldRegion parentsParent = group.getSuperregion().getSuperregion(); - if(group.getLevel() == 3) { - if(parentsParent.getRegionId().equals(WorldRegion.RUSSIA_REGION_ID)) { - name = parentsParent.getLocaleName() + " " + group.getLocaleName(); - } else if (!parent.getRegionId().equals(WorldRegion.UNITED_KINGDOM_REGION_ID)) { - name = parent.getLocaleName() + " " + group.getLocaleName(); - } else { - name = group.getLocaleName(); - } - } else { - name = parent.getLocaleName() + " " + group.getLocaleName(); - } - } else { - name = group.getLocaleName(); - } - return name; - } - - public String getQueryString(int position) { - return queryRegionNames.get(position); - } - - private static void processGroup(WorldRegion group, - List nameList, - Context context) { - if (group.isRegionMapDownload()) { - nameList.add(group); - } - - if (group.getSubregions() != null) { - for (WorldRegion g : group.getSubregions()) { - processGroup(g, nameList, context); - } - } - } - } - public static class GetJsonAsyncTask

extends AsyncTask { private static final Log LOG = PlatformUtil.getLog(GetJsonAsyncTask.class); private final Class

protocolClass; @@ -260,4 +266,10 @@ public class ReportsFragment extends BaseOsmAndFragment { } } + public static class CountrySearchSelectionFragment extends SearchSelectionFragment { + @Override + protected ArrayList getList() { + return ((ReportsFragment) getParentFragment()).regionNames; + } + } } diff --git a/OsmAnd/src/net/osmand/plus/liveupdates/SearchSelectionFragment.java b/OsmAnd/src/net/osmand/plus/liveupdates/SearchSelectionFragment.java new file mode 100644 index 0000000000..c650d6b8c9 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/liveupdates/SearchSelectionFragment.java @@ -0,0 +1,101 @@ +package net.osmand.plus.liveupdates; + +import android.content.Context; +import android.os.Bundle; +import android.text.Editable; +import android.text.TextWatcher; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.EditText; +import android.widget.ImageButton; +import android.widget.ListView; + +import net.osmand.plus.R; +import net.osmand.plus.base.BaseOsmAndDialogFragment; + +import java.util.ArrayList; + +public abstract class SearchSelectionFragment extends BaseOsmAndDialogFragment { + private OnFragmentInteractionListener mListener; + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_search_list, container, false); + ListView listView = (ListView) view.findViewById(android.R.id.list); + final ArrayAdapter adapter = new ArrayAdapter(getMyActivity(), android.R.layout.simple_list_item_1); + if (getArray() != null) { + adapter.addAll(getArray()); + } else if (getList() != null){ + adapter.addAll(getList()); + } else { + throw new RuntimeException("Either getArray() or getList() must return non null value."); + } + listView.setAdapter(adapter); + listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + mListener.onSearchResult(adapter.getItem(position)); + dismiss(); + } + }); + final EditText searchEditText = (EditText) view.findViewById(R.id.searchEditText); + searchEditText.addTextChangedListener(new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + } + + @Override + public void afterTextChanged(Editable s) { + adapter.getFilter().filter(s); + } + }); + ImageButton clearButton = (ImageButton) view.findViewById(R.id.clearButton); + setThemedDrawable(clearButton, R.drawable.ic_action_remove_dark); + clearButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + searchEditText.setText(null); + } + }); + return view; + } + + @Override + public void onAttach(Context context) { + super.onAttach(context); + if (context instanceof OnFragmentInteractionListener) { + mListener = (OnFragmentInteractionListener) context; + } else if (getParentFragment() instanceof OnFragmentInteractionListener) { + mListener = (OnFragmentInteractionListener) getParentFragment(); + } else { + throw new RuntimeException(context.toString() + + " must implement OnFragmentInteractionListener"); + } + } + + protected String[] getArray() { + return null; + } + + protected ArrayList getList() { + return null; + } + + @Override + public void onDetach() { + super.onDetach(); + mListener = null; + } + + public interface OnFragmentInteractionListener { + void onSearchResult(String name); + } +} diff --git a/OsmAnd/src/net/osmand/plus/osmedit/EditPoiDialogFragment.java b/OsmAnd/src/net/osmand/plus/osmedit/EditPoiDialogFragment.java index beb9bd8f01..644c246c9b 100644 --- a/OsmAnd/src/net/osmand/plus/osmedit/EditPoiDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/osmedit/EditPoiDialogFragment.java @@ -60,6 +60,7 @@ import net.osmand.plus.OsmandPlugin; import net.osmand.plus.OsmandSettings; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; +import net.osmand.plus.base.BaseOsmAndDialogFragment; import net.osmand.plus.osmedit.dialogs.PoiSubTypeDialogFragment; import net.osmand.plus.osmedit.dialogs.PoiTypeDialogFragment; import net.osmand.util.Algorithms; @@ -73,7 +74,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -public class EditPoiDialogFragment extends DialogFragment { +public class EditPoiDialogFragment extends BaseOsmAndDialogFragment { public static final String TAG = "EditPoiDialogFragment"; private static final Log LOG = PlatformUtil.getLog(EditPoiDialogFragment.class); @@ -103,9 +104,9 @@ public class EditPoiDialogFragment extends DialogFragment { @Override public void onAttach(Activity activity) { super.onAttach(activity); - OsmandSettings settings = getMyApplication().getSettings(); OsmEditingPlugin plugin = OsmandPlugin.getPlugin(OsmEditingPlugin.class); - if (settings.OFFLINE_EDITION.get() || !settings.isInternetConnectionAvailable(true)) { + if (getSettings().OFFLINE_EDITION.get() + || !getSettings().isInternetConnectionAvailable(true)) { mOpenstreetmapUtil = plugin.getPoiModificationLocalUtil(); } else { mOpenstreetmapUtil = plugin.getPoiModificationRemoteUtil(); @@ -115,23 +116,11 @@ public class EditPoiDialogFragment extends DialogFragment { editPoiData = new EditPoiData(node, getMyApplication()); } - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - boolean isLightTheme = ((OsmandApplication) getActivity().getApplication()) - .getSettings().OSMAND_THEME.get() == OsmandSettings.OSMAND_LIGHT_THEME; - int themeId = isLightTheme ? R.style.OsmandLightTheme : R.style.OsmandDarkTheme; - setStyle(STYLE_NO_FRAME, themeId); - getActivity().getWindow() - .setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); - } - @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment_edit_poi, container, false); - final OsmandSettings settings = getMyApplication().getSettings(); - boolean isLightTheme = settings.OSMAND_THEME.get() == OsmandSettings.OSMAND_LIGHT_THEME; + boolean isLightTheme = getSettings().OSMAND_THEME.get() == OsmandSettings.OSMAND_LIGHT_THEME; if (savedInstanceState != null) { @SuppressWarnings("unchecked") @@ -204,8 +193,7 @@ public class EditPoiDialogFragment extends DialogFragment { final int colorId = isLightTheme ? R.color.inactive_item_orange : R.color.dash_search_icon_dark; final int color = getResources().getColor(colorId); - onlineDocumentationButton.setImageDrawable(getMyApplication().getIconsCache() - .getPaintedContentIcon(R.drawable.ic_action_help, color)); + onlineDocumentationButton.setImageDrawable(getPaintedContentIcon(R.drawable.ic_action_help, color)); final ImageButton poiTypeButton = (ImageButton) view.findViewById(R.id.poiTypeButton); poiTypeButton.setOnClickListener(new View.OnClickListener() { @Override @@ -548,10 +536,6 @@ public class EditPoiDialogFragment extends DialogFragment { } } - private OsmandApplication getMyApplication() { - return (OsmandApplication) getActivity().getApplication(); - } - public static EditPoiDialogFragment createAddPoiInstance(double latitude, double longitude, OsmandApplication application) { Node node = new Node(latitude, longitude, -1); From 9024c62b962fd919fb2cc1cc867cb6561f9b534c Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 19 Jan 2016 16:46:12 +0100 Subject: [PATCH 46/67] Translated using Weblate (German) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-de/strings.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index 577a5ae779..8ef571fef9 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -1019,15 +1019,15 @@ Standard-Widget-Aktion Wählen Sie ein Video-Ausgabeformat Video-Ausgabeformat - Externen System-Recorder für Video-Aufnahmen verwenden - System-Recorder + System Video App für Videos verwenden + System Video App nutzen Konfigurieren von Audio- und Video-Einstellungen Stopp Audio/Video-Einstellungen Starten Foto aufnehmen - Externe Systemkamera für Fotoaufnahmen verwenden - Systemkamera + System Kamera App für Fotos verwenden + System Kamera App nutzen Bei Anfrage auswählen Das Dropbox-Plugin ermöglicht Ihnen eine Synchronisation von Tracks und Audio/Video-Notizen mit Ihrem Dropbox-Konto. Dropbox-Plugin From d9ee0f56e907015a4643663306ca1a4f6ff12738 Mon Sep 17 00:00:00 2001 From: Mirco Zorzo Date: Tue, 19 Jan 2016 14:20:20 +0100 Subject: [PATCH 47/67] Translated using Weblate (Italian) Currently translated at 99.7% (1883 of 1887 strings) --- OsmAnd/res/values-it/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-it/strings.xml b/OsmAnd/res/values-it/strings.xml index 39851c8dab..f23272b92d 100644 --- a/OsmAnd/res/values-it/strings.xml +++ b/OsmAnd/res/values-it/strings.xml @@ -2146,5 +2146,5 @@ Rapporto per: Rimuovi Puoi eliminare gli aggiornamenti scaricati e avere la mappa originale - Strada chiusa + Strada bloccata From 1d20bd694ebc4ef5146254375fe1241bb3add5d8 Mon Sep 17 00:00:00 2001 From: Franco Date: Mon, 18 Jan 2016 14:38:32 +0100 Subject: [PATCH 48/67] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-es-rAR/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index 4c9075b337..a3cae2db31 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -1620,7 +1620,7 @@ Buscar dirección Elija el edificio Elija la calle - Elija la ciudad + Elija la ciudad o el código postal Elija el país Mostrar dirección de visualización Active la vista 3D del mapa From 6973f16d13245f17fa4b14918e4981b8eb5b4c8e Mon Sep 17 00:00:00 2001 From: Matej U Date: Tue, 19 Jan 2016 18:22:35 +0100 Subject: [PATCH 49/67] Translated using Weblate (Slovenian) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-sl/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-sl/strings.xml b/OsmAnd/res/values-sl/strings.xml index 7300466ea6..4125433f2f 100644 --- a/OsmAnd/res/values-sl/strings.xml +++ b/OsmAnd/res/values-sl/strings.xml @@ -111,7 +111,7 @@ Program za navigacijo Uporabi internet Prikaži točke POI - Izbor mesta + Izbor mesta ali poštne številke Izbor hišne številke Izbor ulice Izbor države @@ -296,7 +296,7 @@ Ni določene poti Odstrani cilj Ciljna točka %1$s - Cilj %1$s + Vmesni cilj %1$s Cilji Pomoč v sili Pomoč na cesti From 988420842af53c72dcdc4221c605581788403ba9 Mon Sep 17 00:00:00 2001 From: GaidamakUA Date: Wed, 20 Jan 2016 11:00:59 +0200 Subject: [PATCH 50/67] Removed toast and unnecessary code line. --- .../plus/liveupdates/PerformLiveUpdateAsyncTask.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/liveupdates/PerformLiveUpdateAsyncTask.java b/OsmAnd/src/net/osmand/plus/liveupdates/PerformLiveUpdateAsyncTask.java index 52bd7b5f4e..84ae58400a 100644 --- a/OsmAnd/src/net/osmand/plus/liveupdates/PerformLiveUpdateAsyncTask.java +++ b/OsmAnd/src/net/osmand/plus/liveupdates/PerformLiveUpdateAsyncTask.java @@ -5,8 +5,8 @@ import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.AsyncTask; -import android.widget.Toast; +import net.osmand.PlatformUtil; import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandSettings; import net.osmand.plus.activities.LocalIndexInfo; @@ -17,6 +17,8 @@ import net.osmand.plus.download.IndexItem; import net.osmand.plus.resources.IncrementalChangesManager; import net.osmand.util.Algorithms; +import org.apache.commons.logging.Log; + import java.io.File; import java.util.ArrayList; import java.util.List; @@ -25,6 +27,8 @@ import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceUpdateFreq public class PerformLiveUpdateAsyncTask extends AsyncTask { + private final static Log LOG = PlatformUtil.getLog(OsmLiveActivity.class); + private final Context context; private final LocalIndexInfo localIndexInfo; private final boolean forceUpdate; @@ -41,7 +45,6 @@ public class PerformLiveUpdateAsyncTask if (context instanceof AbstractDownloadActivity) { AbstractDownloadActivity activity = (AbstractDownloadActivity) context; activity.setSupportProgressBarIndeterminateVisibility(true); - OsmandSettings settings = activity.getMyApplication().getSettings(); } final OsmandApplication myApplication = getMyApplication(); OsmandSettings.CommonPreference lastCheckPreference = @@ -69,7 +72,7 @@ public class PerformLiveUpdateAsyncTask final OsmandApplication application = getMyApplication(); final OsmandSettings settings = application.getSettings(); if (result.errorMessage != null) { - Toast.makeText(context, result.errorMessage, Toast.LENGTH_SHORT).show(); + LOG.info(result.errorMessage); tryRescheduleDownload(context, settings, localIndexInfo); } else { settings.LIVE_UPDATES_RETRIES.resetToDefault(); @@ -118,7 +121,7 @@ public class PerformLiveUpdateAsyncTask } public static void tryRescheduleDownload(Context context, OsmandSettings settings, - LocalIndexInfo localIndexInfo) { + LocalIndexInfo localIndexInfo) { final OsmandSettings.CommonPreference updateFrequencyPreference = preferenceUpdateFrequency(localIndexInfo, settings); final Integer frequencyOrdinal = updateFrequencyPreference.get(); From 7ef7a2bca344e93fc1d1c29a8d6623e991f4fac5 Mon Sep 17 00:00:00 2001 From: jan madsen Date: Tue, 19 Jan 2016 21:43:03 +0100 Subject: [PATCH 51/67] Translated using Weblate (Danish) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-da/strings.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 176d2dc46b..18233e3796 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -2205,13 +2205,13 @@ Opdateringer: %s Sidste kortændring: %s -Optager opdel - Brug optager opdel - Omskriv klip når den brugte plads overstiger opbevaring størrelse +Optagelse automatisk opdelt + "Brug automatisk opdeling" + Overskriv klip når lagerpladsen er fuld Kliplængde Længden af hver optaget klip bliver ikke længere end det angivne tidsinterval Lagerplads - Mængden af lagerplads, der kan være optaget af alle optagne klip + Lagerplads, der kan være bruges af alle optagne klip Time Daglig Ugentlig @@ -2231,8 +2231,8 @@ Antal redigeringer Rapport for: Vælg - Du kan fjerne de hentede opdateringer og vende tilbage til det oprindelige kort + Man kan fjerne de hentede opdateringer og vende tilbage til det oprindelige kort Tilføj tidsinterval - Vej er spærret + Spærret vej Fjern From f485d416b399eaa10df09814fb87f0d5a4e78a3d Mon Sep 17 00:00:00 2001 From: Mirco Zorzo Date: Wed, 20 Jan 2016 07:52:20 +0100 Subject: [PATCH 52/67] Translated using Weblate (Italian) Currently translated at 99.8% (1885 of 1887 strings) --- OsmAnd/res/values-it/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-it/strings.xml b/OsmAnd/res/values-it/strings.xml index f23272b92d..ebf5e639fa 100644 --- a/OsmAnd/res/values-it/strings.xml +++ b/OsmAnd/res/values-it/strings.xml @@ -526,7 +526,7 @@ Cerca indirizzo Scegli numero civico Scegli la strada - Scegli la città + Scegli la città o il cap Scegli la nazione @@ -2147,4 +2147,5 @@ Rimuovi Puoi eliminare gli aggiornamenti scaricati e avere la mappa originale Strada bloccata + Aggiungi durata From 7103e9f463dd8916e9e9c82226074166651ca80a Mon Sep 17 00:00:00 2001 From: ace shadow Date: Tue, 19 Jan 2016 23:49:53 +0100 Subject: [PATCH 53/67] Translated using Weblate (Slovak) Currently translated at 99.1% (1871 of 1887 strings) --- OsmAnd/res/values-sk/strings.xml | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/OsmAnd/res/values-sk/strings.xml b/OsmAnd/res/values-sk/strings.xml index d6809c5f0d..38a84fec90 100644 --- a/OsmAnd/res/values-sk/strings.xml +++ b/OsmAnd/res/values-sk/strings.xml @@ -1,4 +1,5 @@ - + + Zobraziť Fotografia %1$s %2$s @@ -231,7 +232,7 @@ Na serveri sú mapové súbory nekompatibilné s Vašou aktuálnou verziou aplikácie. Na ich stiahnutie a použitie, prosím, aktualizujte aplikáciu na novšiu verziu. Online Nominatim Hľadám umiestnenie… - Umiestnenie [Nájdené] + Moja poloha (nájdená) Adresa… Obľúbené miesta… Neurčené @@ -634,7 +635,7 @@ Hľadať adresu Vybrať popisné číslo Vybrať ulicu - Vybrať mesto + Vybrať mesto alebo PSČ Vybrať krajinu Zobraziť uhol pohľadu Zapnutie 3D zobrazenia mapy @@ -684,7 +685,7 @@ Obľúbený bod "{0}" bol úspešne pridaný. Upraviť obľúbený bod Vymazať obľúbený bod - Odstrániť obľúbený bod "%s"? + Zmazať obľúbený bod \'%s\'? Obľúbený bod {0} bol úspešne zmazaný. @@ -761,7 +762,7 @@ Upozornenie Predošle bola pridaná do kalendára pripomienka na vyzdvihnutie Vášho auta. Zostane tam, pokiaľ ju ručne nezmažete. Nastavte časový limit parkovania - Chcete odstrániť umiestnenie zaparkovaného auta? + Chcete zmazať značku parkovacieho miesta? Zmazať parkovaciu značku Zvoľte typ parkovania Časovo obmedzené @@ -1917,7 +1918,17 @@ Typ Východzí bod Zvoľte mesiac a krajinu -Položka vymazaná +Položka odstránená položiek vymazaných VŠETKO VRÁTIŤ SPÄŤ - \ No newline at end of file + Odstrániť + Môžete odstrániť stiahnuté aktualizácie a vrátiť sa späť k pôvodnej verzii mapy + Pridať časový rozsah + Cesta zablokovaná + Vybrať + Vymeniť východzí a cieľový bod + Skryť ikony bodov záujmu (POI) + Počet prispievateľov + Počet zmien + Výkaz pre: + From bf1fc93a7b4566cef5133cece103d246018d0a9a Mon Sep 17 00:00:00 2001 From: jan madsen Date: Tue, 19 Jan 2016 21:33:34 +0100 Subject: [PATCH 54/67] Translated using Weblate (Danish) Currently translated at 100.0% (2385 of 2385 strings) --- OsmAnd/res/values-da/phrases.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-da/phrases.xml b/OsmAnd/res/values-da/phrases.xml index b43dab8839..41bb848cb7 100644 --- a/OsmAnd/res/values-da/phrases.xml +++ b/OsmAnd/res/values-da/phrases.xml @@ -2626,8 +2626,8 @@ Sømærke dige Delfin - Vejskilt: skovbrug afdeling - Vejskilt: skovbrug tildeling + Vejviser: skovbrug + Vejviser: skovbrug tildeling Inskription: N Inskription: NV Inskription: V From 2c7d093f2d0e4e928db615d76fef622e2a9baa33 Mon Sep 17 00:00:00 2001 From: Franco Date: Tue, 19 Jan 2016 18:03:21 +0100 Subject: [PATCH 55/67] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (2385 of 2385 strings) --- OsmAnd/res/values-es-rAR/phrases.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OsmAnd/res/values-es-rAR/phrases.xml b/OsmAnd/res/values-es-rAR/phrases.xml index 70fb91f6ac..63c5d47a84 100644 --- a/OsmAnd/res/values-es-rAR/phrases.xml +++ b/OsmAnd/res/values-es-rAR/phrases.xml @@ -2621,4 +2621,7 @@ Comercio justo: No Sólo productos de comercio justo +Hockey sobre hielo + Bandy + From a36d8f508dc2405e017e273a5f44d3880adccc4a Mon Sep 17 00:00:00 2001 From: Dmitriy Prodchenko Date: Wed, 20 Jan 2016 13:24:35 +0200 Subject: [PATCH 56/67] Add Startpoint icon. --- OsmAnd/res/drawable-hdpi/list_startpoint.png | Bin 0 -> 1142 bytes OsmAnd/res/drawable-hdpi/map_start_point.png | Bin 0 -> 1628 bytes OsmAnd/res/drawable-mdpi/list_startpoint.png | Bin 0 -> 1090 bytes OsmAnd/res/drawable-mdpi/map_start_point.png | Bin 0 -> 1360 bytes OsmAnd/res/drawable-xhdpi/list_startpoint.png | Bin 0 -> 1183 bytes OsmAnd/res/drawable-xhdpi/map_start_point.png | Bin 0 -> 1955 bytes OsmAnd/res/drawable-xxhdpi/list_startpoint.png | Bin 0 -> 1237 bytes OsmAnd/res/drawable-xxhdpi/map_start_point.png | Bin 0 -> 2594 bytes 8 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 OsmAnd/res/drawable-hdpi/list_startpoint.png create mode 100644 OsmAnd/res/drawable-hdpi/map_start_point.png create mode 100644 OsmAnd/res/drawable-mdpi/list_startpoint.png create mode 100644 OsmAnd/res/drawable-mdpi/map_start_point.png create mode 100644 OsmAnd/res/drawable-xhdpi/list_startpoint.png create mode 100644 OsmAnd/res/drawable-xhdpi/map_start_point.png create mode 100644 OsmAnd/res/drawable-xxhdpi/list_startpoint.png create mode 100644 OsmAnd/res/drawable-xxhdpi/map_start_point.png diff --git a/OsmAnd/res/drawable-hdpi/list_startpoint.png b/OsmAnd/res/drawable-hdpi/list_startpoint.png new file mode 100644 index 0000000000000000000000000000000000000000..aa76244cf1fb26f855d78b62c8d0a881518b0c3c GIT binary patch literal 1142 zcmbVMTWHi+7!I~rk=7MtACwkCEV9C8a+%!iIJA?QI?!on$H8_%%VcuSbYh#Fn4CIk zAFT=tE4mk!iWC+W_VTie*O!GAU7`4*6$?TU(I>%|zUZ5vC)1hgL-D~ta&F)E|KIs9 z`K~xR+_Q7vPKu&>@<+@P8T;dR$9D34K`kzlVK2^3;G?L98&&|RL4c}|&b!tWEI|v* zow^SPD5~SMQ=Y&Rg%QI>Zo-N&iOBT{o1zBNk#E`45YtsS<#;J({omUR?SK?BE*JQM zpMiDf$b0~g&X1Pu`Dt4RO!_cA5E;aP3$aB=wjcw8#rG$LpNHv%Fvkydm;*>tTqu0Mv|ESju$ymWC?-|=R9mhtQYQYTQFg02ab;&GrBG&vubWAr>KIEm4`%`H+d9R`$?{m37~~h zP)2B`T?NHD!YHgGpUz~OS*O1mcRYX^;lVgf8@D!L;GBja7a*5z#@TST&|pb5Ro4`m z)wHU{T0nxVCdz>2fvAc}P_wE)U|M|ex$)zOC@wCRkBX)!)? zN9VDBCLdHT|8;le_|n*y%d59W`_pGH-C26_$MBvve=g+uq*uRw({;h9uMYmKq%YmM z`|a}fiwoe{qNt5u6@NS#U4J;ac5b(R{^EgGE!=Or_RX$T{9?V{f1>Z6W>n YYWPs^e;rS+%*TI%e0J3Qd#G~eJ#%4k#Q*>R literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-hdpi/map_start_point.png b/OsmAnd/res/drawable-hdpi/map_start_point.png new file mode 100644 index 0000000000000000000000000000000000000000..de4183100392d0b09be1d042e375faca330a12ae GIT binary patch literal 1628 zcmbVMeM}Q)81G~fWjN>D;>S#LR;M_)-bZ_FuTT-%0wpVAskTM8c-&pfN!zP;hb;x8 zbJNL~n+`YQ7=EE4$~0>fM#cs@r-BJnW5l6C7i1BQx^&{y4P{rPZhsK}*d=%G^S!%|jahV|)?LqU9g+q){?A8PDC;CfX64YC6cuCfR7+cXaOjqU5r;J`@N-2 z1~8OPX2Z;|*{7$AnVcX;7XOWf&X#e(3|LXh9@m-`iRmUBS}j^hxFLMRG~2#_!H3Pb?(@^fMu3^Y%2 zj89-#FA&v86tSg(P9}Q#Gz5>&Y<{NL%a0~XOc@j)d=MgsA&(~-*9e*yEcCx_jEUy0 zWj-3R&^%kpkzzfZb7EvMch5Hz1&ZEi7jukQ6vAy_$x;vP6-)-5OuUg(45d}UN>ojg z8c?A@P>>>(8W2}vDv-uCIEpFNYBj8k=^2Z!$8l6)RA**psniH!#4=F~Ho!`w3dXQZ zl?sb-OB+puA3?B%kQ;lm>7^u+{X+VNf(x3*#C=jMlHL9STL=lC^ zM)}nL%^xH>1x1_XKg|<65<4;~J{tvb^K6)CuQ)-RI4bc6J#!_JaTO**hBa{Ic1>r= z)Qst;!=3SKO5SLA<;tGq%-3Jq(3f$b|5vlpZWta1?cLHvPASaz;7V|t)Uc##T4dJv zQ1O!Q8>PW1x&`)q?#9M#maB7XnrkAp&6m8Jw?D+cxUuoWo}Fc`?r=rg4njHm#m7l~ zk+}DV2JTnwxINJCI5a0uICaz3*VS(5S=-y2ytOG|d#XxxsQx0O_1~ELc=Cz-!ocUV zbgx!!C8oF0{lh}aIrrwSm6C+~_2XXKBN?Bx=!G%G!&@d?t{zg%FVEFGy4Osc!0BI3 z6f5p{3$rgxOWk$5r#n)yARI|***dfH=X1Wc*+*L6`XDKJ{BNH=?2$KM7d(ym<>bi+ zT@`TII=;Zz(FqQsw#_}?q_2>MTvLa(kcrDI%%e$z?#eeeUHvwG{i=6L9FF-sy}RJr zj;d+as|6jcP3HGo3>bYjs}#ldH6B#BVt}9u%%#eXF+Onss9C z%MaCcIgZ1}>Mnepg4C~=cV=q;qg2xkYqhIAapV4$^9^6=FW+$#)dh}sp6O2d=^AGs!Q=OJ;oixi x{dIQ;4|(`OO?v3vqq{=V+=I&0Sby2wF_JF#pK)C4i8g2 zC{FOQlXwt8Zwi7J1@$E8Z6`$#J&59C?4sg9m|wbfdKfzxNWMpYzyJGpWqj;-Z_l9~ zilTaRqh^7uiTK^#MZWKA#xJrQ#F-L4g(|pag^(I{P#J=pXH{VVT2ABK3phwoopWxn zgiHAox{W;6iZN{63kaK{28Zf_Wluv4%CPGC2EF?DDGgl5peN)!pAXV-${n2#;i>tt zqCG!tYYshh3=GzFV!(sg0(Ec3kMz1hH|^?VA767cXhQI`L9Yi@%8!FI3L%i$6k`j5 z02GZCWHl+u13=^jnd3E1;2B=f1zs0<(0XX%Ep#e+!OXUNk&{7BVI1fjSF6?7T9QR! zl@l~g<9Lx1MTQ`lsNrL)&iGMZ+ky!rJ9Go=A|J#StumU$22CPePr(cF`3=K<)G8Dy z8CSOgPGEV?^Wwak=m;0!-!L{sN5w_}xdM#PY-p2yRQlRvQoF4k#Xu5`elm1PQ>+;i z*|Q$>an3Yo@`rU?M^EvRs6bm~lByswjxDK-CdnxVYN{s6lA8B zvHqs~du?r~lj+#gd97o|qlKlVw`)h}yZz$#gb|C^*~|Us~bOK ORp&Be=Dm^0i+=!Sz*@8b literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-mdpi/map_start_point.png b/OsmAnd/res/drawable-mdpi/map_start_point.png new file mode 100644 index 0000000000000000000000000000000000000000..6c442df7059cfba44e35a550f41dee09e8308005 GIT binary patch literal 1360 zcmbVMZ%i9y7(d5?lXYxlF#$xq9VSEL_5StR-h~cEuZ6~yAv99I46b)?%LVSP+#R$K z&0s2mA{mQ`W^N19Z5fF%1f#(%S`1sz$cO2SiA!)Znkl-7b0%XzQr{MeejxkcC3o-p zKJV}M{C{q!p}uxUL1_VkAUgteLL*$u;cMTP55Mo$j=c((63Z91n)IlZ5DkFrm-Prh z1F9GUjX;!pI==*!2$I*Wgu+%hcz~C5)h=c*_M{qzYy_#SO2$R09av}t#1zegEnZAv zs3Lo?W;RF$<6h9F)b$#mskc5P^|ni#j8*MJE0a7_paM%olWK=%@<|Vt)yueS+)%8U>xqIXBa&jApzI`}s+qX5Xwzy0|GKd$+6?u?0nrFd zy~~hbJ)-3~GR)om4P}7P8~&i7z@ms9f-ZHbK(hjZ2ZJ|uS&?}s>7ZRea^sAfqH$Sr zxN*+GI&r|cIhu92TrSd))3X_0ARS(Y5ttgk(?wA}mZMloU|2sVxcsb-^yRn#&9p>K z0y*0Xw7t%y@5|-A1`sXX2DEW~+`?G%K2{C(I`^Wm=0`0EW^H zWWS-SXg1HhvWX9(BkJPZP8N5&BW_%j9RPRJtc;T~?V=euDn?`qTj$IFH-7|lipVs} zf0`#Jf*qOJZj1svYz!07-~<_PR4$I!_aMjv@qn;Dl)M&MO{c5!=!wb6cebC2^d%Q| zk6sPjR-UuH+4staBSmNb`1;(UZ8%(ZCwA|z%X1%pQfm8qYxOKS*;*8fiv8P~N}oD2 z@YwDdbjy1qC0%ppCI6$$Z*M<4JIqJFrLv+r)3%*mu5=`Z=N@UwZ{0gGdg$cT>4$@3 z_PuAvzK=OvZ)`x%O9N9V0)(PwWi+BDBx;-Fjgn)a?7A<-p*Ni|Mp&J{2x5Tm|9;Se|K^UVgp* zrJ*75&hK|^)LV;{OX+k9o4>}S`bUQDrB8moa{clAfx|Z2V*fW-$ME!&{4#gq=AOLQ z&V4lf>y1Rw&DhasOu8XQBTIj-?3}sUk}59zbY<>JXL_M_?D($MFK(S4m#WPNuWUVD zc*9M;q^iAIyJ@z6-;wk(p*@bZL?}+owF7;@WRsMv8t9LDcy$L_tJRbUOARA`0`QYp254gMs9n^Pm6w{(DZgx9wQG zVD$omAQmTgYH7T(!CPO8za8^`oWRQ})Y6Ie!W=5-9w4G7%mOlL>v@m{x>-8(2s9By zO}~}tM4hQt)qr+L4|GCB+r?;tXlgFHy3qp=nFV>viBJ=FMkvxUBUFc&VpDD$bXz+I zJg|45En^Jy7>Y?XZzG$EDkiW2(#fLT>-cIhLX~+{ybr_-MV3`iPlTFwsx#G2#-RsD zF%+f^j^jv432~y_$ctM^p5;V_RTz$?Sx)6xm1oJyLt$&4nN!nRqGAi5B2+g*uF5cl zLLpRW3_&l?aEhWZEYI*fjWuY$H;KR%?0S8ZzhezeW z>vN~^n2jX0Xr}lw`)g{d`9XVa>!NtW;6T@B|0KD#n8n3*K% zhYsFtXx*2)&I%nLMqf?dzOn4uikgpao_rp?THo4kf2!fx_^pfgxb3OB!Q9(_L4WfI6HkvFPb}HB kls$9v0=82Bo!EYO9^t)PKh`hr{~7!;k}Yl8%~;pb--XJF3IG5A literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xhdpi/map_start_point.png b/OsmAnd/res/drawable-xhdpi/map_start_point.png new file mode 100644 index 0000000000000000000000000000000000000000..83a4bfd0750cec7354724da46665d12757c3154f GIT binary patch literal 1955 zcmbVNYg7|w8m6UyMT(cjQ*@~eqs0hKGBae7Olkx|0;I^Lgkp-YGGrzYB$+TXA;C+# z3hs&x(F0Vma*^e_LRkf?_0nT4=P06O3zwxn)HY! zs2mbd8}VE+mBfkS!pr134-d~GLz$0YiXArew240Sg{0# zRcLgyQlgMbl!!u#Dq|4Iysz5Cu((M_&c`-zvFCinzv(NBp-G&j=roEdnD2s=Jc^~5 zJjx8j#LQM5;B7RR2+GQ=b(iVMsg)#cC?bhinlb{jd6pTTp#c}^C74u<@}<%oDIX_9 zBwvc41Ro+02@*l*@f-pM=lqHPH-AD-l+fKQ|IIN zdR#O&fjw$vbehdMk(Cv%!2{pvAFhcU%wWh~L6hH1NW;Rxq9x1NN=4v6R;kK6HLGfg z*7_zppn5mpDhQ5;t!i2ra`f!#ro*wSfpdX-GqA_QA9UWTxp9Bu!C*mB_mPPDmsj4q zwSDB#cg5Rp)Gzv6toq8*r(ZvE@4d%gd}gjb_`N;+le$S}c>5ysVej6ehF`G1PGxQ@ z@`ee=Cf=pQL#?!3Ra=|9Ho$kF?)uHlvE7PSU{%(hp7C*>*YnS1gy}ciyWg6+oLMyT zYkq#m($^Yy2JQExqdtE(!SNR!u%_}_D_%-R`B#;c`qBHD{mkNYz-RQ2ZcO$#b0kQ# zGsVC6ISlY=4jPTZc&-KErOQ6^#l2j>*b`7&dW!!W56^e2zIvnMT)%f(dl0(K`=ee>tMq}O(B_)W zNr(gadg?X>71k}$pMXu!3>`YgTl@Njp5&^TN!_Xbw-mWyegDRX&e*ZIABge}^m4$+ zKEL5BKQ~|NY?^!^Xna#J5zc73t?1C1y=sY~ta@Auq1wperI=;+AD7lA)tef^7SdsE%%{<5ia<(s|G4f+q;EADmr zX$BvyT=CV3*oZ~n9H+Il2QCavFYDf;zMZWYZ2QOKF`p9omm`tc_S)_Iiue^%T}jt} zZ27tK&L3K8yJ&4$Kxm+&p?0Y1Z(*9z)erQpi>qENpL}&{+{^Xr_a7$&w|e%yfEmSM zC)+35->|oczhuL93>)_*^q=aYcOiMfK_3jf*b0P9m-twmR%c7OCS)-E(>C?Ryf`qd zL3ee{w4wgQC%e)&I;xE4&lMj#U9lqlbneu3d-v8g&)ux(}gYKwDEzS{TF z?*ipKfHLC%O<^)CQZ|nJFA6kb|-gBZgoJlv(8VS11tC4lM&C#H( zf@=wS$*Hki0i=)*fyBlcQxF6otE?a?QBisnh`b@kl7le#P z1x?`uO*~z?g5%|K%fxQb2^0w#*DyRzV0q4Q!h5x~16+jvyRo8nP@3@|SA+qY@=cPD z>h>;}#P05fLPg?@w%4~wQjAF*nNtpQaaK>zipjFf$GSW#;fIrQD#oWW!6UYOpR6Fb7;ZfVQP(64gOw-b>b?DpE(8~D80qrpafwlsiozIH3^Ix+SqyK9vKY0hM#U274&J)g_;JK3E-aQiil@6pDl%Ly zw*nECn+dw4gM88||GbjFMcQmJt0zm1YkysTqwnLwrdeZW^Zv})h4NSBHxKr|A31SI zIM!c&=j4O6>GN=*y#Dm`FNdE?CL_;&bFTGd{-DzO;LMSa=5}OvH=o+P3JlFszb;%p z-~aA+XHH-J@#T%bH_!gNsPf5~Q}eZbZ|}Z(W&ZeuuW$0B554fkZ{PNOzwp?ngHm#v zKwztSBE9Rt(n!Py)`eU|9GQJ_@#fyv=bv1OoSg4}?WI$HUfX)$`Pbvo8_u4>Ppx@$ zJw4vmy#vu98|sPt@#PP<*^Nh^*>J11`t}f<3r}9XbSSck0zYr?I4X=nAOo@#JPFQN z=P+v^h-)7!1l(g?JlL@zYzhZuVUDClQy~L90AwMfd7=DpYP1<@(JmEQ%a1WA83cN69=kJF3;okxUg$xtT3d7)xuoxasey>IC zaL^6-FO45+hkL|?0T?$RTo55-L-`2Uv;>A?_xFzEiVz#>b|Du^3M-T$U`Ox(KIp(O zLqT7RI9v{uh&92J05%zIOvd5S9JUD=O)()5(Ex=^!4phKBofwS$VNHRxw_s1KiBZW^+|$hWN2oP$(HHp z-Ssca7$|kFkB_ujY(M5|9+JSGEU2pT?Ck2=tZ~$V$16>w>jud1`d(|Q-p$cke8=Ys z(yNhV6(r2Wi z>~!fmIVz$=bH>Or1hf+(a#rW8rofp4`g9#dX!Ag+J{Ojx-=eNAMyUOD+W2fs8cKMw4vmN6bOe^-}-rcWgeKH4pJ9d3%aV2fv>nsC8uzF0vO}B%T2X~VX zEWEyDbG|9q%kjh1c8M6XodGnZoT>8-&1du5BJ&i-mrGSFM-$Pl0Y|;xM;wU1MJsjL zLF_oHmB~RS-C~-xP29_JzE+v*_@~ym*tqf1yesWuf0cg8l%+7GXuDn`y}N2Tw{ca+ z+a}TDx3ljGB_~3;XSbz=2BHdmIIlpP zJUewp_xQR&WrgPhdhORz46~ek%8Xg(%i|Oh3Y%+_;-8a=lH(!$UHfiKCD3SN&K2Y5 zONzy50X-gXY}u@shF{_=S?wR)p3E&mb`Zj^27#y&hwitxR0jq{42$b?D=TExB8dCSa(`RTZ)djH?e+O{=ieeJn&9RIh0N3@=^1t?f?zT6`#s%Nd4oCCf92ks@bg`; zbX5}<3a;xPi%HpExJ@r&^Eq*mhudrCb0;siNQ76`=T^@2M;&-jLtC(&>`+Su8yki; zDo5($8IS*2Keo<5v?XVlKBk;^&=LHny!MbEL6uA?8&V9c#1#;+3wWpC+6*wbGyf&-*E< z*0a;3N^3!?y1kGPGGeOwZyIxlcg=VvPh1?jr+i4v6|#L&B$0*|hAOA{SrUz@YhA;! zVymA%{FW-4n>>vPM;GS?t^hiGrJV6Tz3lEwvo~(HxRfDagGS!#Z;ls^In>49GO2Ls z4GM1czdN;Zt0)C-wEj%XvetMF)KsKqW<+*R8)>4X<`}|s?Iwkc@@Fy$C$d=!U7YsN zJ%aGW$M^20x=R=ZgSgE4*^jr!QX7Y^1ij9C9DKF>nWs{LreEd0FXGPnZi=sm@y;P9 zcvIl3PnV{!&{npi`+m62oGPWFeAD--7TKJOwSP1$C1zeN?+=JqeB zB)cAbq(IzrHn2m&tZ{6ZJzmBGKIhL?bZTf-WshRi3ur-=Qg+{)-a?{dsY7XR&un3O zbLJ6om`hDZ*UE}}l?=B}d+>d4Bm?UmbD!Q({0Ge6kkBgI)sZ3pYjd!1VO*j69sCc` Cq*SH= literal 0 HcmV?d00001 From 630339029f7d36bc71ec5bba2d758950bf4470a1 Mon Sep 17 00:00:00 2001 From: jan madsen Date: Wed, 20 Jan 2016 10:25:16 +0100 Subject: [PATCH 57/67] Translated using Weblate (Danish) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-da/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 18233e3796..e6e5462264 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -2203,7 +2203,7 @@ Opdateringstidspunkt -Opdateringer: %s +Opdateringsstørrelse Sidste kortændring: %s Optagelse automatisk opdelt "Brug automatisk opdeling" @@ -2211,7 +2211,7 @@ Kliplængde Længden af hver optaget klip bliver ikke længere end det angivne tidsinterval Lagerplads - Lagerplads, der kan være bruges af alle optagne klip + Lagerplads, der kan bruges af alle optagne klip Time Daglig Ugentlig From 0accd7c6f3120cdcd820c1ff0ada9b1a388f6ef0 Mon Sep 17 00:00:00 2001 From: Adriano Rosa Date: Wed, 20 Jan 2016 13:04:35 +0100 Subject: [PATCH 58/67] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (2391 of 2391 strings) --- OsmAnd/res/values-pt-rBR/phrases.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/OsmAnd/res/values-pt-rBR/phrases.xml b/OsmAnd/res/values-pt-rBR/phrases.xml index c647bf2521..2628ee72cd 100644 --- a/OsmAnd/res/values-pt-rBR/phrases.xml +++ b/OsmAnd/res/values-pt-rBR/phrases.xml @@ -2612,4 +2612,18 @@ Pira Gabinete de rua +Comércio justo: sim + Comércio justo: não + Somento produtos de comércio justo + + Hóquei no gelo + Bandy + + Área protegida + Tipo de proteção + Objeto de proteção: histórico + Objeto de proteção: natureza + Objeto de proteção: habitat + Objeto de proteção: água + From c1641b1022e8ad79fda4fd0a3e19a999b73fd9bd Mon Sep 17 00:00:00 2001 From: Adriano Rosa Date: Wed, 20 Jan 2016 13:11:52 +0100 Subject: [PATCH 59/67] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (1887 of 1887 strings) --- OsmAnd/res/values-pt-rBR/strings.xml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index 730e252cc1..cad88d764a 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -775,7 +775,7 @@ Áudio/vídeo está sendo gravado. Para parar toque o widget AV. Reproduzindo áudio da gravação especificada.\n%1$s Abrir reprodutor externo - Quer apagar esta gravação? + Você quer excluir esta gravação? Indisponível Tomar uma nota de áudio @@ -803,7 +803,7 @@ Esconder limites regionais (níveis administrativos 5-9) Destino %1$s - Destino %1$s + Destino intermediário %1$s Destino intermediário Usar bússola Evitar auto-estradas @@ -950,7 +950,7 @@ Alerta Notificação para buscar seu carro foi adicionada ao seu calendário. Ela permanecerá até que você a apague manualmente. Definir o limite de tempo de estacionamento - Remover o local de estacionamento? + Você quer apagar o marcardor da posição de estacionamento? Apagar um marcador de estacionamento Escolher o tipo de estacionamento Tempo ilimitado @@ -1563,7 +1563,7 @@ Pesquisar endereço Escolher número Escolher rua - Escolher cidade + Escolher cidade ou código postal Escolher país Mostrar ângulo de visão Ativar a visualização em 3D do mapa @@ -1988,7 +1988,7 @@ Selecione o mês e o país Tipo Ponto de partida - Item apagado + Item excluído itens apagados DESFAZER TUDO Ocultar ícones dos POIs @@ -1996,4 +1996,9 @@ Número de contribuidores Número de edições Relatório para: - +Excluir + Você pode excluir atualizações baixadas e voltar para a versão original do mapa + Adicionar intervalo de tempo + Estrada bloqueada + Selecionar + From 9b15e14868f94da8ba369d78350a7e72e6dfd334 Mon Sep 17 00:00:00 2001 From: xmd5a Date: Wed, 20 Jan 2016 15:17:27 +0300 Subject: [PATCH 60/67] Update ru strings --- OsmAnd/res/values-ru/strings.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/OsmAnd/res/values-ru/strings.xml b/OsmAnd/res/values-ru/strings.xml index 2d89d18fd6..13877b4b53 100644 --- a/OsmAnd/res/values-ru/strings.xml +++ b/OsmAnd/res/values-ru/strings.xml @@ -1896,4 +1896,10 @@ Количество правок Ночь Утро + Объём памяти, который может быть занят всеми видеоклипами + Продолжительность видеоклипа + Продолжительность каждого записанного клипа не будет больше выбранного значения + Разбиение на клипы + Использовать разбиение на клипы + Циклическая перезапись клипов при превышении заданного объема хранилища From 8f16c9c4d60d6ba6a4e6cafdbc07718816b98baf Mon Sep 17 00:00:00 2001 From: jf-simon Date: Wed, 20 Jan 2016 13:03:55 +0100 Subject: [PATCH 61/67] Translated using Weblate (German) Currently translated at 99.9% (2389 of 2391 strings) --- OsmAnd/res/values-de/phrases.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OsmAnd/res/values-de/phrases.xml b/OsmAnd/res/values-de/phrases.xml index 5d33b94bd9..75c1450ffa 100644 --- a/OsmAnd/res/values-de/phrases.xml +++ b/OsmAnd/res/values-de/phrases.xml @@ -2578,4 +2578,9 @@ Eishockey Bandy +Geschütztes Gebiet + Geschütztes Objekt: historisch + Geschütztes Objekt: Natur + Geschütztes Objekt: Wasser + From 4738ec6e9e2692b5e12287ca8a44bdbd1c2680f6 Mon Sep 17 00:00:00 2001 From: jan madsen Date: Wed, 20 Jan 2016 13:24:33 +0100 Subject: [PATCH 62/67] Translated using Weblate (Danish) Currently translated at 100.0% (2391 of 2391 strings) --- OsmAnd/res/values-da/phrases.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/OsmAnd/res/values-da/phrases.xml b/OsmAnd/res/values-da/phrases.xml index 41bb848cb7..02d1273f0f 100644 --- a/OsmAnd/res/values-da/phrases.xml +++ b/OsmAnd/res/values-da/phrases.xml @@ -2652,4 +2652,11 @@ Ishockey Bandy +Beskyttet område + Beskyttet titel + Beskyttet objekt: historisk + Beskyttet objekt: natur + Beskyttet objekt: levested + Beskyttet objekt: vand + From 8841ad343b4978baf4d8b9e4bf7f03db85d701c7 Mon Sep 17 00:00:00 2001 From: GaidamakUA Date: Wed, 20 Jan 2016 15:45:59 +0200 Subject: [PATCH 63/67] Validating live updates alarms on start. --- .../src/net/osmand/plus/AppInitializer.java | 126 ++++++++++++------ .../plus/liveupdates/LiveUpdatesHelper.java | 26 ++-- .../LiveUpdatesSettingsDialogFragment.java | 10 +- 3 files changed, 101 insertions(+), 61 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/AppInitializer.java b/OsmAnd/src/net/osmand/plus/AppInitializer.java index 577da3300e..a3c097fd49 100644 --- a/OsmAnd/src/net/osmand/plus/AppInitializer.java +++ b/OsmAnd/src/net/osmand/plus/AppInitializer.java @@ -1,6 +1,8 @@ package net.osmand.plus; import android.app.Activity; +import android.app.AlarmManager; +import android.app.PendingIntent; import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; @@ -18,10 +20,14 @@ import net.osmand.map.WorldRegion; import net.osmand.osm.AbstractPoiType; import net.osmand.osm.MapPoiTypes; import net.osmand.plus.activities.DayNightHelper; +import net.osmand.plus.activities.LocalIndexHelper; +import net.osmand.plus.activities.LocalIndexInfo; import net.osmand.plus.activities.SavingTrackHelper; import net.osmand.plus.download.DownloadActivity; +import net.osmand.plus.download.ui.AbstractLoadLocalIndexTask; import net.osmand.plus.helpers.AvoidSpecificRoads; import net.osmand.plus.helpers.WaypointHelper; +import net.osmand.plus.liveupdates.LiveUpdatesHelper; import net.osmand.plus.monitoring.LiveMonitoringHelper; import net.osmand.plus.poi.PoiFiltersHelper; import net.osmand.plus.render.MapRenderRepositories; @@ -51,6 +57,14 @@ import java.util.Random; import btools.routingapp.BRouterServiceConnection; +import static net.osmand.plus.liveupdates.LiveUpdatesHelper.getPendingIntent; +import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceLastCheck; +import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceLiveUpdatesOn; +import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceTimeOfDayToUpdate; +import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceUpdateFrequency; +import static net.osmand.plus.liveupdates.LiveUpdatesHelper.runLiveUpdate; +import static net.osmand.plus.liveupdates.LiveUpdatesHelper.setAlarmForPendingIntent; + /** */ public class AppInitializer implements IProgress { @@ -58,7 +72,7 @@ public class AppInitializer implements IProgress { private static final int VERSION_2_2 = 22; private static final int CURRENT_VERSION_FOR_UGPRADE = VERSION_2_2; - + public static final boolean TIPS_AND_TRICKS = false; private static final String FIRST_TIME_APP_RUN = "FIRST_TIME_APP_RUN"; //$NON-NLS-1$ private static final String VERSION_INSTALLED_NUMBER = "VERSION_INSTALLED_NUMBER"; //$NON-NLS-1$ @@ -74,7 +88,7 @@ public class AppInitializer implements IProgress { public static final String APP_EXIT_KEY = "APP_EXIT_KEY"; private OsmandApplication app; private static final org.apache.commons.logging.Log LOG = PlatformUtil.getLog(AppInitializer.class); - + private boolean initSettings = false; private boolean firstTime; private boolean activityChangesShowed = false; @@ -86,36 +100,36 @@ public class AppInitializer implements IProgress { private String taskName; private List listeners = new ArrayList<>(); private SharedPreferences startPrefs; - + public enum InitEvents { FAVORITES_INITIALIZED, NATIVE_INITIALIZED, NATIVE_OPEN_GLINITIALIZED, TASK_CHANGED, MAPS_INITIALIZED, POI_TYPES_INITIALIZED, ASSETS_COPIED, INIT_RENDERERS, RESTORE_BACKUPS, INDEX_REGION_BOUNDARIES, SAVE_GPX_TRACKS, LOAD_GPX_TRACKS } - + public interface AppInitializeListener { - + void onProgress(AppInitializer init, InitEvents event); - + void onFinish(AppInitializer init); } - - + + public AppInitializer(OsmandApplication app) { this.app = app; } - - + + public List getWarnings() { return warnings; } - + public boolean isAppInitializing() { return appInitializing; } - - + + private void initUiVars(Activity activity) { if(initSettings) { return; @@ -146,27 +160,27 @@ public class AppInitializer implements IProgress { } initSettings = true; } - + public int getNumberOfStarts() { if(startPrefs == null) { return 0; } return startPrefs.getInt(NUMBER_OF_STARTS, 1); } - + public long getFirstInstalled() { if(startPrefs == null) { return 0; } return startPrefs.getLong(FIRST_INSTALLED, 0); } - + public void resetFirstTimeRun() { if(startPrefs != null) { startPrefs.edit().remove(FIRST_TIME_APP_RUN).commit(); } } - + public boolean isFirstTime(Activity activity) { initUiVars(activity); return firstTime; @@ -184,10 +198,10 @@ public class AppInitializer implements IProgress { return false; } - + private void checkMapUpdates() { long diff = System.currentTimeMillis() - app.getSettings().LAST_CHECKED_UPDATES.get(); - if(diff >= 2 * 24 * 60 * 60l && new Random().nextInt(5) == 0 && + if(diff >= 2 * 24 * 60 * 60l && new Random().nextInt(5) == 0 && app.getSettings().isInternetConnectionAvailable()) { app.getDownloadThread().runReloadIndexFiles(); } else if(Version.isDeveloperVersion(app)) { @@ -259,7 +273,7 @@ public class AppInitializer implements IProgress { new FileOutputStream(file)); } app.regions.prepareFile(file.getAbsolutePath()); - + } } catch (Exception e) { warnings.add(e.getMessage()); @@ -267,7 +281,7 @@ public class AppInitializer implements IProgress { } } - + private void initPoiTypes() { if(app.getAppPath("poi_types.xml").exists()) { app.poiTypes.init(app.getAppPath("poi_types.xml").getAbsolutePath()); @@ -275,8 +289,8 @@ public class AppInitializer implements IProgress { app.poiTypes.init(); } app.poiTypes.setPoiTranslator(new MapPoiTypes.PoiTranslator() { - - + + @Override public String getTranslation(AbstractPoiType type) { if(type.getBaseLangType() != null) { @@ -297,7 +311,6 @@ public class AppInitializer implements IProgress { } - public void onCreateApplication() { // always update application mode to default OsmandSettings osmandSettings = app.getSettings(); @@ -311,7 +324,7 @@ public class AppInitializer implements IProgress { e.printStackTrace(); } app.applyTheme(app); - app.poiTypes = startupInit(MapPoiTypes.getDefaultNoInit(), MapPoiTypes.class); + app.poiTypes = startupInit(MapPoiTypes.getDefaultNoInit(), MapPoiTypes.class); app.routingHelper = startupInit(new RoutingHelper(app), RoutingHelper.class); app.resourceManager = startupInit(new ResourceManager(app), ResourceManager.class); app.daynightHelper = startupInit(new DayNightHelper(app), DayNightHelper.class); @@ -333,7 +346,7 @@ public class AppInitializer implements IProgress { private void updateRegionVars() { app.regions.setTranslator(new RegionTranslation() { - + @Override public String getTranslation(String id) { if(WorldRegion.AFRICA_REGION_ID.equals(id)){ @@ -360,7 +373,6 @@ public class AppInitializer implements IProgress { } - private T startupInit(T object, Class class1) { long t = System.currentTimeMillis(); if(t - startTime > 7) { @@ -371,7 +383,6 @@ public class AppInitializer implements IProgress { } - public net.osmand.router.RoutingConfiguration.Builder getLazyDefaultRoutingConfig() { long tm = System.currentTimeMillis(); try { @@ -392,7 +403,7 @@ public class AppInitializer implements IProgress { } } } - + @@ -400,7 +411,7 @@ public class AppInitializer implements IProgress { final ProgressDialog dlg = showDialog ? ProgressDialog.show(uiContext, app.getString(R.string.loading_data), app.getString(R.string.voice_data_initializing)) : null; new Thread(new Runnable() { - + public CommandPlayer createCommandPlayer(String voiceProvider, OsmandApplication osmandApplication, Activity ctx) throws CommandPlayerException { if (voiceProvider != null) { @@ -442,7 +453,7 @@ public class AppInitializer implements IProgress { } }).start(); } - + private void startApplicationBackground() { try { startBgTime = System.currentTimeMillis(); @@ -452,7 +463,7 @@ public class AppInitializer implements IProgress { initPoiTypes(); notifyEvent(InitEvents.POI_TYPES_INITIALIZED); app.resourceManager.reloadIndexesOnStart(this, warnings); - + app.getRendererRegistry().initRenderers(this); notifyEvent(InitEvents.INIT_RENDERERS); // native depends on renderers @@ -460,7 +471,7 @@ public class AppInitializer implements IProgress { notifyEvent(InitEvents.NATIVE_INITIALIZED); app.poiFilters.reloadAllPoiFilters(); - notifyEvent(InitEvents.POI_TYPES_INITIALIZED); + notifyEvent(InitEvents.POI_TYPES_INITIALIZED); indexRegionsBoundaries(warnings); notifyEvent(InitEvents.INDEX_REGION_BOUNDARIES); app.selectedGpxHelper.loadGPXTracks(this); @@ -470,6 +481,8 @@ public class AppInitializer implements IProgress { // restore backuped favorites to normal file restoreBackupForFavoritesFiles(); notifyEvent(InitEvents.RESTORE_BACKUPS); + checkLiveUpdatesAlerts(); + LocalIndexHelper helper = new LocalIndexHelper(app); } catch (RuntimeException e) { e.printStackTrace(); warnings.add(e.getMessage()); @@ -482,9 +495,37 @@ public class AppInitializer implements IProgress { } } + private void checkLiveUpdatesAlerts() { + OsmandSettings settings = app.getSettings(); + if (!settings.IS_LIVE_UPDATES_ON.get()) { + return; + } + LocalIndexHelper helper = new LocalIndexHelper(app); + List fullMaps = helper.getLocalFullMaps(new AbstractLoadLocalIndexTask() { + @Override + public void loadFile(LocalIndexInfo... loaded) { + } + }); + AlarmManager alarmMgr = (AlarmManager) app.getSystemService(Context.ALARM_SERVICE); + for (LocalIndexInfo fullMap : fullMaps) { + if (!preferenceLiveUpdatesOn(fullMap, settings).get()) { + continue; + } + int updateFrequencyOrd = preferenceUpdateFrequency(fullMap, settings).get(); + LiveUpdatesHelper.UpdateFrequency updateFrequency = + LiveUpdatesHelper.UpdateFrequency.values()[updateFrequencyOrd]; + long lastCheck = preferenceLastCheck(fullMap, settings).get(); - - + if (System.currentTimeMillis() - lastCheck > updateFrequency.getTime() * 2) { + runLiveUpdate(app, fullMap, false); + PendingIntent alarmIntent = getPendingIntent(app, fullMap); + int timeOfDayOrd = preferenceTimeOfDayToUpdate(fullMap, settings).get(); + LiveUpdatesHelper.TimeOfDay timeOfDayToUpdate = + LiveUpdatesHelper.TimeOfDay.values()[timeOfDayOrd]; + setAlarmForPendingIntent(alarmIntent, alarmMgr, updateFrequency, timeOfDayToUpdate); + } + } + } private void restoreBackupForFavoritesFiles() { final File appDir = app.getAppPath(null); @@ -555,12 +596,12 @@ public class AppInitializer implements IProgress { File ls = app.getAppPath("fonts"); lib.loadFontData(ls); } - + } app.getResourceManager().initMapBoundariesCacheNative(); } } - + private StringBuilder formatWarnings(List warnings) { final StringBuilder b = new StringBuilder(); @@ -579,7 +620,7 @@ public class AppInitializer implements IProgress { public void notifyFinish() { app.uiHandler.post(new Runnable() { - + @Override public void run() { for(AppInitializeListener l : listeners) { @@ -595,11 +636,11 @@ public class AppInitializer implements IProgress { startBgTime = time; } app.uiHandler.post(new Runnable() { - + @Override public void run() { for(AppInitializeListener l : listeners) { - l.onProgress(AppInitializer.this, event); + l.onProgress(AppInitializer.this, event); } } }); @@ -634,7 +675,7 @@ public class AppInitializer implements IProgress { taskName = null; notifyEvent(InitEvents.TASK_CHANGED); } - + public String getCurrentInitTaskName() { return taskName; } @@ -653,7 +694,7 @@ public class AppInitializer implements IProgress { private boolean applicationBgInitializing = false; - + public synchronized void startApplication() { if (applicationBgInitializing) { @@ -686,5 +727,4 @@ public class AppInitializer implements IProgress { } - } diff --git a/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesHelper.java b/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesHelper.java index 9f445e6132..a55e9a788c 100644 --- a/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesHelper.java +++ b/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesHelper.java @@ -90,26 +90,20 @@ public class LiveUpdatesHelper { public static void setAlarmForPendingIntent(PendingIntent alarmIntent, AlarmManager alarmMgr, UpdateFrequency updateFrequency, TimeOfDay timeOfDayToUpdate) { long timeOfFirstUpdate; - long updateInterval; switch (updateFrequency) { case HOURLY: timeOfFirstUpdate = System.currentTimeMillis() + SHIFT; - updateInterval = AlarmManager.INTERVAL_HOUR; break; case DAILY: - timeOfFirstUpdate = getNextUpdateTime(timeOfDayToUpdate); - updateInterval = AlarmManager.INTERVAL_DAY; - break; case WEEKLY: timeOfFirstUpdate = getNextUpdateTime(timeOfDayToUpdate); - updateInterval = AlarmManager.INTERVAL_DAY * 7; break; default: throw new IllegalStateException("Unexpected update frequency:" + updateFrequency); } alarmMgr.setInexactRepeating(AlarmManager.RTC, - timeOfFirstUpdate, updateInterval, alarmIntent); + timeOfFirstUpdate, updateFrequency.getTime(), alarmIntent); } private static long getNextUpdateTime(TimeOfDay timeOfDayToUpdate) { @@ -145,17 +139,27 @@ public class LiveUpdatesHelper { } public static enum UpdateFrequency { - HOURLY(R.string.hourly), - DAILY(R.string.daily), - WEEKLY(R.string.weekly); + HOURLY(R.string.hourly, AlarmManager.INTERVAL_HOUR), + DAILY(R.string.daily, AlarmManager.INTERVAL_DAY), + WEEKLY(R.string.weekly, AlarmManager.INTERVAL_DAY * 7); private final int localizedId; + private final long time; - UpdateFrequency(int localizedId) { + UpdateFrequency(int localizedId, long time) { this.localizedId = localizedId; + this.time = time; } public int getLocalizedId() { return localizedId; } + public long getTime() { + return time; + } + } + + public static void runLiveUpdate(Context context, final LocalIndexInfo info, boolean forceUpdate) { + final String fnExt = Algorithms.getFileNameWithoutExtension(new File(info.getFileName())); + new PerformLiveUpdateAsyncTask(context, info, forceUpdate).execute(new String[]{fnExt}); } } diff --git a/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesSettingsDialogFragment.java b/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesSettingsDialogFragment.java index f21eda71ac..32fa16bea7 100644 --- a/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesSettingsDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesSettingsDialogFragment.java @@ -43,6 +43,7 @@ import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceForLocalIn import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceLastCheck; import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceTimeOfDayToUpdate; import static net.osmand.plus.liveupdates.LiveUpdatesHelper.preferenceUpdateFrequency; +import static net.osmand.plus.liveupdates.LiveUpdatesHelper.runLiveUpdate; import static net.osmand.plus.liveupdates.LiveUpdatesHelper.setAlarmForPendingIntent; public class LiveUpdatesSettingsDialogFragment extends DialogFragment { @@ -158,7 +159,7 @@ public class LiveUpdatesSettingsDialogFragment extends DialogFragment { timeOfDayPreference.set(timeOfDayInt); if (liveUpdatesSwitch.isChecked() && getSettings().IS_LIVE_UPDATES_ON.get()) { - runLiveUpdate(localIndexInfo, false); + runLiveUpdate(getActivity(), localIndexInfo, false); UpdateFrequency updateFrequency = UpdateFrequency.values()[updateFrequencyInt]; TimeOfDay timeOfDayToUpdate = TimeOfDay.values()[timeOfDayInt]; setAlarmForPendingIntent(alarmIntent, alarmMgr, updateFrequency, timeOfDayToUpdate); @@ -172,18 +173,13 @@ public class LiveUpdatesSettingsDialogFragment extends DialogFragment { .setNeutralButton(R.string.update_now, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - runLiveUpdate(localIndexInfo, true); + runLiveUpdate(getActivity(), localIndexInfo, true); sizeTextView.setText(getUpdatesSize(fileNameWithoutExtension, changesManager)); } }); return builder.create(); } - void runLiveUpdate(final LocalIndexInfo info, boolean forceUpdate) { - final String fnExt = Algorithms.getFileNameWithoutExtension(new File(info.getFileName())); - new PerformLiveUpdateAsyncTask(getActivity(), info, forceUpdate).execute(new String[]{fnExt}); - } - private static String getUpdatesSize(String fileNameWithoutExtension, IncrementalChangesManager changesManager) { String size; From 1d0f853a22e49365020fe3860a81762dd1475090 Mon Sep 17 00:00:00 2001 From: jf-simon Date: Wed, 20 Jan 2016 13:51:46 +0100 Subject: [PATCH 64/67] Translated using Weblate (German) Currently translated at 99.9% (2390 of 2391 strings) --- OsmAnd/res/values-de/phrases.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-de/phrases.xml b/OsmAnd/res/values-de/phrases.xml index 75c1450ffa..d53691b305 100644 --- a/OsmAnd/res/values-de/phrases.xml +++ b/OsmAnd/res/values-de/phrases.xml @@ -2583,4 +2583,5 @@ Geschütztes Objekt: Natur Geschütztes Objekt: Wasser - +Geschütztes Objekt: Lebensraum + From 8c25a0173df5b83a9d595a59abf96d33318ae203 Mon Sep 17 00:00:00 2001 From: GaidamakUA Date: Wed, 20 Jan 2016 15:58:20 +0200 Subject: [PATCH 65/67] Cross now closes SearchSelectionDialog. --- .../net/osmand/plus/liveupdates/SearchSelectionFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/liveupdates/SearchSelectionFragment.java b/OsmAnd/src/net/osmand/plus/liveupdates/SearchSelectionFragment.java index c650d6b8c9..b9272cf6e9 100644 --- a/OsmAnd/src/net/osmand/plus/liveupdates/SearchSelectionFragment.java +++ b/OsmAnd/src/net/osmand/plus/liveupdates/SearchSelectionFragment.java @@ -62,7 +62,7 @@ public abstract class SearchSelectionFragment extends BaseOsmAndDialogFragment { clearButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - searchEditText.setText(null); + dismiss(); } }); return view; From 34debe81c64887a85d39dd8eeafa20c445b358cd Mon Sep 17 00:00:00 2001 From: GaidamakUA Date: Wed, 20 Jan 2016 18:53:17 +0200 Subject: [PATCH 66/67] Double tap slide zoom implementing in progress. --- .../plus/views/DoubleTapScaleDetector.java | 85 +++++++++++++++++++ .../osmand/plus/views/OsmandMapTileView.java | 17 ++-- 2 files changed, 94 insertions(+), 8 deletions(-) create mode 100644 OsmAnd/src/net/osmand/plus/views/DoubleTapScaleDetector.java diff --git a/OsmAnd/src/net/osmand/plus/views/DoubleTapScaleDetector.java b/OsmAnd/src/net/osmand/plus/views/DoubleTapScaleDetector.java new file mode 100644 index 0000000000..5e2c8c7847 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/views/DoubleTapScaleDetector.java @@ -0,0 +1,85 @@ +package net.osmand.plus.views; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.PointF; +import android.util.DisplayMetrics; +import android.view.MotionEvent; +import android.view.ViewConfiguration; + +import net.osmand.PlatformUtil; + +import org.apache.commons.logging.Log; + +public class DoubleTapScaleDetector { + private static final Log LOG = PlatformUtil.getLog(DoubleTapScaleDetector.class); + private static final int DOUBLE_TAPPING_DELTA = ViewConfiguration.getTapTimeout() + 100; + private static final int DP_PER_1X = 100; + + private final DoubleTapZoomListener listener; + protected final Context ctx; + + private long startTime = 0; + private boolean isDoubleTapping = false; + private float startX; + private float startY; + + public DoubleTapScaleDetector(Context ctx, DoubleTapZoomListener listener) { + this.ctx = ctx; + this.listener = listener; + } + + public boolean onTouchEvent(MotionEvent event) { + if (event.getPointerCount() != 1) { + return false; + } + long currentTime = System.currentTimeMillis(); + if (event.getAction() == MotionEvent.ACTION_UP) { + if (isDoubleTapping) { + isDoubleTapping = false; + listener.onZoomEnded(1, 0); + return true; + } else { + startTime = currentTime; + return true; + } + } else if (event.getAction() == MotionEvent.ACTION_DOWN && !isDoubleTapping + && currentTime - startTime < DOUBLE_TAPPING_DELTA) { + isDoubleTapping = true; + startX = event.getX(); + startY = event.getY(); + listener.onGestureInit(startX, startY, startX, startY); + listener.onZoomStarted(new PointF(startX, startY)); + return true; + } else if (event.getAction() == MotionEvent.ACTION_MOVE) { + if (isDoubleTapping) { + float delta = convertPxToDp((int) (startY - event.getY())); + float scaleDelta = delta / DP_PER_1X; + float scale = 1 - scaleDelta; + listener.onZoomingOrRotating(scale, 0); + return true; + } else { + return false; + } + } + return false; + } + + public boolean isInZoomMode() { + return isDoubleTapping; + } + + private int convertPxToDp(int px) { + return Math.round(px / (Resources.getSystem().getDisplayMetrics().xdpi / DisplayMetrics.DENSITY_DEFAULT)); + } + + public interface DoubleTapZoomListener { + public void onZoomStarted(PointF centerPoint); + + public void onZoomingOrRotating(double relativeToStart, float angle); + + public void onZoomEnded(double relativeToStart, float angleRelative); + + public void onGestureInit(float x1, float y1, float x2, float y2); + } +} diff --git a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java index 13c11caac5..bc8403d9bf 100644 --- a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java +++ b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java @@ -161,7 +161,7 @@ public class OsmandMapTileView implements IMapDownloaderCallback { private Paint paintImg; private boolean afterTwoFingerTap = false; - private ScaleGestureDetector scaleDetector; + private DoubleTapScaleDetector doubleTapScaleDetector; TwoFingerTapDetector twoFingerTapDetector = new TwoFingerTapDetector() { @Override public void onTwoFingerTap() { @@ -211,9 +211,9 @@ public class OsmandMapTileView implements IMapDownloaderCallback { handler = new Handler(); baseHandler = new Handler(application.getResourceManager().getRenderingBufferImageThread().getLooper()); animatedDraggingThread = new AnimateDraggingMapThread(this); - scaleDetector = new ScaleGestureDetector(ctx, new MapOnScaleGestureListener()); gestureDetector = new GestureDetector(ctx, new MapExplorer(this, new MapTileViewOnGestureListener())); multiTouchSupport = new MultiTouchSupport(ctx, new MapTileViewMultiTouchZoomListener()); + doubleTapScaleDetector = new DoubleTapScaleDetector(ctx, new MapTileViewMultiTouchZoomListener()); WindowManager mgr = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE); dm = new DisplayMetrics(); @@ -576,7 +576,7 @@ public class OsmandMapTileView implements IMapDownloaderCallback { } if (showMapPosition || animatedDraggingThread.isAnimatingZoom()) { drawMapPosition(canvas, c.x, c.y); - } else if(multiTouchSupport.isInZoomMode()) { + } else if(multiTouchSupport.isInZoomMode() || doubleTapScaleDetector.isInZoomMode()) { drawMapPosition(canvas, multiTouchSupport.getCenterPoint().x, multiTouchSupport.getCenterPoint().y); } } @@ -758,8 +758,6 @@ public class OsmandMapTileView implements IMapDownloaderCallback { mapRenderer.resumeSymbolsUpdate(); } } -// scaleDetector.onTouchEvent(event); -// if (scaleDetector.isInProgress()) { if (twoFingerTapDetector.onTouchEvent(event)) { return true; } @@ -772,9 +770,11 @@ public class OsmandMapTileView implements IMapDownloaderCallback { return true; } } - if (!multiTouchSupport.onTouchEvent(event)) { + if (!doubleTapScaleDetector.onTouchEvent(event)) { + if (!multiTouchSupport.onTouchEvent(event)) { /* return */ - gestureDetector.onTouchEvent(event); + gestureDetector.onTouchEvent(event); + } } return true; } @@ -825,7 +825,8 @@ public class OsmandMapTileView implements IMapDownloaderCallback { } - private class MapTileViewMultiTouchZoomListener implements MultiTouchZoomListener { + private class MapTileViewMultiTouchZoomListener implements MultiTouchZoomListener, + DoubleTapScaleDetector.DoubleTapZoomListener { private PointF initialMultiTouchCenterPoint; private RotatedTileBox initialViewport; private float x1; From b7a5500070be1be6a278b01840418267276bc0bb Mon Sep 17 00:00:00 2001 From: Franco Date: Wed, 20 Jan 2016 18:13:59 +0100 Subject: [PATCH 67/67] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (2391 of 2391 strings) --- OsmAnd/res/values-es-rAR/phrases.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/OsmAnd/res/values-es-rAR/phrases.xml b/OsmAnd/res/values-es-rAR/phrases.xml index 63c5d47a84..cf16aa461d 100644 --- a/OsmAnd/res/values-es-rAR/phrases.xml +++ b/OsmAnd/res/values-es-rAR/phrases.xml @@ -2624,4 +2624,11 @@ Hockey sobre hielo Bandy +Área protegida + Título de protección + Protección de objeto: Histórico + Protección de objeto: Naturaleza + Protección de objeto: Hábitat + Protección de objeto: Agua +