Merge branch 'master' of https://github.com/osmandapp/Osmand
This commit is contained in:
commit
403f927c1c
7 changed files with 90 additions and 9 deletions
|
@ -158,4 +158,13 @@ public class WorldRegion {
|
|||
rd.superregion = this;
|
||||
}
|
||||
|
||||
public int getLevel() {
|
||||
int res = 0;
|
||||
WorldRegion parent = superregion;
|
||||
while (parent != null) {
|
||||
parent = parent.superregion;
|
||||
res++;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources>
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
<string name="osmo_use_https_descr">Использовать безопасное подключение к серверу</string>
|
||||
<string name="osmo_use_https">Использовать HTTPS</string>
|
||||
<string name="srtm_plugin_description">"Плагин обеспечивает наложение контурных линий и (рельефа) затемняющего слоя, которые будут отображаться поверх оффлайн карт OsmAnd. Эта функция высоко оценится спортсменами, туристами, путешественниками и всеми, кто заинтересован в рельефной структуре ландшафта.\n\nГлобальные данные (между 70 градусов на севере и 70 градусов на юге) основываются на измерениях SRTM (Shuttle Radar Topography Mission) и ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), инструментом визуализации Terra, флагманского спутника Земли системы наблюдения NASA. ASTER является результатом совместных усилий NASA, министерства экономики Японии, торговли и промышленности (METI), космических систем Японии (J-spacesystems). "</string>
|
||||
|
@ -1968,8 +1969,8 @@
|
|||
<string name="show_free_version_banner_description">Даже если у вас купленная версия вы еще можете увидеть баннер для бесплатной версии</string>
|
||||
<string name="confirm_download_roadmaps">Вы уверены, что хотите скачать карту автодорог, даже если у вас есть полная карта?</string>
|
||||
<string name="value_downloaded_from_max">%1$.1f из %2$.1f Мб</string>
|
||||
<string name="file_size_in_mb">%.1f Мб</string>
|
||||
<string name="update_all">Обновить все (%1$s Мб)</string>
|
||||
<string name="file_size_in_mb">%.1f МБ</string>
|
||||
<string name="update_all">Обновить все (%1$s МБ)</string>
|
||||
<string name="free_downloads_used">Использовано бесплатных загрузок</string>
|
||||
<string name="free_downloads_used_description">Вы можете посмотреть сколько бесплатных загрузок вы использовали</string>
|
||||
|
||||
|
@ -1977,6 +1978,33 @@
|
|||
<string name="share_geo">гео:</string>
|
||||
<string name="share_menu_location">Поделиться местоположением</string>
|
||||
<string name="shared_string_send">Отправить</string>
|
||||
<string name="application_dir_description">Выберите место где вы хотите сохранить файлы карт.</string>
|
||||
<string name="application_dir_description">Выберите, где вы хотите сохранить файлы карт.</string>
|
||||
<string name="show_on_start_description">Приложение будет запускаться с экрана карты</string>
|
||||
<string name="map_downloaded">Карта загружена</string>
|
||||
<string name="shared_string_qr_code">QR-код</string>
|
||||
<string name="go_to_map">Перейти к карте</string>
|
||||
<string name="world_map_download_descr">Базовая карта мира (покрывающая весь мир при малом увеличении) отсутствует или устарела. Пожалуйста, загрузите базовую карту мира для полноты рабочего окружения.</string>
|
||||
<string name="map_downloaded_descr">Карта %1$s загружена. Вернитесь к карте, чтобы начать её использовать.</string>
|
||||
<string name="simulate_initial_startup">Имитировать первый запуск</string>
|
||||
<string name="simulate_initial_startup_descr">Устанавливает признак первого запуска приложения, не изменяет других настроек</string>
|
||||
<string name="poll">Опрос</string>
|
||||
<string name="contact_us">Связаться с нами</string>
|
||||
<string name="versions_item">Версии</string>
|
||||
<string name="techical_articles_item">Технические статьи</string>
|
||||
<string name="instalation_troubleshooting_item">Установка и решение проблем</string>
|
||||
<string name="search_on_the_map_item">Поиск карты</string>
|
||||
<string name="map_viewing_item">Обзор карты</string>
|
||||
<string name="faq_item_description">Как пользоваться плагинами</string>
|
||||
<string name="faq_item">ЧаВо</string>
|
||||
<string name="first_usage_item">Первый запуск</string>
|
||||
<string name="first_usage_item_description">Как загрузить карты, установить основные настройки</string>
|
||||
<string name="navigation_item_description">Настройка навигации</string>
|
||||
<string name="planning_trip_item">Планирование поездки</string>
|
||||
<string name="enter_country_name">Введите название страны</string>
|
||||
<string name="new_version">Новая версия</string>
|
||||
<string name="begin_with_osmand_menu_group">Первые шаги с OsmAnd</string>
|
||||
<string name="features_menu_group">Возможности</string>
|
||||
<string name="help_us_to_improve_menu_group">Помогите улучшить OsmAnd</string>
|
||||
<string name="other_menu_group">Прочее</string>
|
||||
<string name="plugins_menu_group">Плагины</string>
|
||||
</resources>
|
|
@ -17,6 +17,7 @@ import net.osmand.plus.mapcontextmenu.MenuController;
|
|||
|
||||
public class MapDataMenuController extends MenuController {
|
||||
private WorldRegion region;
|
||||
private String regionName;
|
||||
|
||||
public MapDataMenuController(OsmandApplication app, MapActivity mapActivity, final BinaryMapDataObject dataObject) {
|
||||
super(new MenuBuilder(app), mapActivity);
|
||||
|
@ -24,6 +25,11 @@ public class MapDataMenuController extends MenuController {
|
|||
String fullName = osmandRegions.getFullName(dataObject);
|
||||
final WorldRegion region = osmandRegions.getRegionData(fullName);
|
||||
this.region = region;
|
||||
if (region != null) {
|
||||
regionName = region.getLocaleName();
|
||||
} else {
|
||||
regionName = dataObject.getName();
|
||||
}
|
||||
titleButtonController = new TitleButtonController() {
|
||||
@Override
|
||||
public void buttonPressed() {
|
||||
|
@ -31,7 +37,7 @@ public class MapDataMenuController extends MenuController {
|
|||
|
||||
final Intent intent = new Intent(getMapActivity(), getMapActivity().getMyApplication()
|
||||
.getAppCustomization().getDownloadIndexActivity());
|
||||
intent.putExtra(DownloadActivity.FILTER_KEY, region.getLocaleName());
|
||||
intent.putExtra(DownloadActivity.FILTER_KEY, regionName);
|
||||
intent.putExtra(DownloadActivity.TAB_TO_OPEN, DownloadActivity.DOWNLOAD_TAB);
|
||||
getMapActivity().startActivity(intent);
|
||||
}
|
||||
|
@ -57,12 +63,12 @@ public class MapDataMenuController extends MenuController {
|
|||
|
||||
@Override
|
||||
public String getNameStr() {
|
||||
return region.getLocaleName();
|
||||
return regionName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTypeStr() {
|
||||
if (region.getSuperregion() != null) {
|
||||
if (region != null && region.getSuperregion() != null) {
|
||||
return region.getSuperregion().getLocaleName() + "\n";
|
||||
} else {
|
||||
return getMapActivity().getString(R.string.shared_string_map) + "\n";
|
||||
|
|
|
@ -103,11 +103,14 @@ public class ObjectSelectionMenu extends BaseMenuController {
|
|||
|
||||
private void createCollection(Map<Object, IContextMenuProvider> selectedObjects) {
|
||||
this.selectedObjects.putAll(selectedObjects);
|
||||
int order = Integer.MAX_VALUE;
|
||||
MenuObject topObject = null;
|
||||
for (Map.Entry<Object, IContextMenuProvider> e : selectedObjects.entrySet()) {
|
||||
Object selectedObj = e.getKey();
|
||||
IContextMenuProvider contextObject = selectedObjects.get(selectedObj);
|
||||
LatLon ll = null;
|
||||
PointDescription pointDescription = null;
|
||||
|
||||
if (contextObject != null) {
|
||||
ll = contextObject.getObjectLocation(selectedObj);
|
||||
pointDescription = contextObject.getObjectName(selectedObj);
|
||||
|
@ -121,13 +124,27 @@ public class ObjectSelectionMenu extends BaseMenuController {
|
|||
|
||||
MenuObject menuObject = new MenuObject(ll, pointDescription, selectedObj, getMapActivity());
|
||||
objects.add(menuObject);
|
||||
|
||||
if (contextObject instanceof ContextMenuLayer.IContextMenuProviderSelection) {
|
||||
int i = ((ContextMenuLayer.IContextMenuProviderSelection) contextObject).getOrder(selectedObj);
|
||||
if (i < order) {
|
||||
topObject = menuObject;
|
||||
order = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Collections.sort(objects, new Comparator<MenuObject>() {
|
||||
@Override
|
||||
public int compare(MenuObject obj1, MenuObject obj2) {
|
||||
return obj1.getTitleStr().compareToIgnoreCase(obj2.getTitleStr());
|
||||
}
|
||||
});
|
||||
|
||||
if (topObject != null) {
|
||||
objects.remove(topObject);
|
||||
objects.add(0, topObject);
|
||||
}
|
||||
}
|
||||
|
||||
public static void show(LatLon latLon, Map<Object, IContextMenuProvider> selectedObjects, MapActivity mapActivity) {
|
||||
|
|
|
@ -400,6 +400,11 @@ public class OsMoPositionLayer extends OsmandMapLayer implements ContextMenuLaye
|
|||
}, 350);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOrder(Object o) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSelectedObject(Object o) {
|
||||
if(o instanceof OsMoDevice) {
|
||||
|
|
|
@ -39,6 +39,7 @@ public class ContextMenuLayer extends OsmandMapLayer {
|
|||
|
||||
public interface IContextMenuProviderSelection {
|
||||
|
||||
int getOrder(Object o);
|
||||
void setSelectedObject(Object o);
|
||||
void clearSelectedObject();
|
||||
}
|
||||
|
|
|
@ -403,10 +403,25 @@ public class DownloadedRegionsLayer extends OsmandMapLayer implements IContextMe
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOrder(Object o) {
|
||||
if (o instanceof BinaryMapDataObject) {
|
||||
String fullName = osmandRegions.getFullName((BinaryMapDataObject) o);
|
||||
final WorldRegion region = osmandRegions.getRegionData(fullName);
|
||||
if (region != null) {
|
||||
return region.getLevel();
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSelectedObject(Object o) {
|
||||
if (o instanceof BinaryMapDataObject) {
|
||||
List<BinaryMapDataObject> list = new LinkedList<>();
|
||||
if (selectedObjects != null) {
|
||||
list.addAll(selectedObjects);
|
||||
}
|
||||
list.add((BinaryMapDataObject) o);
|
||||
selectedObjects = list;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue