diff --git a/LICENSE b/LICENSE index acb12f2ee5..a739fdd6b9 100644 --- a/LICENSE +++ b/LICENSE @@ -44,6 +44,25 @@ * Map icons are taken from sjjb and some are drawn and distributed under Public Domain (except icons8) - https://github.com/osmandapp/OsmAnd-resources/tree/master/icons/svg + * Subway icons + - Moscow: Art Lebedev Studio (http://www.artlebedev.ru/everything/metro/logo/) [Public domain], undefined + - Samara: «Metro-logo» (Altoing) - Own work. Under Public domain Commons licensefrom the site - https://commons.wikimedia.org/wiki/File:Metro-logo.svg#/media/File:Metro-logo.svg + - Budapest: «BKV metro» (Plexipajzs) - hu:Fájl:BKV metro.svg. Under license Public domain Commons licensefrom the site - https://commons.wikimedia.org/wiki/File:BKV_metro.svg#/media/File:BKV_metro.svg + - Saint-Petersburg: «Spb metro logo» (Orange-kun) (vector version) - Vectorised version made with Adobe Illustrator. Under license Public domain Commons licensefrom the site - https://commons.wikimedia.org/wiki/File:Spb_metro_logo.svg#/media/File:Spb_metro_logo.svg + - Germany: «U-Bahn» (3247) - own work. Under Public domain Commons license from the site - https://commons.wikimedia.org/wiki/File:U-Bahn.svg#/media/File:U-Bahn.svg + - Wien: «U-Bahn Wien» (Siegele Roland) - Logo der U-Bahn Wien. Under Public domain Commons license from the site - https://commons.wikimedia.org/wiki/File:U-Bahn_Wien.svg#/media/File:U-Bahn_Wien.svg + - Kazan: «Kazan-metro-Logo» (Россиянин) - own work. Under Public domain Commons license from the site - https://commons.wikimedia.org/wiki/File:Kazan-metro-Logo.svg#/media/File:Kazan-metro-Logo.svg + - Tbilisi: «Metro Tbilisi logo» (Carnby) - own work. Under CC BY-SA 3.0 license from site - https://commons.wikimedia.org/wiki/File:Metro_Tbilisi_logo.svg#/media/File:Metro_Tbilisi_logo.svg + - Minsk: «Minsk metro logo» (Skip405) - own work. Under Public domain Commons license from the site - https://commons.wikimedia.org/wiki/File:Minsk_metro_logo.svg#/media/File:Minsk_metro_logo.svg + - Nizhny Novgorod: «NNMetro» (AlexTref871) - own work. This vector image includes elements borrowed from another image:  Coat of arms of Nizhny Novgorod Region.svg.. Under Public domain Commons licensefrom the site - https://commons.wikimedia.org/wiki/File:NNMetro.svg#/media/File:NNMetro.svg + - Novosibirsk: «Logo-Nsk-Metro» (AlexTref871) - own work. Under Public domain Commons license from the site - https://commons.wikimedia.org/wiki/File:Logo-Nsk-Metro.svg#/media/File:Logo-Nsk-Metro.svg + - Yekaterinburg: «Ekt-metro-logo-01» (AlexTref871) - own work. Under CC BY-SA 4.0 license from site - https://commons.wikimedia.org/wiki/File:Ekt-metro-logo-01.svg#/media/File:Ekt-metro-logo-01.svg + - New York: «MTA New York City Subway logo» (Metropolitan Transportation Authority) - http://mta.info/. Under Public domain Commons license from the site - https://commons.wikimedia.org/wiki/File:MTA_New_York_City_Subway_logo.svg#/media/File:MTA_New_York_City_Subway_logo.svg + - Paris: «Metro-M» (Pb 2001) - own work. Under Public domain Commons license from the site - https://commons.wikimedia.org/wiki/File:Metro-M.svg#/media/File:Metro-M.svg + - Madrid: «MetroMadridLogo» (Przemysław Sakrajda) - own work based on (na podstawie) www.metromadrid.es. Under Public domain Commons license from the site - https://commons.wikimedia.org/wiki/File:MetroMadridLogo.svg#/media/File:MetroMadridLogo.svg + - London: «Underground» (Dream out loud) - own work. Under Public domain Commons license from the site - https://commons.wikimedia.org/wiki/File:Underground.svg#/media/File:Underground.svg + - Barcelona: «Logometrobcn» (Javitomad) - own work. Under GFDL license - https://commons.wikimedia.org/wiki/File:Logometrobcn.svg#/media/File:Logometrobcn.svg + * Integration with Qt library in (https://github.com/osmandapp/Osmand-core/) - dynamic linking - LGPL (http://www.qt.io/qt-licensing-terms/) diff --git a/OsmAnd-java/src/net/osmand/map/OsmandRegions.java b/OsmAnd-java/src/net/osmand/map/OsmandRegions.java index f3561ea035..cd764b4f2b 100644 --- a/OsmAnd-java/src/net/osmand/map/OsmandRegions.java +++ b/OsmAnd-java/src/net/osmand/map/OsmandRegions.java @@ -44,8 +44,13 @@ public class OsmandRegions { Map fullMapNamesToDownloadNames = new HashMap(); Map downloadNamesToFullNames = new HashMap(); Map fullNamesToLowercaseIndex = new HashMap(); + Map fullNamesToParentFullNames = new HashMap(); + Map fullNamesToDownloadNames = new HashMap(); QuadTree quadTree = null ; + public Map getFullNamesToLowercaseCopy() { + return new HashMap(fullNamesToLowercaseIndex); + } Integer parentFullName = null; Integer fullNameType = null; @@ -86,7 +91,15 @@ public class OsmandRegions { } return downloadName.replace('_', ' '); } - + + public String getLocaleNameByFullName(String fullName) { + if (fullNamesToLocaleNames.containsKey(fullName)) { + return fullNamesToLocaleNames.get(fullName); + } else { + return fullName.replace('_', ' '); + } + } + public String getDownloadNameIndexLowercase(String downloadName) { if(downloadName == null) { return null; @@ -304,7 +317,15 @@ public class OsmandRegions { public String getMapDownloadType(String fullname) { return fullMapNamesToDownloadNames.get(fullname); } - + + public String getDownloadName(String fullname) { + return fullNamesToDownloadNames.get(fullname); + } + + public String getParentFullName(String fullname) { + return fullNamesToParentFullNames.get(fullname); + } + public void initLocaleNames() throws IOException { // final Collator clt = OsmAndCollator.primaryCollator(); final Map parentRelations = new LinkedHashMap(); @@ -323,6 +344,7 @@ public class OsmandRegions { String parentFullName = getParentFullName(object); String fullName = getFullName(object); if(!Algorithms.isEmpty(parentFullName)) { + fullNamesToParentFullNames.put(fullName, parentFullName); parentRelations.put(fullName, parentFullName); } String locName = getLocaleName(object); @@ -350,6 +372,7 @@ public class OsmandRegions { fullNamesToLowercaseIndex.put(fullName, ind.toString()); String downloadName = getDownloadName(object); if(downloadName != null) { + fullNamesToDownloadNames.put(fullName, downloadName); downloadNamesToFullNames.put(downloadName, fullName); if(isDownloadOfType(object, MAP_TYPE)) { fullMapNamesToDownloadNames.put(fullName, downloadName); diff --git a/OsmAnd/res/layout/favorite_categories_dialog.xml b/OsmAnd/res/layout/favorite_categories_dialog.xml new file mode 100644 index 0000000000..cbe0b3625f --- /dev/null +++ b/OsmAnd/res/layout/favorite_categories_dialog.xml @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/OsmAnd/res/layout/favorite_category_dialog_item.xml b/OsmAnd/res/layout/favorite_category_dialog_item.xml new file mode 100644 index 0000000000..f8fdc8fd67 --- /dev/null +++ b/OsmAnd/res/layout/favorite_category_dialog_item.xml @@ -0,0 +1,30 @@ + + + + + + + + +