Support poi additional tags in special phrases
This commit is contained in:
parent
e9c9fe54bc
commit
ec40767031
2 changed files with 13 additions and 6 deletions
|
@ -9,6 +9,7 @@ import net.osmand.data.Amenity;
|
||||||
import net.osmand.data.AmenityType;
|
import net.osmand.data.AmenityType;
|
||||||
import net.osmand.data.City.CityType;
|
import net.osmand.data.City.CityType;
|
||||||
import net.osmand.plus.OsmandSettings.MetricsConstants;
|
import net.osmand.plus.OsmandSettings.MetricsConstants;
|
||||||
|
import net.osmand.util.Algorithms;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
public class OsmAndFormatter {
|
public class OsmAndFormatter {
|
||||||
|
@ -201,6 +202,7 @@ public class OsmAndFormatter {
|
||||||
StringBuilder d = new StringBuilder();
|
StringBuilder d = new StringBuilder();
|
||||||
for(Entry<String, String> e : amenity.getAdditionalInfo().entrySet()) {
|
for(Entry<String, String> e : amenity.getAdditionalInfo().entrySet()) {
|
||||||
String key = e.getKey();
|
String key = e.getKey();
|
||||||
|
String vl = e.getValue();
|
||||||
if(Amenity.DESCRIPTION.equals(key)) {
|
if(Amenity.DESCRIPTION.equals(key)) {
|
||||||
if(amenity.getType() == AmenityType.OSMWIKI && shortDescription) {
|
if(amenity.getType() == AmenityType.OSMWIKI && shortDescription) {
|
||||||
continue;
|
continue;
|
||||||
|
@ -215,9 +217,14 @@ public class OsmAndFormatter {
|
||||||
}
|
}
|
||||||
d.append(ctx.getString(R.string.website) + ": ");
|
d.append(ctx.getString(R.string.website) + ": ");
|
||||||
} else {
|
} else {
|
||||||
d.append(e.getKey() + ": ");
|
vl = SpecialPhrases.getSpecialPhrase(e.getKey() + "_" + e.getValue(), null);
|
||||||
|
if(vl == null){
|
||||||
|
vl = SpecialPhrases.getSpecialPhrase(e.getKey(),
|
||||||
|
Algorithms.capitalizeFirstLetterAndLowercase(e.getKey())) + ": ";
|
||||||
|
vl += SpecialPhrases.getSpecialPhrase(e.getValue(), e.getValue());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
d.append(e.getValue()).append('\n');
|
d.append(vl).append('\n');
|
||||||
}
|
}
|
||||||
return d.toString().trim();
|
return d.toString().trim();
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,17 +30,17 @@ public class SpecialPhrases {
|
||||||
*/
|
*/
|
||||||
public static String getSpecialPhrase(String value, String defValue) {
|
public static String getSpecialPhrase(String value, String defValue) {
|
||||||
if (m == null) {
|
if (m == null) {
|
||||||
// do not throw exception because OsmAndApplication is not always initiliazed before
|
// do not throw exception because OsmAndApplication is not always initiliazed before
|
||||||
// this call
|
// this call
|
||||||
log.warn("The language has not been set for special phrases");
|
log.warn("The language has not been set for special phrases");
|
||||||
return value;
|
return value;
|
||||||
|
|
||||||
}
|
}
|
||||||
String specialValue = m.get(value);
|
String specialValue = m.get(value);
|
||||||
if(Algorithms.isEmpty(specialValue)) {
|
if (Algorithms.isEmpty(specialValue)) {
|
||||||
specialValue = defValue;
|
specialValue = defValue;
|
||||||
}
|
}
|
||||||
return specialValue.replace('_', ' ');
|
return specialValue == null ? null : specialValue.replace('_', ' ');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue