diff --git a/OsmAnd-java/src/main/java/net/osmand/CollatorStringMatcher.java b/OsmAnd-java/src/main/java/net/osmand/CollatorStringMatcher.java index b8f66f4878c..7e1b23cc9fa 100644 --- a/OsmAnd-java/src/main/java/net/osmand/CollatorStringMatcher.java +++ b/OsmAnd-java/src/main/java/net/osmand/CollatorStringMatcher.java @@ -195,7 +195,7 @@ private static String alignChars(String fullText) { return fullText; } - public static boolean isSpace(char c){ + private static boolean isSpace(char c){ return !Character.isLetter(c) && !Character.isDigit(c); } diff --git a/OsmAnd-java/src/main/java/net/osmand/binary/GeocodingUtilities.java b/OsmAnd-java/src/main/java/net/osmand/binary/GeocodingUtilities.java index f50474769e7..286040ce68d 100644 --- a/OsmAnd-java/src/main/java/net/osmand/binary/GeocodingUtilities.java +++ b/OsmAnd-java/src/main/java/net/osmand/binary/GeocodingUtilities.java @@ -1,6 +1,5 @@ package net.osmand.binary; -import net.osmand.CollatorStringMatcher; import net.osmand.CollatorStringMatcher.StringMatcherMode; import net.osmand.PlatformUtil; import net.osmand.ResultMatcher; @@ -200,7 +199,7 @@ public List prepareStreetName(String s, boolean addCommonWords) { List ls = new ArrayList(); int beginning = 0; for (int i = 1; i < s.length(); i++) { - if (CollatorStringMatcher.isSpace(s.charAt(i))) { + if (Character.isWhitespace(s.charAt(i))) { addWord(ls, s.substring(beginning, i), addCommonWords); beginning = i + 1; } else if (s.charAt(i) == '(') { diff --git a/OsmAnd/res/drawable/ic_action_lanes_outlined.xml b/OsmAnd/res/drawable/ic_action_lanes_outlined.xml new file mode 100644 index 00000000000..58a2ddf9037 --- /dev/null +++ b/OsmAnd/res/drawable/ic_action_lanes_outlined.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/OsmAnd/res/drawable/ic_action_speed_limit.xml b/OsmAnd/res/drawable/ic_action_speed_limit.xml index 41c5acafcf3..bcd50340bcd 100644 --- a/OsmAnd/res/drawable/ic_action_speed_limit.xml +++ b/OsmAnd/res/drawable/ic_action_speed_limit.xml @@ -4,16 +4,15 @@ android:viewportWidth="24" android:viewportHeight="24"> + android:pathData="M9.7499,13.622V14C9.7499,14.6904 9.1903,15.25 8.4999,15.25H7.9999V16.75H8.4999C10.0187,16.75 11.2499,15.5188 11.2499,14V11.5093L11.2499,11.5L11.25,9.5C11.25,8.2574 10.2426,7.25 9,7.25C7.7573,7.25 6.75,8.2573 6.75,9.5V11.5C6.75,12.7427 7.7573,13.75 9,13.75C9.2629,13.75 9.5153,13.7049 9.7499,13.622ZM9.7499,11.5054C9.747,11.9171 9.4124,12.25 9,12.25C8.5857,12.25 8.25,11.9142 8.25,11.5V9.5C8.25,9.0858 8.5857,8.75 9,8.75C9.4142,8.75 9.75,9.0858 9.75,9.5L9.7499,11.5054Z" + android:fillColor="#727272" + android:fillType="evenOdd"/> diff --git a/OsmAnd/res/drawable/ic_action_steep_ascent.xml b/OsmAnd/res/drawable/ic_action_steep_ascent.xml new file mode 100644 index 00000000000..fd6dcfd24e6 --- /dev/null +++ b/OsmAnd/res/drawable/ic_action_steep_ascent.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/OsmAnd/res/drawable/ic_action_uneven_road.xml b/OsmAnd/res/drawable/ic_action_uneven_road.xml new file mode 100644 index 00000000000..3a7644e9892 --- /dev/null +++ b/OsmAnd/res/drawable/ic_action_uneven_road.xml @@ -0,0 +1,13 @@ + + + + diff --git a/OsmAnd/res/values-da/phrases.xml b/OsmAnd/res/values-da/phrases.xml index 8784fe9999b..b0de9b914cf 100644 --- a/OsmAnd/res/values-da/phrases.xml +++ b/OsmAnd/res/values-da/phrases.xml @@ -43,7 +43,7 @@ Møbelforretning Havecenter Flaskegas - Landhandel + Butik Gavebutik Glarmester Værktøj @@ -96,7 +96,7 @@ Branddam Grusbeholder Ambulancestation - SES station + Katastrofe beredskabsstation Nødstilfælde punkt Vadested Bjergpas @@ -118,7 +118,7 @@ Bilsyn Bilvask Tankstation;Benzintank;Servicestation - Ladestation + Opladningsstation;Elektrisk bil opladningsstation;El-bil opladningsstation;Elektrisk opladningspunkt;Opladningspunkt;Elektrisk ladningspunkt;Elektrisk bil forsyninger;Ladestation Kørerampe Trykluft Parkering @@ -133,12 +133,12 @@ Sporvognsstoppested Offentligtransport station Busstation - Banegård - Perron + Banegård:Banegård;Togstation + Jernbaneperron;Togperron Metroindgang - Ja + Ja;Undergrunds station Taxaholdeplads - Lufthavn + Lufthavn;Flyveplads Helikopterlandingsplads Landingsbane Lufthavnsterminal @@ -280,7 +280,7 @@ Hestevæddeløb Skøjteløb Isstok - Korfbal + Korfball Motorsport Multisport Orienteringsløb @@ -326,7 +326,7 @@ Vandrerhjem Motel Bjerghytte;Shelter - Udlejningshytte + Udlejningshytte;Shelter Sted for tilbedelse Kristendom Jødedom @@ -625,7 +625,7 @@ Børnetøj Lejlighed Offentlig transport stoppested - Trinbræt + Trinbræt;Togstation Logi Internetadgang: wlan Internetadgang: terminal @@ -713,7 +713,7 @@ Grønning Vejkryds Sejlads - Genbrugsbutik, velgørenhed + Velgørenhedsbutik Fotoforretning Gravkammer Vildmarkshytte;Shelter @@ -723,8 +723,8 @@ Klokketårn Skiudlejning Skisportssted - Hytte - Jagthytte + Hytte;Shelter + Jagthytte;Shelter Bordbænkesæt Hanami Vinkælder @@ -859,7 +859,7 @@ Kontrol: adgang Kontrol: vejafgift Land - Ja + Ja;Gratis Forladt objekt International vandrerute National vandrerute @@ -877,7 +877,7 @@ Adgang for levering Adgang for landbrug Målestation - Ja + Ja;Hovedstad Nej E-mail Fax @@ -955,11 +955,11 @@ Bilbatterier Biler Cykler - Ja + Ja;Drikkevand Nej Overvåget Ikke overvåget - Ja + Ja;Season bestemt Nej Tørre årstid Våde årstid @@ -1058,7 +1058,7 @@ Kristen Videnskab Atomaffald Startdato - Ja + Ja;Kørestol Indhold: ensilage Indhold: vand Indhold: gylle @@ -1159,7 +1159,7 @@ Motordrevet Ingen pumpe Mineralsk - Vandkarakteristisk: mudret + Mudret Svovlholdig Vandtilslutning Arter @@ -1189,9 +1189,9 @@ Opslagstavle Forretningsområde Detailhandelsområde - Ja + Ja;Bålsted Intet ildsted - Ja + Ja;Overdækket Ikke overdækket Ikke tilladt Kun udendørs @@ -1203,8 +1203,8 @@ Vejafgift Ja Uden taktilbelægning - Ja - Nej + Ja;Trafiklys lyd + Lyd: nej Kun når det er tilladt at gå Trædestensbro HGV vejafgift @@ -1232,7 +1232,7 @@ Fælles rekreativt område Niveau RTSA skala - Ja + Ja;Pumpe Let Mellem Avanceret @@ -1256,7 +1256,7 @@ Havestil: køkken Havestil: rosenhave Kapacitet - Ja + Ja;Plads til handicappede Ingen pladser forbeholdt handicappede Pladser forbeholdt handicappede Pladser forbeholdt kvinder @@ -1271,8 +1271,8 @@ Kapacitet pr. time Gennemsnitlige rejsetid, minutter Boble lukket - Ingen boble - Ja + Ingen bobbel + Ja;Opvarmning Ikke opvarmet Tilladt Cykel: ikke tilladt @@ -1463,12 +1463,12 @@ Laktosefri Laktosefri kost: nej Pesco-vegetar - Ja + Ja;Drive-in Drive-in: nej - Ja + Ja;Drive through Drive-through: nej Bryggerinavn - Ja + Ja;Mikrobryggeri Ingen mikrobryggeri Take Away Ingen takeaway @@ -1483,22 +1483,22 @@ Udendørs siddepladser: gågade Udendørs siddepladser: have Udendørs siddepladser: gårdhave - Ja - Brugte varer + Ja;Cocktails + Ja Ingen brugte varer - Kun brugte varer + Kun Dele Forhandler Reparation Ingen reparation Reparation af elektriske køretøjer Motorcykel reparation - Ja - Nej - Ja + Ja;Selvbetjening + Nej;Ingen selvbetjening + Ja;Automatiseret Ikke automatiseret Fuld service - Ja + Ja;Børsteløs Børsteløs: nej Flytankstation Offentligt bad @@ -1508,7 +1508,7 @@ Forbudt for kvinder Indendørs Udendørs - Ja + Ja;Toiletter Uden toiletter Adgang til toiletter for kørestole: ja Adgang til toiletter for kørestole: nej @@ -1520,7 +1520,7 @@ Ingen puslebord Puslerum Selskabslokale - Nej + Nej;Bilvask: nej Parkeringstidsgrænse Parkeringsbilletter Cigaretter @@ -1565,7 +1565,7 @@ Koshinto Blå plakette Jizo - Korsformet + Korsform Køretøj Obelisk Hundeposer @@ -1642,7 +1642,7 @@ Palme Cypres Flagstang - Ja + Ja;Bænk Uden bænk Med affaldskurv Uden affaldskurv @@ -1785,7 +1785,7 @@ Cykelrengøring: nej Kædeværktøj;Cykelkædeværktøj Cykelkædeværktøj: nej - Salg af brugte cykler + Salg af brugte cykler;Brugte cykler;Brugte cykler Salg af brugte cykler: nej Vildtskjul Uddannelse: sprog @@ -1849,7 +1849,7 @@ 100LL brændstof Autogas Jet A-1 brændstof - AdBlue brændstof + Dieseludstødningsvæske Brændstof: træ Brwændstof: trækul Brændstof: kul @@ -1934,11 +1934,11 @@ Åben ild ikke tilladt Ja;Vildmark Nej - Ja + Ja;Spejder Spejderlejr: nej Kun grupper: ja Kun grupper: nej - Ja + Ja;Vaskemaskine Vaskemaskine: nej Bruser: ja Brusebad: nej @@ -1948,8 +1948,8 @@ Bruser: indendørs Ja Campingvogne: nej - Improviseret: ja - Improviseret: nej + Ja + Nej Sanitær tømmestation: ja Sanitær tømmestation: nej Ja @@ -2997,16 +2997,16 @@ Diner Haute cuisine Tehus - Ja - Ja + Ja;Udendørs siddepladser + Ja;Levering Vegetar Vegan Glutenfri Kosher Halal Laktosefri - Ja - Ja + Ja;Takeaway + Ja;Bruser filter Betalingstype (transport) Type Målgruppe @@ -4120,4 +4120,25 @@ Klatrebolte Klatre kvalitet Brugte varer - \ No newline at end of file + Landhandel + Live musik + Helbreds specialist: klinik + Adgangsstatus til rekreativt område + Aktivitet i rekreativt område + Improviseret + Reservation + Sundhedsfagligt speciale: psykoterapeut + Sundhedsfagligt speciale: laboratorium + Ingen indendørs siddepladser + Grotte udforskning + Golf + Rulleskøjter + Musiksted + Indendørs siddepladser: ja + Foto station + Rafting + Fitness + Klatre boulder + Windsurfing + Motorbåd + diff --git a/OsmAnd/res/values-de/phrases.xml b/OsmAnd/res/values-de/phrases.xml index e5c9b5aadde..b92ea0f939c 100644 --- a/OsmAnd/res/values-de/phrases.xml +++ b/OsmAnd/res/values-de/phrases.xml @@ -4868,7 +4868,7 @@ Immobilienverwaltung Ingenieurbüro McDonald\'s - Kaution + Einzahlung möglich Ja Nein Kunden @@ -4968,4 +4968,4 @@ Touring Gravel-Bike fahren Anfangsstück der Kletterroute - \ No newline at end of file + diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index 92aa72107f2..8604de1afbc 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -3174,7 +3174,7 @@ Webadresse Benachrichtigung Mindestgeschwindigkeit - Minimale Genauigkeit + Mindestgenauigkeit Minimale Verschiebung Plugin-Einstellungen auf Voreinstellung zurücksetzen Autorisierung ist erfolgreich @@ -5683,4 +5683,4 @@ Kletterrouten anzeigen Zeigt zuerst die Zeit und Entfernung für den nächsten Halt an. Schalte um, um immer Details zum Ziel anzuzeigen. Zeige Routendetails zum nächsten Halt - \ No newline at end of file + diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index b8089b9fac4..a22e8d5a485 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -4666,7 +4666,7 @@ Elektu kion samtempigi Ŝanĝoj %1$s Ŝanĝoj en la nubo - Samtempigado…%1$s + Samtempigado… %1$s Kontrolado… Modifita Nekonata diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index e247c17a5f0..c035fc7bd12 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -103,7 +103,7 @@ Error inesperado Acción {0} Cerrar - Salida + Salir Mostrar Mostrar todo Contraer @@ -5539,4 +5539,4 @@ Mostrar rutas de escalada Mostrar detalles de la ruta para la siguiente parada Muestra primero el tiempo y la distancia a la siguiente parada. Desactivarla mostrará siempre los detalles del destino. - \ No newline at end of file + diff --git a/OsmAnd/res/values-et/strings.xml b/OsmAnd/res/values-et/strings.xml index a5553f30f07..997bab404be 100644 --- a/OsmAnd/res/values-et/strings.xml +++ b/OsmAnd/res/values-et/strings.xml @@ -467,7 +467,7 @@ Kaart imporditud Sisesta failinimi. Lähedalolevad teekonnad - Ulatus + Ümbruses DD°MM′SS″ DD.DDDDDD° DD.DDDDD° @@ -1214,7 +1214,7 @@ Parempoolne paneel Vasakpoolne paneel Seadista kaarti - Ulatus + Ümbruses Anonüümsed kasutajad ei saa: \n- Luua gruppe; \n- Serveriga gruppe ja seadmeid sünkroonida; @@ -1310,13 +1310,9 @@ Punktide sildid (huvipunktid, lemmikud) %1$s laadimine… Praegune aeg - " -\n -\nKaardil vaatamiseks puuduta pikalt" + \n\nKaardil vaatamiseks puuduta pikalt Alusta pöörangupõhist juhendamist automaatselt - " -\n -\nValikuteks puuduta pikemalt" + \n\nValikuteks puuduta pikemalt Alamrajad: %1$s Teekonnapunktid: %1$s Kaugus: %1$s (%2$s punkti) @@ -2452,14 +2448,7 @@ Ära kuva käivitusteateid Ära kuva rakenduse allahindlusi ega kohalike sündmuste teateid. GPS-navigeerimine \n • Vali võrguühenduseta (välismaal viibides rändlustasudeta) või võrgus (kiirem) vahel \n • Hääljuhised pöörangupõhisel suunamisel juhatavad sind mööda teed (salvestatud ja sünteesitud hääled) \n • Teekond arvutatakse sellest kõrvale kaldudes alati ümber \n • Teeäärsed juhised, tänavanimed ja eeldatav saabumisaeg on teel olles abiks \n • Reisi turvalisemaks muutmiseks lülitatakse päeval/öösel ekraani režiim automaatselt ümber \n • Näitame kiiruspiiranguid ja saad selle ületamise korral meeldetuletusi \n • Kaardi suurendustaset kohandame vastavalt sinu kiirusele \n • Otsi sihtkohti aadressi, liigi (nt parkimine, restoran, hotell, bensiinijaam, muuseum) või geograafiliste koordinaatide järgi \n • Toetab teekonna vahepunkte \n • Salvesta oma andmed või laadi üles GPX rada ja liigu mööda seda - Navigeerimine -\n • Töötab võrgus (kiire) või võrguühenduseta (välismaal viibides puuduvad rändlustasud) -\n • Täpsed hääljuhised (salvestatud ja sünteesitud hääled) -\n • Valikuline sõiduradade juhendamine, tänavanime kuvamine ja eeldatav saabumisaeg -\n • Toetab teekonna vahepunkte -\n • Automaatne teekonnast kõrvale kaldumisel selle ümberarvutamine -\n • Otsige kohti aadressi, tüübi (nt restoran, hotell, bensiinijaam, muuseum) või geograafiliste koordinaatide järgi -\n + "Tee juhatamine \n • Töötab võrgus (kiire) või võrguühenduseta (välismaal viibides puuduvad rändlustasud) \n • Täpsed hääljuhised (salvestatud ja sünteesitud hääled) \n • Valikuline sõiduradade juhendamine, tänavanime kuvamine ja eeldatav saabumisaeg \n • Toetab teekonna vahepunkte \n • Automaatne teekonnast kõrvale kaldumisel selle ümberarvutamine \n • Otsige kohti aadressi, tüübi (nt restoran, hotell, bensiinijaam, muuseum) või geograafiliste koordinaatide järgi " Analüüsi kaardil Rakenduse allahindluste kohta teabe saamiseks liitu meie postiloendiga ja saad veel 3 kaardi allalaadimist! Nupp ekraani keskkoha teekonna sihtkohaks muutmiseks; ühest varem valitud sihtkohast saab viimane vahesihtkoht. @@ -2467,7 +2456,7 @@ Nupp ekraani keskkoha esimeseks vahesihtkohaks muutmiseks. Nupp, mis lülitab automaatse kiirusetundliku suumimise sisse või välja. Peatatud - Lülita sisse animeeritud oma asukohas kaardi panoraamimine navigeerimise ajal. + Sujuv kaardi panoraamvaade liikumise ajal. Toob kaasa väikese viivituse. Laadi alla selle piirkonna „Kõrgusjoonte“ kaart. Osta ja paigalda „Topograafia“ lisamoodul astmestatud vertikaalsete alade kuvamiseks. Nupp, mis lülitab OSM märkmete kaardil kuvamise sisse või välja. @@ -3877,7 +3866,7 @@ Kuva algdialoog Maastiku kõrgusjooned, tumedate toonidega täielik mäe- ja nõlvakaart, millel on värvid tippude ja madalike eristamiseks. Sirvi Wikivoyage saiti ilma võrguühenduseta. Artiklid on jaotatud riikide ja piirkondade kaupa ning saadaval kõigis keeltes. - Sirvi Vikipeediat võrguühenduseta. Artiklid on jaotatud riikide ja piirkondade kaupa ning saadaval kõigis keeltes. + Tagab asukohaga seotud Vikipeedia andmed vallasrežiimis ning võimaldab sul mugavalt uurida lisateavet antud objekti ja tema lähiümbruse kohta. Ära unusta sind huvitava piirkonna Vikipeedia andmeid alla laadida. Tutvu Vikipeedia artiklitega liikvel olles, ilma internetiühenduseta. Võrguühenduseta andmed on jaotatud riikide kaupa ja saadaval kõigis keeltes. Hangi juurdepääs regulaarsetele igakuistele võrguühenduseta kaartide uuendustele. Hangi juurdepääs sagedasematele kaardiuuendustele. Tundide, päevade või nädalate kaupa uuendused. Uuendused laaditakse alla järk-järgult, ainult muutunud piirkonna osas. @@ -4658,4 +4647,52 @@ Pilved %1$s — %2$s Liikumisel otse, kuva väikestel ristmikel - \ No newline at end of file + Skännereid ei leidunud + ODB tugi + Kütuse tüüp + Propaan + Aku pinge + Sõiduki andmed + Sõiduki kiirus + Näitab aega ja vahemaad kuni esimese peatuseni. Kui lülitad välja, siis kuvatakse aega ja vahemaad kuni lõppsihtkohani. + Näita ronimismarsruute + Iga nupp säilitab oma tausta läbipaistmatuse. + Vali GPX-faili salvestatavad parameetrid. + Heli diskreetimissagedus + Vali heli diskreetimissagedus. + Mootori tööandmed (OBD-II) + Jälgi mootori olulisi tööandmeid OBD-II protokolli abil - sealhulgas kiirust, mootori pöördeid, kütusetarbimist ja muudki. + VIN-kood + VIN-kood ODB kaudu + Kilomeetrit tunnis + Iga nupp säilitab oma nurgaraadiuse. + Välisõhu temperatuur + LPG + Elekter + Näitab kui kaua mootor on käivitamisest alates töötanud. + Mootori tööaeg + Interpoleerimine + Asukoha interpoleerimise protsent + Ühenda uus skänner + Tund + %1$s / %2$s + Maht + Arvutame… + Arvuta suurus/maht + Iga nupp säilitab oma suuruse. + Valitud profiil „%s“ + Kütuse tüüp on määramata + Bensiin + Metanool + Etanool + Diisel + CNG + Kütust alles (liitrites) + Kütusetarbimine + Jahutusvedeliku temperatuur + Mootori kiirus + Näita teekonna üksikasju kuni järgmise peatuseni + Näita järgmise pöörde eelvaadet + Reisijatesalongi õhutemperatuur + Ronimismarsruudid + diff --git a/OsmAnd/res/values-ga/strings.xml b/OsmAnd/res/values-ga/strings.xml index a1ff12f9977..c5429ec1e8b 100644 --- a/OsmAnd/res/values-ga/strings.xml +++ b/OsmAnd/res/values-ga/strings.xml @@ -449,7 +449,7 @@ m/s Breiseáin Próifílí (Socruithe) - Ag sioncronú…%1$s + Sioncronaigh… %1$s Sairdínis Rúisis Cnaipí @@ -5464,4 +5464,4 @@ Taispeáin bealaí dreapadóireachta Taispeánann sé am agus fad don chéad stad eile ar dtús. Múch chun sonraí an chinn scríbe a thaispeáint i gcónaí. Taispeáin sonraí bealaigh don chéad stad eile - \ No newline at end of file + diff --git a/OsmAnd/res/values-hr/strings.xml b/OsmAnd/res/values-hr/strings.xml index 6027f116fce..79ba2e62bd3 100644 --- a/OsmAnd/res/values-hr/strings.xml +++ b/OsmAnd/res/values-hr/strings.xml @@ -1736,4 +1736,5 @@ Invalidska kolica naprijed Prilagođeno Prikaži ikone početka i kraja + Traka alata \ No newline at end of file diff --git a/OsmAnd/res/values-it/phrases.xml b/OsmAnd/res/values-it/phrases.xml index e8389d5a29a..be9c604092d 100644 --- a/OsmAnd/res/values-it/phrases.xml +++ b/OsmAnd/res/values-it/phrases.xml @@ -174,7 +174,7 @@ Piccolo borgo Abitazione isolata Grande quartiere - Quartiere + Quartiere minore Località non popolata Farmacia Ospedale @@ -1793,7 +1793,7 @@ Campo estivo Campana di attraversamento Campana di attraversamento: no - Luce di passaggio + Luce di segnalazione Attraversamento su richiesta Attraversamento su richiesta: no @@ -2000,7 +2000,7 @@ Barriera di attraversamento: completo Barriera di attraversamento: metà Barriera di attraversamento: doppio metà - Luce di attraversamento: no + Luce di segnalazione: no Negozio del fabbro (chiavi) Apparecchi di illuminazione Falesia @@ -2449,8 +2449,8 @@ Vanadio Zinco Zirconio - Luce: sì - Luce: no + Illuminazione: sì + Illuminazione: no Superficie: pavé Superficie: mattonelle per pavimentazione stradale Superficie: ciottoli @@ -3728,7 +3728,7 @@ Distribuzione minore HOV Accesso pedoni: privato - Riparo: np + Riparo: no Macchinari agricoli Tipo generatore: BWR-6 Tipo generatore: BWR-5 @@ -4422,4 +4422,4 @@ Antenna parabolica Punto di controllo per escursioni Negozio di giardinaggio - \ No newline at end of file + diff --git a/OsmAnd/res/values-it/strings.xml b/OsmAnd/res/values-it/strings.xml index fcb15a4b263..3b1e1ffd31c 100644 --- a/OsmAnd/res/values-it/strings.xml +++ b/OsmAnd/res/values-it/strings.xml @@ -1941,7 +1941,7 @@ Codice postale da Distretto - Quartiere + Quartiere minore Cerca Sorabo superiore Oggetti sopra il terreno @@ -5689,4 +5689,4 @@ Percorsi arrampicata Mostra il tempo e la distanza per la prossima fermata. Disattiva per mostrare sempre i dettagli per la destinazione. Mostra i dettagli del percorso per la prossima fermata - \ No newline at end of file + diff --git a/OsmAnd/res/values-iw/strings.xml b/OsmAnd/res/values-iw/strings.xml index 951096f9268..6d318fbd442 100644 --- a/OsmAnd/res/values-iw/strings.xml +++ b/OsmAnd/res/values-iw/strings.xml @@ -4629,7 +4629,7 @@ ציר X נא לבחור תצורת שמע. תצורת מכולת סוג קובץ השמע היא 3GPP‏ (‎.3gp). נערך - מתבצע סנכרון…%1$s + מתבצע סנכרון… %1$s מתבצעת בדיקה… לא ידוע לא מסונכרן @@ -4991,4 +4991,4 @@ מנותק מ־%s התחברות אל %s היקף גלגל - \ No newline at end of file + diff --git a/OsmAnd/res/values-pt/phrases.xml b/OsmAnd/res/values-pt/phrases.xml index 6e622ba6d7e..012863d43e2 100644 --- a/OsmAnd/res/values-pt/phrases.xml +++ b/OsmAnd/res/values-pt/phrases.xml @@ -4901,4 +4901,23 @@ Artigos de viagem Pontos de viagem Carro - \ No newline at end of file + Todo-o-terreno + ATV (veículo todo-o-terreno) + Camião (pesado de mercadorias) + Karting + Motociclismo de estrada + Motociclismo todo-o-terreno + Motociclismo de turismo + Motociclismo desportivo + Caminhada + Corrida em pista + Viajem de mochila às costas + Corrida em estrada + A pé + Café + Motocrosse + Corrida em trilhos + Caminhada + Motociclismo de aventura + Motociclismo enduro + diff --git a/OsmAnd/res/values-pt/strings.xml b/OsmAnd/res/values-pt/strings.xml index 6e77af3e9e6..ada722bf91a 100644 --- a/OsmAnd/res/values-pt/strings.xml +++ b/OsmAnd/res/values-pt/strings.xml @@ -3466,7 +3466,7 @@ Motorizada de enduro Patins em linha Desativado. Requer \"manter o ecrã ligado\" em \"tempo limite após a ativação\". - • Novos mapas de inclinação offline \n \n • Personalização completa de Favoritos e Waypoints GPX - cores, ícones e formas personalizados \n \n • Personalize a ordem dos itens no menu de contexto, configurar mapa, gaveta \n \n • Wikipédia como uma camada separada no mapa Configurar, selecione apenas os idiomas necessários \n \n • Crie seu próprio filtro / mapa de POI com total flexibilidade \n \n • Adicionadas opções para restaurar configurações de perfis personalizados \n \n • Rotas GPX completas das vias de tráfego e instruções completas de curvas \n \n • Correção de tamanhos de interface do utilizador em tablets \n \n • Correção de erros com RTL \n \n + • Novos mapas de inclinação offline \n \n • Personalização completa de favoritos e pontos de rotas GPX - cores, ícones e formas personalizados \n \n • Personalize a ordem dos itens no \"menu de contexto\", \"configurar mapa\" e \"gaveta\" \n \n • Wikipédia como uma camada separada no mapa Configurar, selecione apenas os idiomas necessários \n \n • Crie seu próprio filtro / mapa de POI com total flexibilidade \n \n • Adicionadas opções para restaurar configurações de perfis personalizados \n \n • Rotas GPX completas das vias de tráfego e instruções completas de viragens\n \n • Correção de tamanhos de interface do utilizador em tablets \n \n • Correção de erros em RTL\n\n Elimina o próximo destino na sua rota. Se for o destino final, a navegação será interrompida. Defina a altura da embarcação para evitar pontes baixas. Tenha em conta que se a ponte for móvel, o cálculo utiliza a altura da ponte no estado aberto. Adicionar origem online @@ -3707,7 +3707,7 @@ Ciclismo Correr A pé - Todo o terreno + Todo-o-terreno Moto Carro Adicionar motor de roteamento online @@ -4660,7 +4660,7 @@ Expira Comprado em Escolha o que sincronizar - A sincronizar…%1$s + A sincronizar… %1$s A verificar… Alterado Desconhecido @@ -5659,4 +5659,10 @@ Calcular o tamanho Cada botão manteria o seu próprio tamanho. A calcular… - \ No newline at end of file + Rotas de escalada + Mostrar rotas de escalada + Cada botão manteria o seu próprio raio de cantos. + Cada botão manteria a sua própria opacidade de fundo. + Mostra primeiro a hora e a distância para a próxima paragem. Desativar para mostrar sempre os detalhes do destino. + Mostrar detalhes do itinerário para a próxima paragem + diff --git a/OsmAnd/res/values-ro/phrases.xml b/OsmAnd/res/values-ro/phrases.xml index 1b3c30dc496..b013e318113 100644 --- a/OsmAnd/res/values-ro/phrases.xml +++ b/OsmAnd/res/values-ro/phrases.xml @@ -820,7 +820,7 @@ Pod de piatră în trepte Vad Punct de acces pentru urgențe - Stație SES + Centru de răspuns la situații de urgență Stație de ambulanță Coș cu nisip Bazin apă antiincendiu @@ -4875,4 +4875,96 @@ Dietă pescărească: nu Tipul de camping Cafea + Condus + Motocross + Snowboarding + Snowmobiling + Ciclism montan + Ciclism rutier + Zborul cu balon cu aer cald + Înot în aer liber + Cules ciuperci + Speologie + Parco nu este acceptat + Parkster + Condiții de bază + Condiții standard + întreținut + Condiții deluxe + Etimologia numelui + Nume (partea stângă) + Nume (partea dreaptă) + Articole de călătorie + Puncte de călătorie + Urcat în copac + Ciclism Gravel + Acces + Scufundări Scuba + Parco + Off-Road + ATV (All-Terrain Vehicle) + Motociclism Enduro + Role + Da + Escaladă bouldering + Parkster nu este acceptat + Accesul interzis pietonilor în tunel + Accesul interzis bicicliștilor în tunel + Puncte de traseu + Motociclism + Pedestru + Sporturi de iarnă + Ciclism + Sporturi aeronautice + Sporturi nautice + Alte trasee + Mașină + Camion (Transport greu marfă) + Karting + Motociclism de aventură + Motociclism Off-Road + Motociclism rutier + Motociclism sport + Motociclism Touring + Circuit moto + Scuter cu motor + Backpacking + Drumeție + Urcat dealuri + Alergat rutier + Alergare pe poteci + Trekking + Umblat + Patinaj + Schi cross-country + Schi de tură + Schiat + Rachete de zăpadă + E-Biking + E-mountain bike + Touring + Aviație + Zburatul dronelor + Planorism + Deltaplanorism + Parașutism + Parapantism + Parapantism motorizat + Aviație ultra-ușoară + Canoe + Scufundări + Caiac + Surfing + Schi nautic + Windsurfing + Navigație cu barcă motorizată + Rafting + Echitație + Cules + Călătorit cu trenul + Golf + Fitness + Zonă de escaladă + Traseu de escaladă + Începutul traseului de escalată \ No newline at end of file diff --git a/OsmAnd/res/values-ro/strings.xml b/OsmAnd/res/values-ro/strings.xml index ea77c5e331c..6605af336dc 100644 --- a/OsmAnd/res/values-ro/strings.xml +++ b/OsmAnd/res/values-ro/strings.xml @@ -1107,7 +1107,7 @@ Mai multe detalii Mai puține detalii Restricții de acces - Afișarea restricțiilor de acces și de taxare + Afișarea restricțiilor de acces Arată calitatea drumului Arată suprafața drumului Rute pentru biciclete @@ -4941,7 +4941,7 @@ Dificultate MTB IMBA Asociația Internațională de Ciclism Montan - Se sincronizează…%1$s + Se sincronizează… %1$s Se verifică… Modificat Deschis @@ -5316,7 +5316,7 @@ Salvează orientarea în fiecare punct al traseului, în timpul înregistrării Scrie orientarea Inclus - Hărți de teren (3D) + Hărți de teren (3D Widgeturile arată raportul de planare față de țintă sau raportul de planare mediu pentru cursa curentă. Relief umbrit, Pantă Arată raportul mediu de planare pentru intervalul setat. @@ -6057,7 +6057,7 @@ Tensiunea bateriei Tipul de combustibil Suport OBD - + Parametrii vehicul Monitorizați parametrii cheie ai vehiculului utilizând protocolul OBD-II. Accesați date care includ:\n • turația motorului, timpul de funcționare al motorului, sarcina calculată a motorului \n • Consumul de combustibil, presiunea combustibilului, combustibilul rămas\n • Temperatura de admisie, temperatura ambiantă, temperatura lichidului de răcire, temperatura uleiului de motor\n• Viteza vehiculului, Poziția accelerației, Tensiunea bateriei\n Eficiența combustibilului (%) Rata consumului de combustibil @@ -6065,4 +6065,6 @@ Combustibil rămas (litri) Afișează mai întâi ora și distanța pentru următoarea oprire. Dezactivați pentru a afișa întotdeauna detaliile pentru destinație. Afișați detaliile traseului pentru următoarea oprire + %1$s — %2$s + Import/export \ No newline at end of file diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index 354ac8396d2..81543096fab 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -4671,7 +4671,7 @@ Придбано Спливає Виберіть, що синхронізувати - Синхронізація…%1$s + Синхронізація… %1$s Перевірка… Змінено Не синхронізовано @@ -5680,4 +5680,4 @@ Скелелазні маршрути Показати деталі маршруту до наступної зупинки Спочатку показує час і відстань до наступної зупинки. Вимкніть, щоб завжди показувати деталі до кінцевої точки. - \ No newline at end of file + diff --git a/OsmAnd/res/values-zh-rCN/strings.xml b/OsmAnd/res/values-zh-rCN/strings.xml index 559a760c93a..d1dd24cbf23 100644 --- a/OsmAnd/res/values-zh-rCN/strings.xml +++ b/OsmAnd/res/values-zh-rCN/strings.xml @@ -5916,4 +5916,6 @@ 剩余燃料(升) 通过 OBD 传感器显示车辆剩余油量下的行驶距离 通过 OBD 传感器显示车辆燃料类型 + 首先显示下一站的时间和距离。关闭此功能以始终显示目的地的详细信息。 + 显示下一站的路线详情 \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/importfiles/tasks/ObfImportTask.java b/OsmAnd/src/net/osmand/plus/importfiles/tasks/ObfImportTask.java index 0287d3c4cd9..0eea1ffbf3a 100644 --- a/OsmAnd/src/net/osmand/plus/importfiles/tasks/ObfImportTask.java +++ b/OsmAnd/src/net/osmand/plus/importfiles/tasks/ObfImportTask.java @@ -29,6 +29,10 @@ protected String doInBackground(Void... voids) { boolean unzip = name.endsWith(IndexConstants.ZIP_EXT); String fileName = unzip ? name.replace(IndexConstants.ZIP_EXT, "") : name; File dest = getObfDestFile(fileName); + File parent = dest.getParentFile(); + if (parent != null) { + parent.mkdirs(); + } String error = ImportHelper.copyFile(app, dest, uri, false, unzip); if (error == null) { app.getResourceManager().reloadIndexes(IProgress.EMPTY_PROGRESS, new ArrayList<>()); diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/gallery/tasks/GetImageCardsTask.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/gallery/tasks/GetImageCardsTask.java index 208e0d96089..918d764dae4 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/gallery/tasks/GetImageCardsTask.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/gallery/tasks/GetImageCardsTask.java @@ -92,14 +92,14 @@ protected ImageCardsHolder doInBackground(Void... voids) { for (WikiImage wikiImage : wikimediaImageList) { holder.addCard(WIKIMEDIA, new WikiImageCard(mapActivity, wikiImage)); } - - if (!Algorithms.isEmpty(params.get(Amenity.MAPILLARY))) { - JSONObject imageObject = MapillaryOsmTagHelper.getImageByKey(params.get(Amenity.MAPILLARY)); + String key = params.remove(Amenity.MAPILLARY); + if (!Algorithms.isEmpty(key)) { + JSONObject imageObject = MapillaryOsmTagHelper.getImageByKey(key); if (imageObject != null) { holder.addCard(MAPILLARY_AMENITY, new MapillaryImageCard(mapActivity, imageObject)); } } - PluginsHelper.populateContextMenuImageCards(holder, httpPms, params, listener); + httpPms.putAll(params); String response = AndroidNetworkUtils.sendRequest(app, "https://osmand.net/api/cm_place", httpPms, "Requesting location images...", false, false); if (!Algorithms.isEmpty(response)) { diff --git a/OsmAnd/src/net/osmand/plus/plugins/OsmandPlugin.java b/OsmAnd/src/net/osmand/plus/plugins/OsmandPlugin.java index 6e948e04b7a..5f4af827ebb 100644 --- a/OsmAnd/src/net/osmand/plus/plugins/OsmandPlugin.java +++ b/OsmAnd/src/net/osmand/plus/plugins/OsmandPlugin.java @@ -260,13 +260,6 @@ protected PoiUIFilter getPoiFilterById(@NonNull String filterId) { protected void attachAdditionalInfoToRecordedTrack(@NonNull Location location, @NonNull JSONObject json) throws JSONException { } - - protected void collectContextMenuImageCards(@NonNull ImageCardsHolder holder, - @NonNull Map params, - @Nullable Map additionalParams, - @Nullable GetImageCardsListener listener) { - } - protected boolean createContextMenuImageCard(@NonNull ImageCardsHolder holder, @NonNull JSONObject imageObject) { return false; diff --git a/OsmAnd/src/net/osmand/plus/plugins/PluginsHelper.java b/OsmAnd/src/net/osmand/plus/plugins/PluginsHelper.java index 756a1e0c4f3..42d41e82431 100644 --- a/OsmAnd/src/net/osmand/plus/plugins/PluginsHelper.java +++ b/OsmAnd/src/net/osmand/plus/plugins/PluginsHelper.java @@ -773,13 +773,6 @@ public static Collection getPluginsCardsList() { return collection; } - public static void populateContextMenuImageCards(@NonNull ImageCardsHolder holder, @NonNull Map params, - @Nullable Map additionalParams, @Nullable GetImageCardsListener listener) { - for (OsmandPlugin plugin : getEnabledPlugins()) { - plugin.collectContextMenuImageCards(holder, params, additionalParams, listener); - } - } - /** * @param holder an object to collect results * @param imageObject json object that contains data for create an image card diff --git a/OsmAnd/src/net/osmand/plus/plugins/mapillary/MapillaryPlugin.java b/OsmAnd/src/net/osmand/plus/plugins/mapillary/MapillaryPlugin.java index 2a5832555e2..c8812d466bd 100644 --- a/OsmAnd/src/net/osmand/plus/plugins/mapillary/MapillaryPlugin.java +++ b/OsmAnd/src/net/osmand/plus/plugins/mapillary/MapillaryPlugin.java @@ -339,24 +339,6 @@ public void setWidgetVisible(MapActivity mapActivity, boolean visible) { } } - @Override - protected void collectContextMenuImageCards(@NonNull ImageCardsHolder holder, - @NonNull Map params, - @Nullable Map additionalParams, - @Nullable GetImageCardsListener listener) { - if (mapActivity != null && additionalParams != null) { - String key = additionalParams.get(Amenity.MAPILLARY); - if (key != null) { - JSONObject imageObject = MapillaryOsmTagHelper.getImageByKey(key); - if (imageObject != null) { - holder.addCard(MAPILLARY_AMENITY, new MapillaryImageCard(mapActivity, imageObject)); - } - additionalParams.remove(Amenity.MAPILLARY); - } - params.putAll(additionalParams); - } - } - @Override protected boolean createContextMenuImageCard(@NonNull ImageCardsHolder holder, @NonNull JSONObject imageObject) { diff --git a/OsmAnd/src/net/osmand/plus/resources/AmenityIndexRepositoryBinary.java b/OsmAnd/src/net/osmand/plus/resources/AmenityIndexRepositoryBinary.java index 21356d58a3f..8c2bf244f10 100644 --- a/OsmAnd/src/net/osmand/plus/resources/AmenityIndexRepositoryBinary.java +++ b/OsmAnd/src/net/osmand/plus/resources/AmenityIndexRepositoryBinary.java @@ -103,7 +103,7 @@ private void calculateDeltaSubcategories(BinaryMapPoiReaderAdapter.PoiRegion reg } @Nullable - private BinaryMapIndexReader getOpenFile() { + public BinaryMapIndexReader getOpenFile() { return resource.getReader(BinaryMapReaderResourceType.POI); } diff --git a/OsmAnd/src/net/osmand/plus/resources/ResourceManager.java b/OsmAnd/src/net/osmand/plus/resources/ResourceManager.java index 3030737acb0..e9c9e2802ab 100644 --- a/OsmAnd/src/net/osmand/plus/resources/ResourceManager.java +++ b/OsmAnd/src/net/osmand/plus/resources/ResourceManager.java @@ -799,6 +799,16 @@ public List getAmenityRepositories(boolean includeTravel return res; } + @NonNull + public List getAmenityReaders(boolean includeTravel) { + List readers = new ArrayList<>(); + List repos = app.getResourceManager().getAmenityRepositories(includeTravel); + for (AmenityIndexRepository repo : repos) { + readers.add(((AmenityIndexRepositoryBinary) repo).getOpenFile()); + } + return readers; + } + @NonNull public List searchAmenities(SearchPoiTypeFilter filter, QuadRect rect, boolean includeTravel) { diff --git a/OsmAnd/src/net/osmand/plus/track/GpxBlockStatisticsBuilder.java b/OsmAnd/src/net/osmand/plus/track/GpxBlockStatisticsBuilder.java index feb1f6271c5..8ae9d023af3 100644 --- a/OsmAnd/src/net/osmand/plus/track/GpxBlockStatisticsBuilder.java +++ b/OsmAnd/src/net/osmand/plus/track/GpxBlockStatisticsBuilder.java @@ -259,8 +259,9 @@ public void initItems(@Nullable GpxTrackAnalysis initAnalysis) { } public void prepareDataDistance(float totalDistance) { + GPXDataSetType secondType = analysis.hasSpeedData() ? GPXDataSetType.SPEED : null; prepareData(app.getString(R.string.distance), OsmAndFormatter.getFormattedDistance(totalDistance, app), - R.drawable.ic_action_track_16, GPXDataSetType.ALTITUDE, GPXDataSetType.SPEED, ItemType.ITEM_DISTANCE); + R.drawable.ic_action_track_16, GPXDataSetType.ALTITUDE, secondType, ItemType.ITEM_DISTANCE); } public void prepareDataAverageAltitude() { diff --git a/OsmAnd/src/net/osmand/plus/views/layers/DownloadedRegionsLayer.java b/OsmAnd/src/net/osmand/plus/views/layers/DownloadedRegionsLayer.java index 0eecf278089..3d754c03f38 100644 --- a/OsmAnd/src/net/osmand/plus/views/layers/DownloadedRegionsLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/layers/DownloadedRegionsLayer.java @@ -23,6 +23,7 @@ import net.osmand.core.jni.PolygonBuilder; import net.osmand.core.jni.PolygonsCollection; import net.osmand.core.jni.QVectorPointI; +import net.osmand.core.jni.ZoomLevel; import net.osmand.data.LatLon; import net.osmand.data.PointDescription; import net.osmand.data.QuadRect; @@ -777,7 +778,7 @@ private int addToPolygonsCollection(List regionList, Paint paint, i return baseOrder; } if (polygonsCollection == null) { - polygonsCollection = new PolygonsCollection(); + polygonsCollection = new PolygonsCollection(ZoomLevel.ZoomLevel3, ZoomLevel.ZoomLevel7); } for (WorldRegion region : regionList) { for (List polygon : region.getPolygons()) { diff --git a/OsmAnd/src/net/osmand/plus/views/layers/GPXLayer.java b/OsmAnd/src/net/osmand/plus/views/layers/GPXLayer.java index 806b4aad373..ae7f025b23b 100644 --- a/OsmAnd/src/net/osmand/plus/views/layers/GPXLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/layers/GPXLayer.java @@ -1210,10 +1210,11 @@ private void drawSelectedFileSegments(SelectedGpxFile selectedGpxFile, boolean c renderedSegments = new HashSet<>(); renderedSegmentsCache.put(gpxFilePath, renderedSegments); } - String gpxWidth = gpxAppearanceHelper.getTrackWidth(gpxFile, defaultWidthPref.get()); + String actualGpxWidth = gpxAppearanceHelper.getTrackWidth(gpxFile, null); + String defaultGpxWidth = gpxAppearanceHelper.getTrackWidth(gpxFile, defaultWidthPref.get()); for (int segmentIdx = 0; segmentIdx < segments.size(); segmentIdx++) { TrkSegment ts = segments.get(segmentIdx); - String width = ts.getWidth(gpxWidth); + String width = actualGpxWidth != null ? actualGpxWidth : ts.getWidth(defaultGpxWidth); cachedTrackWidth.putIfAbsent(width, null); int color = getTrackColor(gpxFile, ts.getColor(cachedColor)); boolean newTsRenderer = false; diff --git a/OsmAnd/src/net/osmand/plus/wikivoyage/data/TravelObfHelper.java b/OsmAnd/src/net/osmand/plus/wikivoyage/data/TravelObfHelper.java index cfe0ad15384..356939fcb51 100644 --- a/OsmAnd/src/net/osmand/plus/wikivoyage/data/TravelObfHelper.java +++ b/OsmAnd/src/net/osmand/plus/wikivoyage/data/TravelObfHelper.java @@ -50,6 +50,8 @@ import net.osmand.PlatformUtil; import net.osmand.ResultMatcher; import net.osmand.plus.Version; +import net.osmand.plus.resources.AmenityIndexRepository; +import net.osmand.plus.resources.AmenityIndexRepositoryBinary; import net.osmand.plus.shared.SharedUtil; import net.osmand.binary.BinaryMapDataObject; import net.osmand.binary.BinaryMapIndexReader; @@ -183,7 +185,7 @@ private synchronized PopularArticles loadPopularArticlesForLang(String lang) { do { if (foundAmenities.size() - foundAmenitiesIndex < ARTICLES_PER_PAGE) { LatLon location = app.getMapViewTrackingUtilities().getMapLocation(); - for (BinaryMapIndexReader reader : getReaders()) { + for (BinaryMapIndexReader reader : getTravelReaders()) { try { searchAmenity(foundAmenities, location, reader, searchRadius, -1, ROUTE_ARTICLE, lang); searchAmenity(foundAmenities, location, reader, searchRadius / 5, 15, ROUTE_TRACK, null); @@ -243,7 +245,7 @@ public synchronized TravelGpx searchGpx(@NonNull LatLon location, @Nullable Stri int searchRadius = ARTICLE_SEARCH_RADIUS; TravelGpx travelGpx = null; do { - for (BinaryMapIndexReader reader : getReaders()) { + for (BinaryMapIndexReader reader : getAmenityReaders()) { try { searchAmenity(foundAmenities, location, reader, searchRadius, 15, ROUTE_TRACK, null); } catch (Exception e) { @@ -399,7 +401,7 @@ private TravelArticle readArticle(@NonNull File file, @NonNull Amenity amenity, @Override public boolean isAnyTravelBookPresent() { - return !Algorithms.isEmpty(getReaders()); + return !Algorithms.isEmpty(getTravelReaders()); } @NonNull @@ -423,7 +425,7 @@ private synchronized List searchWithLang(@NonNull String NameStringMatcher matcher = phrase.getFirstUnknownNameStringMatcher(); List empty = new ArrayList<>(); - for (BinaryMapIndexReader reader : getReaders()) { + for (BinaryMapIndexReader reader : getTravelReaders()) { if (requestNumber != reqNumber) { return empty; } @@ -657,7 +659,7 @@ public synchronized Map> ge private TravelArticle getParentArticleByTitle(String title, String lang) { TravelArticle article = null; List amenities = new ArrayList<>(); - for (BinaryMapIndexReader reader : getReaders()) { + for (BinaryMapIndexReader reader : getTravelReaders()) { try { SearchRequest req = BinaryMapIndexReader.buildSearchPoiRequest( 0, 0, title, 0, Integer.MAX_VALUE, 0, Integer.MAX_VALUE, getSearchFilter(ROUTE_ARTICLE), @@ -756,7 +758,7 @@ public void onGpxFileRead(@Nullable GpxFile gpxFile) { private void readGpxFile(@NonNull TravelArticle article, @Nullable GpxReadCallback callback) { if (!article.gpxFileRead) { - new GpxFileReader(article, callback, getReaders()).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + new GpxFileReader(article, callback, getAmenityReaders()).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } else if (callback != null) { callback.onGpxFileRead(article.gpxFile); } @@ -767,7 +769,7 @@ private synchronized TravelArticle findArticleById(@NonNull TravelArticleIdentif TravelArticle article = null; boolean isDbArticle = articleId.file != null && articleId.file.getName().endsWith(IndexConstants.BINARY_WIKIVOYAGE_MAP_INDEX_EXT); List amenities = new ArrayList<>(); - for (BinaryMapIndexReader reader : getReaders()) { + for (BinaryMapIndexReader reader : getTravelReaders()) { try { if (articleId.file != null && !articleId.file.equals(reader.getFile()) && !isDbArticle) { continue; @@ -822,7 +824,7 @@ public synchronized TravelArticle findSavedArticle(@NonNull TravelArticle savedA long lastModified = savedArticle.getLastModified(); TravelArticleIdentifier finalArticleId = articleId; SearchRequest req = null; - for (BinaryMapIndexReader reader : getReaders()) { + for (BinaryMapIndexReader reader : getTravelReaders()) { try { if (articleId.file != null && articleId.file.equals(reader.getFile())) { if (lastModified == reader.getFile().lastModified()) { @@ -871,7 +873,7 @@ public boolean isCancelled() { } } if (amenities.isEmpty() && !Algorithms.isEmpty(articleId.title)) { - for (BinaryMapIndexReader reader : getReaders()) { + for (BinaryMapIndexReader reader : getTravelReaders()) { try { req = getEqualsTitleRequest(articleId, lang, amenities, reader); req.setBBoxRadius(articleId.lat, articleId.lon, SAVED_ARTICLE_SEARCH_RADIUS); @@ -886,7 +888,7 @@ public boolean isCancelled() { } } if (amenities.isEmpty()) { - for (BinaryMapIndexReader reader : getReaders()) { + for (BinaryMapIndexReader reader : getTravelReaders()) { try { req = BinaryMapIndexReader.buildSearchPoiRequest(0, 0, Algorithms.emptyIfNull(articleId.title), 0, Integer.MAX_VALUE, 0, Integer.MAX_VALUE, @@ -991,7 +993,7 @@ public synchronized TravelArticle getArticleByTitle(@NonNull String title, @NonN top = (int) rect.top; bottom = (int) rect.bottom; } - for (BinaryMapIndexReader reader : getReaders()) { + for (BinaryMapIndexReader reader : getTravelReaders()) { try { SearchRequest req = BinaryMapIndexReader.buildSearchPoiRequest( x, y, title, left, right, top, bottom, getSearchFilter(ROUTE_ARTICLE), @@ -1024,7 +1026,7 @@ public boolean isCancelled() { return article; } - private List getReaders() { + private List getTravelReaders() { if (!app.isApplicationInitializing()) { return app.getResourceManager().getTravelRepositories(); } else { @@ -1032,6 +1034,14 @@ private List getReaders() { } } + private List getAmenityReaders() { + if (!app.isApplicationInitializing()) { + return app.getResourceManager().getAmenityReaders(true); + } else { + return new ArrayList<>(); + } + } + @Nullable @Override public TravelArticleIdentifier getArticleId(@NonNull String title, @NonNull String lang) {