Merge branch 'master' into Fix_ic_action_fav_icon
# Conflicts: # OsmAnd/res/layout/along_the_route_point_item.xml # OsmAnd/res/layout/map_marker_item.xml # OsmAnd/res/layout/quick_action_add_dialog_item.xml # OsmAnd/res/layout/quick_action_add_favorite.xml # OsmAnd/res/layout/quick_action_add_gpx.xml # OsmAnd/res/layout/quick_action_create_edit_dialog.xml # OsmAnd/res/layout/quick_action_list_item.xml # OsmAnd/res/layout/route_waypoint_item.xml # OsmAnd/res/layout/waypoint_reached.xml
|
@ -54,7 +54,6 @@ public interface OsmAndCustomizationConstants {
|
||||||
String ROAD_STYLE_ID = RENDERING_ITEMS_ID_SCHEME + "road_style";
|
String ROAD_STYLE_ID = RENDERING_ITEMS_ID_SCHEME + "road_style";
|
||||||
String TEXT_SIZE_ID = RENDERING_ITEMS_ID_SCHEME + "text_size";
|
String TEXT_SIZE_ID = RENDERING_ITEMS_ID_SCHEME + "text_size";
|
||||||
String MAP_LANGUAGE_ID = RENDERING_ITEMS_ID_SCHEME + "map_language";
|
String MAP_LANGUAGE_ID = RENDERING_ITEMS_ID_SCHEME + "map_language";
|
||||||
String TRANSPORT_RENDERING_ID = RENDERING_ITEMS_ID_SCHEME + "transport";
|
|
||||||
String DETAILS_ID = RENDERING_ITEMS_ID_SCHEME + "details";
|
String DETAILS_ID = RENDERING_ITEMS_ID_SCHEME + "details";
|
||||||
String HIDE_ID = RENDERING_ITEMS_ID_SCHEME + "hide";
|
String HIDE_ID = RENDERING_ITEMS_ID_SCHEME + "hide";
|
||||||
String ROUTES_ID = RENDERING_ITEMS_ID_SCHEME + "routes";
|
String ROUTES_ID = RENDERING_ITEMS_ID_SCHEME + "routes";
|
||||||
|
|
|
@ -428,7 +428,10 @@ public class BinaryMapIndexReader {
|
||||||
if (ls.endsWith("_2")) {
|
if (ls.endsWith("_2")) {
|
||||||
ls = ls.substring(0, ls.length() - "_2".length());
|
ls = ls.substring(0, ls.length() - "_2".length());
|
||||||
}
|
}
|
||||||
return ls.substring(0, ls.lastIndexOf('_')).replace('_', ' ');
|
if (ls.lastIndexOf('_') != -1) {
|
||||||
|
ls = ls.substring(0, ls.lastIndexOf('_')).replace('_', ' ');
|
||||||
|
}
|
||||||
|
return ls;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -505,7 +508,7 @@ public class BinaryMapIndexReader {
|
||||||
finishInit.add(transportRoute);
|
finishInit.add(transportRoute);
|
||||||
}
|
}
|
||||||
TIntObjectHashMap<String> indexedStringTable = transportAdapter.initializeStringTable(ind, stringTable);
|
TIntObjectHashMap<String> indexedStringTable = transportAdapter.initializeStringTable(ind, stringTable);
|
||||||
for(TransportRoute transportRoute : finishInit ) {
|
for (TransportRoute transportRoute : finishInit) {
|
||||||
transportAdapter.initializeNames(false, transportRoute, indexedStringTable);
|
transportAdapter.initializeNames(false, transportRoute, indexedStringTable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1011,6 +1011,17 @@ public class RouteDataObject {
|
||||||
rf == null ? "" : rf);
|
rf == null ? "" : rf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean hasNameTagStartsWith(String tagStartsWith) {
|
||||||
|
int[] nextSegmentNameIds = nameIds;
|
||||||
|
for (int nm = 0; nm < nameIds.length; nm++) {
|
||||||
|
RouteTypeRule rtr = region.quickGetEncodingRule(nameIds[nm]);
|
||||||
|
if (rtr != null && rtr.getTag().startsWith(tagStartsWith)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public static class RestrictionInfo {
|
public static class RestrictionInfo {
|
||||||
public int type;
|
public int type;
|
||||||
public long toWay;
|
public long toWay;
|
||||||
|
|
|
@ -124,8 +124,10 @@ public class TransportRoute extends MapObject {
|
||||||
if(reverseSecond) {
|
if(reverseSecond) {
|
||||||
second.reverseNodes();
|
second.reverseNodes();
|
||||||
}
|
}
|
||||||
for (int i = 1; i < second.getNodes().size(); i++) {
|
if (first != second && (first.getId() < 0 || first.getId() != second.getId())) {
|
||||||
first.addNode(second.getNodes().get(i));
|
for (int i = 1; i < second.getNodes().size(); i++) {
|
||||||
|
first.addNode(second.getNodes().get(i));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
changed = true;
|
changed = true;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -291,8 +291,14 @@ public class SearchUICore {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T extends SearchCoreAPI> SearchResultCollection shallowSearch(Class<T> cl,
|
public <T extends SearchCoreAPI> SearchResultCollection shallowSearch(Class<T> cl, String text,
|
||||||
String text, final ResultMatcher<SearchResult> matcher) throws IOException {
|
ResultMatcher<SearchResult> matcher) throws IOException {
|
||||||
|
return shallowSearch(cl, text, matcher, true, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public <T extends SearchCoreAPI> SearchResultCollection shallowSearch(Class<T> cl, String text,
|
||||||
|
final ResultMatcher<SearchResult> matcher,
|
||||||
|
boolean resortAll, boolean removeDuplicates) throws IOException {
|
||||||
T api = getApiByClass(cl);
|
T api = getApiByClass(cl);
|
||||||
if (api != null) {
|
if (api != null) {
|
||||||
if (debugMode) {
|
if (debugMode) {
|
||||||
|
@ -306,7 +312,7 @@ public class SearchUICore {
|
||||||
|
|
||||||
SearchResultCollection collection = new SearchResultCollection(
|
SearchResultCollection collection = new SearchResultCollection(
|
||||||
sphrase);
|
sphrase);
|
||||||
collection.addSearchResults(rm.getRequestResults(), true, true);
|
collection.addSearchResults(rm.getRequestResults(), resortAll, removeDuplicates);
|
||||||
if (debugMode) {
|
if (debugMode) {
|
||||||
LOG.info("Finish shallow search <" + sphrase + "> Results=" + rm.getRequestResults().size());
|
LOG.info("Finish shallow search <" + sphrase + "> Results=" + rm.getRequestResults().size());
|
||||||
}
|
}
|
||||||
|
|
|
@ -1024,10 +1024,14 @@ public class OpeningHoursParser {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toRuleString() {
|
public String toRuleString() {
|
||||||
return toRuleString(daysStr, monthsStr);
|
return toRuleString(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
private String toRuleString(String[] dayNames, String[] monthNames) {
|
private String toRuleString(boolean useLocalization) {
|
||||||
|
String[] dayNames = useLocalization ? localDaysStr : daysStr;
|
||||||
|
String[] monthNames = useLocalization ? localMothsStr : monthsStr;
|
||||||
|
String offStr = useLocalization ? additionalStrings.get("off") : "off";
|
||||||
|
|
||||||
StringBuilder b = new StringBuilder(25);
|
StringBuilder b = new StringBuilder(25);
|
||||||
boolean allMonths = true;
|
boolean allMonths = true;
|
||||||
for (int i = 0; i < months.length; i++) {
|
for (int i = 0; i < months.length; i++) {
|
||||||
|
@ -1160,7 +1164,7 @@ public class OpeningHoursParser {
|
||||||
b.append("24/7 ");
|
b.append("24/7 ");
|
||||||
}
|
}
|
||||||
if (off) {
|
if (off) {
|
||||||
b.append(additionalStrings.get("off"));
|
b.append(offStr);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (isOpened24_7()) {
|
if (isOpened24_7()) {
|
||||||
|
@ -1182,7 +1186,7 @@ public class OpeningHoursParser {
|
||||||
formatTime(enHour, enTime, b);
|
formatTime(enHour, enTime, b);
|
||||||
}
|
}
|
||||||
if (off) {
|
if (off) {
|
||||||
b.append(" ").append(additionalStrings.get("off"));
|
b.append(" ").append(offStr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1238,7 +1242,7 @@ public class OpeningHoursParser {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toLocalRuleString() {
|
public String toLocalRuleString() {
|
||||||
return toRuleString(localDaysStr, localMothsStr);
|
return toRuleString(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -307,8 +307,8 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?attr/selectableItemBackground"
|
android:background="?attr/selectableItemBackground"
|
||||||
android:drawableStart="@drawable/ic_action_undo"
|
app:drawableLeftCompat="@drawable/ic_action_undo"
|
||||||
android:drawableLeft="@drawable/ic_action_undo"
|
app:drawableStartCompat="@drawable/ic_action_undo"
|
||||||
android:drawablePadding="@dimen/my_location_text_sides_margin"
|
android:drawablePadding="@dimen/my_location_text_sides_margin"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:minHeight="@dimen/list_item_height_min"
|
android:minHeight="@dimen/list_item_height_min"
|
||||||
|
@ -341,9 +341,9 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="bottom|center_horizontal"
|
android:layout_gravity="bottom|center_horizontal"
|
||||||
android:background="@drawable/extended_fab_bg"
|
android:background="@drawable/extended_fab_bg"
|
||||||
android:drawableLeft="@drawable/ic_action_share_location"
|
app:drawableLeftCompat="@drawable/ic_action_share_location"
|
||||||
|
app:drawableStartCompat="@drawable/ic_action_share_location"
|
||||||
android:drawablePadding="@dimen/content_padding_half"
|
android:drawablePadding="@dimen/content_padding_half"
|
||||||
android:drawableStart="@drawable/ic_action_share_location"
|
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:paddingLeft="32dp"
|
android:paddingLeft="32dp"
|
||||||
android:paddingRight="32dp"
|
android:paddingRight="32dp"
|
||||||
|
|
|
@ -255,7 +255,7 @@
|
||||||
<string name="time_zone">Часавы пояс</string>
|
<string name="time_zone">Часавы пояс</string>
|
||||||
<string name="units_and_formats">Адзінкі вымярэння і фарматы</string>
|
<string name="units_and_formats">Адзінкі вымярэння і фарматы</string>
|
||||||
<string name="unit_of_length_descr">Змяніць адзінкі вымярэння адлегласці.</string>
|
<string name="unit_of_length_descr">Змяніць адзінкі вымярэння адлегласці.</string>
|
||||||
<string name="unit_of_length">Адзінкі даўжыні</string>
|
<string name="unit_of_length">Адзінкі вымярэння адлегласці</string>
|
||||||
<string name="unit_of_speed_system_descr">Вызначце адзінку вымярэння хуткасці.</string>
|
<string name="unit_of_speed_system_descr">Вызначце адзінку вымярэння хуткасці.</string>
|
||||||
<string name="unit_of_speed_system">Адзінка вымярэння хуткасці</string>
|
<string name="unit_of_speed_system">Адзінка вымярэння хуткасці</string>
|
||||||
<string name="buffer_time_descr">Максімальны час захоўвання пунктаў у буферы</string>
|
<string name="buffer_time_descr">Максімальны час захоўвання пунктаў у буферы</string>
|
||||||
|
|
|
@ -3,4 +3,42 @@
|
||||||
<string name="shared_string_disable">Pois käytöstä</string>
|
<string name="shared_string_disable">Pois käytöstä</string>
|
||||||
<string name="shared_string_save">Tallenna</string>
|
<string name="shared_string_save">Tallenna</string>
|
||||||
<string name="add_device">Lisää laite</string>
|
<string name="add_device">Lisää laite</string>
|
||||||
|
<string name="si_mi_feet">Mailia/jalkaa</string>
|
||||||
|
<string name="si_min_m">Minuutteja mailille</string>
|
||||||
|
<string name="si_min_km">Minuutteja kilometrille</string>
|
||||||
|
<string name="si_m_s">Metriä sekunnissa</string>
|
||||||
|
<string name="si_mph">Mailia tunnissa</string>
|
||||||
|
<string name="si_kmh">Kilometriä tunnissa</string>
|
||||||
|
<string name="mile_per_hour">mph</string>
|
||||||
|
<string name="km_h">km/h</string>
|
||||||
|
<string name="m_s">m/s</string>
|
||||||
|
<string name="min_km">min/km</string>
|
||||||
|
<string name="min_mile">min/m</string>
|
||||||
|
<string name="m">m</string>
|
||||||
|
<string name="km">km</string>
|
||||||
|
<string name="shared_string_settings">Asetukset</string>
|
||||||
|
<string name="shared_string_cancel">Peruuta</string>
|
||||||
|
<string name="shared_string_continue">Jatka</string>
|
||||||
|
<string name="shared_string_back">Takaisin</string>
|
||||||
|
<string name="shared_string_share">Jaa</string>
|
||||||
|
<string name="shared_string_install">Asenna</string>
|
||||||
|
<string name="shared_string_off">Pois päältä</string>
|
||||||
|
<string name="shared_string_all">Kaikki</string>
|
||||||
|
<string name="shared_string_close">Sulje</string>
|
||||||
|
<string name="shared_string_exit">Poistu</string>
|
||||||
|
<string name="shared_string_name">Nimi</string>
|
||||||
|
<string name="shared_string_status">Tila</string>
|
||||||
|
<string name="shared_string_enabled">Käytössä</string>
|
||||||
|
<string name="shared_string_hide">Piilota</string>
|
||||||
|
<string name="shared_string_add">Lisää</string>
|
||||||
|
<string name="shared_string_map">Kartta</string>
|
||||||
|
<string name="average_speed">Keskinopeus</string>
|
||||||
|
<string name="average_altitude">Keskimääräinen korkeus</string>
|
||||||
|
<string name="shared_string_appearance">Ulkoasu</string>
|
||||||
|
<string name="shared_string_ok">OK</string>
|
||||||
|
<string name="shared_string_search">Etsi</string>
|
||||||
|
<string name="altitude">Korkeus</string>
|
||||||
|
<string name="shared_string_enable">Ota käyttöön</string>
|
||||||
|
<string name="shared_string_select">Valitse</string>
|
||||||
|
<string name="shared_string_apply">Käytä</string>
|
||||||
</resources>
|
</resources>
|
|
@ -56,7 +56,7 @@
|
||||||
<string name="minutes_format">%1$d min</string>
|
<string name="minutes_format">%1$d min</string>
|
||||||
<string name="hours_format">%1$d h</string>
|
<string name="hours_format">%1$d h</string>
|
||||||
<string name="shared_string_install">Instalar</string>
|
<string name="shared_string_install">Instalar</string>
|
||||||
<string name="shared_string_share">Compartillar</string>
|
<string name="shared_string_share">Compartir</string>
|
||||||
<string name="shared_string_back">Voltar</string>
|
<string name="shared_string_back">Voltar</string>
|
||||||
<string name="shared_string_add">Engadir</string>
|
<string name="shared_string_add">Engadir</string>
|
||||||
<string name="enter_another_device_name">Escolle un nome que aínda non está a ser empregado</string>
|
<string name="enter_another_device_name">Escolle un nome que aínda non está a ser empregado</string>
|
||||||
|
|
|
@ -52,7 +52,8 @@ android {
|
||||||
versionName System.getenv("APK_VERSION")? System.getenv("APK_VERSION").toString(): versionName
|
versionName System.getenv("APK_VERSION")? System.getenv("APK_VERSION").toString(): versionName
|
||||||
versionName System.getenv("APK_VERSION_SUFFIX")? versionName + System.getenv("APK_VERSION_SUFFIX").toString(): versionName
|
versionName System.getenv("APK_VERSION_SUFFIX")? versionName + System.getenv("APK_VERSION_SUFFIX").toString(): versionName
|
||||||
// Stops the Gradle plugin’s automatic rasterization of vectors
|
// Stops the Gradle plugin’s automatic rasterization of vectors
|
||||||
vectorDrawables.generatedDensities = ['hdpi']
|
// vectorDrawables.generatedDensities = ['hdpi']
|
||||||
|
vectorDrawables.useSupportLibrary = true
|
||||||
}
|
}
|
||||||
|
|
||||||
lintOptions {
|
lintOptions {
|
||||||
|
@ -84,7 +85,7 @@ android {
|
||||||
noCompress "qz"
|
noCompress "qz"
|
||||||
cruncherEnabled = false
|
cruncherEnabled = false
|
||||||
// Flag notifies aapt to keep the attribute IDs around
|
// Flag notifies aapt to keep the attribute IDs around
|
||||||
additionalParameters "--no-version-vectors"
|
// additionalParameters "--no-version-vectors"
|
||||||
}
|
}
|
||||||
|
|
||||||
dexOptions {
|
dexOptions {
|
||||||
|
@ -523,7 +524,7 @@ dependencies {
|
||||||
implementation 'androidx.gridlayout:gridlayout:1.0.0'
|
implementation 'androidx.gridlayout:gridlayout:1.0.0'
|
||||||
implementation 'androidx.cardview:cardview:1.0.0'
|
implementation 'androidx.cardview:cardview:1.0.0'
|
||||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
implementation 'androidx.appcompat:appcompat:1.1.0'
|
||||||
implementation 'com.google.android.material:material:1.2.0-alpha05'
|
implementation 'com.google.android.material:material:1.2.0-alpha06'
|
||||||
implementation 'androidx.browser:browser:1.0.0'
|
implementation 'androidx.browser:browser:1.0.0'
|
||||||
implementation 'androidx.preference:preference:1.1.0'
|
implementation 'androidx.preference:preference:1.1.0'
|
||||||
implementation fileTree(include: ['gnu-trove-osmand.jar', 'icu4j-49_1_patched.jar'], dir: 'libs')
|
implementation fileTree(include: ['gnu-trove-osmand.jar', 'icu4j-49_1_patched.jar'], dir: 'libs')
|
||||||
|
|
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 422 B |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 872 B |
Before Width: | Height: | Size: 490 B |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 189 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 515 B |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 621 B |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1 KiB |
Before Width: | Height: | Size: 1 KiB |
Before Width: | Height: | Size: 1 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 640 B |
Before Width: | Height: | Size: 541 B |
Before Width: | Height: | Size: 474 B |
Before Width: | Height: | Size: 346 B |
Before Width: | Height: | Size: 359 B |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 573 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 433 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 474 B |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 353 B |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.5 KiB |