Merge
This commit is contained in:
commit
85a9050476
6 changed files with 94 additions and 12 deletions
|
@ -47,6 +47,11 @@ public class OsmandRegions {
|
||||||
Map<String, String> fullNamesToLowercaseIndex = new HashMap<String, String>();
|
Map<String, String> fullNamesToLowercaseIndex = new HashMap<String, String>();
|
||||||
Map<String, String> fullNamesToParentFullNames = new HashMap<String, String>();
|
Map<String, String> fullNamesToParentFullNames = new HashMap<String, String>();
|
||||||
Map<String, String> fullNamesToDownloadNames = new HashMap<String, String>();
|
Map<String, String> fullNamesToDownloadNames = new HashMap<String, String>();
|
||||||
|
Map<String, String> fullNamesToLangs = new HashMap<String, String>();
|
||||||
|
Map<String, String> fullNamesToMetrics = new HashMap<String, String>();
|
||||||
|
Map<String, String> fullNamesToLeftHandDrivings = new HashMap<String, String>();
|
||||||
|
Map<String, String> fullNamesToRoadSigns = new HashMap<String, String>();
|
||||||
|
|
||||||
QuadTree<String> quadTree = null ;
|
QuadTree<String> quadTree = null ;
|
||||||
|
|
||||||
public Map<String, String> getFullNamesToLowercaseCopy() {
|
public Map<String, String> getFullNamesToLowercaseCopy() {
|
||||||
|
@ -60,6 +65,10 @@ public class OsmandRegions {
|
||||||
Integer nameType = null;
|
Integer nameType = null;
|
||||||
Integer nameLocaleType = null;
|
Integer nameLocaleType = null;
|
||||||
String locale = "en";
|
String locale = "en";
|
||||||
|
Integer langType = null;
|
||||||
|
Integer metricType = null;
|
||||||
|
Integer leftHandDrivingType = null;
|
||||||
|
Integer roadSignsType = null;
|
||||||
|
|
||||||
|
|
||||||
public void prepareFile(String fileName) throws IOException {
|
public void prepareFile(String fileName) throws IOException {
|
||||||
|
@ -71,6 +80,38 @@ public class OsmandRegions {
|
||||||
return countriesByDownloadName.containsKey(name);
|
return countriesByDownloadName.containsKey(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getLang(String fullName) {
|
||||||
|
return fullNamesToLangs.get(fullName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMetric(String fullName) {
|
||||||
|
return fullNamesToMetrics.get(fullName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLeftHandDriving(String fullName) {
|
||||||
|
return fullNamesToLeftHandDrivings.get(fullName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRoadSigns(String fullName) {
|
||||||
|
return fullNamesToRoadSigns.get(fullName);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getLang(BinaryMapDataObject o) {
|
||||||
|
return o.getNameByType(langType);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getMetric(BinaryMapDataObject o) {
|
||||||
|
return o.getNameByType(metricType);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getLeftHandDriving(BinaryMapDataObject o) {
|
||||||
|
return o.getNameByType(leftHandDrivingType);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getRoadSigns(BinaryMapDataObject o) {
|
||||||
|
return o.getNameByType(roadSignsType);
|
||||||
|
}
|
||||||
|
|
||||||
public String getDownloadName(BinaryMapDataObject o) {
|
public String getDownloadName(BinaryMapDataObject o) {
|
||||||
if(downloadNameType == null) {
|
if(downloadNameType == null) {
|
||||||
return null;
|
return null;
|
||||||
|
@ -367,6 +408,24 @@ public class OsmandRegions {
|
||||||
fullNamesToLocaleNames.put(fullName, locName);
|
fullNamesToLocaleNames.put(fullName, locName);
|
||||||
fullNamesNoParentToLocaleNames.put(fullName, locName);
|
fullNamesNoParentToLocaleNames.put(fullName, locName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String lang = getLang(object);
|
||||||
|
if(!Algorithms.isEmpty(lang)){
|
||||||
|
fullNamesToLangs.put(fullName, lang);
|
||||||
|
}
|
||||||
|
String metric = getMetric(object);
|
||||||
|
if(!Algorithms.isEmpty(metric)){
|
||||||
|
fullNamesToMetrics.put(fullName, metric);
|
||||||
|
}
|
||||||
|
String leftHandDriving = getLeftHandDriving(object);
|
||||||
|
if(!Algorithms.isEmpty(leftHandDriving)){
|
||||||
|
fullNamesToLeftHandDrivings.put(fullName, leftHandDriving);
|
||||||
|
}
|
||||||
|
String roadSigns = getRoadSigns(object);
|
||||||
|
if(!Algorithms.isEmpty(roadSigns)){
|
||||||
|
fullNamesToRoadSigns.put(fullName, roadSigns);
|
||||||
|
}
|
||||||
|
|
||||||
MapIndex mi = object.getMapIndex();
|
MapIndex mi = object.getMapIndex();
|
||||||
TIntObjectIterator<String> it = object.getObjectNames().iterator();
|
TIntObjectIterator<String> it = object.getObjectNames().iterator();
|
||||||
StringBuilder ind = new StringBuilder();
|
StringBuilder ind = new StringBuilder();
|
||||||
|
@ -518,6 +577,11 @@ public class OsmandRegions {
|
||||||
parentFullName = object.getMapIndex().getRule("region_parent_name", null);
|
parentFullName = object.getMapIndex().getRule("region_parent_name", null);
|
||||||
fullNameType = object.getMapIndex().getRule("region_full_name", null);
|
fullNameType = object.getMapIndex().getRule("region_full_name", null);
|
||||||
|
|
||||||
|
langType = object.getMapIndex().getRule("lang", null);
|
||||||
|
metricType = object.getMapIndex().getRule("metric", null);
|
||||||
|
leftHandDrivingType = object.getMapIndex().getRule("left_hand_driving", null);
|
||||||
|
roadSignsType = object.getMapIndex().getRule("road_signs", null);
|
||||||
|
|
||||||
if (downloadNameType == null || nameType == null) {
|
if (downloadNameType == null || nameType == null) {
|
||||||
throw new IllegalStateException();
|
throw new IllegalStateException();
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,10 +68,10 @@
|
||||||
android:id="@+id/button_replace"
|
android:id="@+id/button_replace"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@color/color_transparent"
|
android:background="?android:selectableItemBackground"
|
||||||
android:textColor="@color/color_dialog_buttons"
|
android:textColor="?attr/contextMenuButtonColor"
|
||||||
android:text="@string/update_existing"
|
android:text="@string/update_existing"
|
||||||
android:visibility="gone"/>
|
android:visibility="visible"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
|
@ -448,8 +448,7 @@ POIの更新は利用できません</string>
|
||||||
<string name="shared_string_close">閉じる</string>
|
<string name="shared_string_close">閉じる</string>
|
||||||
<string name="loading_data">データをロード中…</string>
|
<string name="loading_data">データをロード中…</string>
|
||||||
<string name="reading_indexes">索引を読み込み中…</string>
|
<string name="reading_indexes">索引を読み込み中…</string>
|
||||||
<string name="previous_run_crashed">前回のアプリケーション実行はクラッシュしました。
|
<string name="previous_run_crashed">前回アプリケーション実行中にクラッシュしました。 詳細は{0}に記録されています。報告する場合はログファイルの添付をお願いします。</string>
|
||||||
ログファイルは{0}にあります。ログファイルを添付して問題を報告してください。</string>
|
|
||||||
<string name="saving_gpx_tracks">GPX経路をSDに保存中…</string>
|
<string name="saving_gpx_tracks">GPX経路をSDに保存中…</string>
|
||||||
<string name="finished_task">終了</string>
|
<string name="finished_task">終了</string>
|
||||||
|
|
||||||
|
@ -1161,10 +1160,10 @@ POIの更新は利用できません</string>
|
||||||
<string name="index_name_europe">ヨーロッパ</string>
|
<string name="index_name_europe">ヨーロッパ</string>
|
||||||
<string name="index_name_france">ヨーロッパ - フランス</string>
|
<string name="index_name_france">ヨーロッパ - フランス</string>
|
||||||
<string name="index_name_germany">ヨーロッパ - ドイツ</string>
|
<string name="index_name_germany">ヨーロッパ - ドイツ</string>
|
||||||
<string name="index_name_russia">ヨーロッパ/アジア - ロシア</string>
|
<string name="index_name_russia">ロシア</string>
|
||||||
<string name="index_name_africa">アフリカ</string>
|
<string name="index_name_africa">アフリカ</string>
|
||||||
<string name="index_name_asia">アジア</string>
|
<string name="index_name_asia">アジア</string>
|
||||||
<string name="index_name_oceania">オセアニア</string>
|
<string name="index_name_oceania">オーストラリアとオセアニア</string>
|
||||||
<string name="index_name_other">ワールドワイドとトピックマップ</string>
|
<string name="index_name_other">ワールドワイドとトピックマップ</string>
|
||||||
<string name="index_name_wiki">ワールドワイドウィキペディアPOI</string>
|
<string name="index_name_wiki">ワールドワイドウィキペディアPOI</string>
|
||||||
<string name="index_name_voice">音声指示(記録音声、機能限定)</string>
|
<string name="index_name_voice">音声指示(記録音声、機能限定)</string>
|
||||||
|
@ -1816,7 +1815,7 @@ POIの更新は利用できません</string>
|
||||||
<string name="traffic_warning_stop">一時停止標識</string>
|
<string name="traffic_warning_stop">一時停止標識</string>
|
||||||
<string name="traffic_warning_calming">速度抑制</string>
|
<string name="traffic_warning_calming">速度抑制</string>
|
||||||
<string name="traffic_warning_speed_camera">スピードカメラ</string>
|
<string name="traffic_warning_speed_camera">スピードカメラ</string>
|
||||||
<string name="traffic_warning">交通警告</string>
|
<string name="traffic_warning">通行に関する警告</string>
|
||||||
<string name="local_index_description">選択解除または削除するには長押し、詳細を見るにはタップして下さい。現在のデバイス上のデータ(空き容量 %1$s):</string>
|
<string name="local_index_description">選択解除または削除するには長押し、詳細を見るにはタップして下さい。現在のデバイス上のデータ(空き容量 %1$s):</string>
|
||||||
<string name="speed_limit_exceed">制限速度の許容範囲</string>
|
<string name="speed_limit_exceed">制限速度の許容範囲</string>
|
||||||
<string name="speed_limit_exceed_message">制限速度超過による警告音声の許容値を選択します</string>
|
<string name="speed_limit_exceed_message">制限速度超過による警告音声の許容値を選択します</string>
|
||||||
|
@ -2112,7 +2111,7 @@ POIの更新は利用できません</string>
|
||||||
<string name="rendering_value_boldOutline_name">太線</string>
|
<string name="rendering_value_boldOutline_name">太線</string>
|
||||||
<string name="no_updates_available">更新はありません</string>
|
<string name="no_updates_available">更新はありません</string>
|
||||||
<string name="download_live_updates">ライブ更新</string>
|
<string name="download_live_updates">ライブ更新</string>
|
||||||
<string name="we_really_care_about_your_opinion">私達は常にユーザーを気に掛け、個々の意見を参考にすることを重要視しています。</string>
|
<string name="we_really_care_about_your_opinion">我々はあなた方の意見やフィードバックを大切にし、それらを開発に生かせるよう努めています。</string>
|
||||||
<string name="failed_to_upload">アップロードに失敗しました</string>
|
<string name="failed_to_upload">アップロードに失敗しました</string>
|
||||||
<string name="delete_change">変更を削除します</string>
|
<string name="delete_change">変更を削除します</string>
|
||||||
<string name="successfully_uploaded_pattern">正常にアップロードされました {0}/{1}</string>
|
<string name="successfully_uploaded_pattern">正常にアップロードされました {0}/{1}</string>
|
||||||
|
@ -2152,7 +2151,7 @@ POIの更新は利用できません</string>
|
||||||
<string name="tab_title_basic">基本</string>
|
<string name="tab_title_basic">基本</string>
|
||||||
<string name="tab_title_advanced">拡張</string>
|
<string name="tab_title_advanced">拡張</string>
|
||||||
<string name="show_on_start">起動時に表示</string>
|
<string name="show_on_start">起動時に表示</string>
|
||||||
<string name="count_of_lines">表示する数の指定</string>
|
<string name="count_of_lines">表示数の選択</string>
|
||||||
<string name="address_unknown">住所はまだ登録されていません</string>
|
<string name="address_unknown">住所はまだ登録されていません</string>
|
||||||
<string name="favorite_category_dublicate_message">指定したカテゴリ名は既に使用されています。別の名前を付けてください。</string>
|
<string name="favorite_category_dublicate_message">指定したカテゴリ名は既に使用されています。別の名前を付けてください。</string>
|
||||||
<string name="favorite_category_name">カテゴリ名</string>
|
<string name="favorite_category_name">カテゴリ名</string>
|
||||||
|
|
|
@ -42,6 +42,7 @@
|
||||||
<attr name="new_app_theme" format="reference"/>
|
<attr name="new_app_theme" format="reference"/>
|
||||||
|
|
||||||
<attr name="divider_color" format="reference" />
|
<attr name="divider_color" format="reference" />
|
||||||
|
<attr name="contextMenuButtonColor" format="reference" />
|
||||||
</declare-styleable>
|
</declare-styleable>
|
||||||
|
|
||||||
<declare-styleable name="PagerSlidingTabStrip">
|
<declare-styleable name="PagerSlidingTabStrip">
|
||||||
|
|
|
@ -113,6 +113,8 @@
|
||||||
<item name="toolbar_theme">@style/OsmandLightTheme.Toolbar</item>
|
<item name="toolbar_theme">@style/OsmandLightTheme.Toolbar</item>
|
||||||
<item name="new_app_theme">@style/OsmandLightTheme.NewAppTheme</item>
|
<item name="new_app_theme">@style/OsmandLightTheme.NewAppTheme</item>
|
||||||
<item name="android:textColorSecondary">@color/icon_color</item>
|
<item name="android:textColorSecondary">@color/icon_color</item>
|
||||||
|
<item name="contextMenuButtonColor">@color/map_widget_blue</item>
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="OsmandLightTheme.DarkActionbar">
|
<style name="OsmandLightTheme.DarkActionbar">
|
||||||
|
@ -191,6 +193,8 @@
|
||||||
<item name="toolbar_theme">@style/OsmandDarkTheme</item>
|
<item name="toolbar_theme">@style/OsmandDarkTheme</item>
|
||||||
<item name="new_app_theme">@style/OsmandDarkTheme</item>
|
<item name="new_app_theme">@style/OsmandDarkTheme</item>
|
||||||
<item name="android:textColorSecondary">@color/dash_search_icon_dark</item>
|
<item name="android:textColorSecondary">@color/dash_search_icon_dark</item>
|
||||||
|
|
||||||
|
<item name="contextMenuButtonColor">@color/osmand_orange</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,21 @@ public class WorldRegion {
|
||||||
private List<WorldRegion> subregions;
|
private List<WorldRegion> subregions;
|
||||||
private List<WorldRegion> flattenedSubregions;
|
private List<WorldRegion> flattenedSubregions;
|
||||||
|
|
||||||
|
public String getLang(OsmandRegions osmandRegions) {
|
||||||
|
return osmandRegions.getLang(regionId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMetric(OsmandRegions osmandRegions) {
|
||||||
|
return osmandRegions.getMetric(regionId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLeftHandDriving(OsmandRegions osmandRegions) {
|
||||||
|
return osmandRegions.getLeftHandDriving(regionId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRoadSigns(OsmandRegions osmandRegions) {
|
||||||
|
return osmandRegions.getRoadSigns(regionId);
|
||||||
|
}
|
||||||
|
|
||||||
public String getRegionId() {
|
public String getRegionId() {
|
||||||
return regionId;
|
return regionId;
|
||||||
|
@ -96,8 +110,8 @@ public class WorldRegion {
|
||||||
private WorldRegion init(String regionId, OsmandRegions osmandRegions, String name) {
|
private WorldRegion init(String regionId, OsmandRegions osmandRegions, String name) {
|
||||||
this.regionId = regionId;
|
this.regionId = regionId;
|
||||||
String downloadName = osmandRegions.getDownloadName(regionId);
|
String downloadName = osmandRegions.getDownloadName(regionId);
|
||||||
this.searchText = osmandRegions.getDownloadNameIndexLowercase(downloadName);
|
|
||||||
if (downloadName != null) {
|
if (downloadName != null) {
|
||||||
|
this.searchText = osmandRegions.getDownloadNameIndexLowercase(downloadName);
|
||||||
downloadsId = downloadName.toLowerCase();
|
downloadsId = downloadName.toLowerCase();
|
||||||
} else {
|
} else {
|
||||||
downloadsId = regionId.toLowerCase();
|
downloadsId = regionId.toLowerCase();
|
||||||
|
|
Loading…
Reference in a new issue