Compare commits

...

5 commits
master ... r1.7

Author SHA1 Message Date
vshcherb
5df6b3caf2 Fix crash 2014-04-12 00:30:09 +02:00
vshcherb
84e684d2e9 Update contribution activity 2014-04-10 01:45:49 +02:00
vshcherb
fc241fa688 Fix bug in countries with mph limits 2014-04-07 00:55:53 +02:00
vshcherb
d97c6ce0da Fix small issues 1.7 2014-04-04 01:11:11 +02:00
vshcherb
4fb5b205c1 Fix small issues 1.7 2014-04-04 01:10:05 +02:00
7 changed files with 38 additions and 22 deletions

View file

@ -21,7 +21,7 @@ import net.osmand.util.MapUtils;
public class GeneralRouter implements VehicleRouter { public class GeneralRouter implements VehicleRouter {
private static final float CAR_SHORTEST_DEFAULT_SPEED = 45/3.6f; private static final float CAR_SHORTEST_DEFAULT_SPEED = 55/3.6f;
public static final String USE_SHORTEST_WAY = "short_way"; public static final String USE_SHORTEST_WAY = "short_way";
public static final String AVOID_FERRIES = "avoid_ferries"; public static final String AVOID_FERRIES = "avoid_ferries";
public static final String AVOID_TOLL = "avoid_toll"; public static final String AVOID_TOLL = "avoid_toll";
@ -45,7 +45,9 @@ public class GeneralRouter implements VehicleRouter {
private float leftTurn; private float leftTurn;
private float roundaboutTurn; private float roundaboutTurn;
private float rightTurn; private float rightTurn;
// speed in m/s
private float minDefaultSpeed = 10; private float minDefaultSpeed = 10;
// speed in m/s
private float maxDefaultSpeed = 10; private float maxDefaultSpeed = 10;
@ -278,7 +280,7 @@ public class GeneralRouter implements VehicleRouter {
@Override @Override
public float defineVehicleSpeed(RouteDataObject road) { public float defineVehicleSpeed(RouteDataObject road) {
return getObjContext(RouteDataObjectAttribute.ROAD_SPEED) .evaluateFloat(road, getMinDefaultSpeed() * 3.6f) / 3.6f; return getObjContext(RouteDataObjectAttribute.ROAD_SPEED) .evaluateFloat(road, getMinDefaultSpeed());
} }
@Override @Override

View file

@ -143,6 +143,7 @@ public class RoutingConfiguration {
final RoutingConfiguration.Builder config = new RoutingConfiguration.Builder(); final RoutingConfiguration.Builder config = new RoutingConfiguration.Builder();
GeneralRouter currentRouter = null; GeneralRouter currentRouter = null;
RouteDataObjectAttribute currentAttribute = null; RouteDataObjectAttribute currentAttribute = null;
String preType = null;
Stack<RoutingRule> rulesStck = new Stack<RoutingConfiguration.RoutingRule>(); Stack<RoutingRule> rulesStck = new Stack<RoutingConfiguration.RoutingRule>();
parser.setInput(is, "UTF-8"); parser.setInput(is, "UTF-8");
int tok; int tok;
@ -160,8 +161,9 @@ public class RoutingConfiguration {
} else if ("point".equals(name) || "way".equals(name)) { } else if ("point".equals(name) || "way".equals(name)) {
String attribute = parser.getAttributeValue("", "attribute"); String attribute = parser.getAttributeValue("", "attribute");
currentAttribute = RouteDataObjectAttribute.getValueOf(attribute); currentAttribute = RouteDataObjectAttribute.getValueOf(attribute);
preType = parser.getAttributeValue("", "type");
} else { } else {
parseRoutingRule(parser, currentRouter, currentAttribute, rulesStck); parseRoutingRule(parser, currentRouter, currentAttribute, preType, rulesStck);
} }
} else if (tok == XmlPullParser.END_TAG) { } else if (tok == XmlPullParser.END_TAG) {
String pname = parser.getName(); String pname = parser.getName();
@ -207,7 +209,7 @@ public class RoutingConfiguration {
} }
private static void parseRoutingRule(XmlPullParser parser, GeneralRouter currentRouter, RouteDataObjectAttribute attr, private static void parseRoutingRule(XmlPullParser parser, GeneralRouter currentRouter, RouteDataObjectAttribute attr,
Stack<RoutingRule> stack) { String parentType, Stack<RoutingRule> stack) {
String pname = parser.getName(); String pname = parser.getName();
if (checkTag(pname)) { if (checkTag(pname)) {
if(attr == null){ if(attr == null){
@ -221,11 +223,15 @@ public class RoutingConfiguration {
rr.value1 = parser.getAttributeValue("", "value1"); rr.value1 = parser.getAttributeValue("", "value1");
rr.value2 = parser.getAttributeValue("", "value2"); rr.value2 = parser.getAttributeValue("", "value2");
rr.type = parser.getAttributeValue("", "type"); rr.type = parser.getAttributeValue("", "type");
if((rr.type == null || rr.type.length() == 0) &&
parentType != null && parentType.length() > 0) {
rr.type = parentType;
}
RouteAttributeContext ctx = currentRouter.getObjContext(attr); RouteAttributeContext ctx = currentRouter.getObjContext(attr);
if("select".equals(rr.tagName)) { if("select".equals(rr.tagName)) {
String val = parser.getAttributeValue("", "value"); String val = parser.getAttributeValue("", "value");
String type = parser.getAttributeValue("", "type"); String type = rr.type;
ctx.registerNewRule(val, type); ctx.registerNewRule(val, type);
addSubclause(rr, ctx); addSubclause(rr, ctx);
for (int i = 0; i < stack.size(); i++) { for (int i = 0; i < stack.size(); i++) {

View file

@ -1672,9 +1672,9 @@ Si consiglia di aggiungere uno o più punti intermedi per migliorarne le prestaz
\n\t* Scomparsa automatica dei pulsanti nella modalità navigazione ↵ \n\t* Scomparsa automatica dei pulsanti nella modalità navigazione ↵
\n\t* Calcolo del percorso offline verso il primo punto della traccia GPX (opzione \'percorri tutta la traccia\')↵ \n\t* Calcolo del percorso offline verso il primo punto della traccia GPX (opzione \'percorri tutta la traccia\')↵
→\n\t* Simulazione attiva nei tunnel↵ →\n\t* Simulazione attiva nei tunnel↵
→\n\t* Molte piccole migliorie dell'interfaccia utente &amp; correzioni usabilità↵ →\n\t* Molte piccole migliorie dell\'interfaccia utente &amp; correzioni usabilità↵
→\n\t* Impostazioni della velocità della vocalizzazione↵ →\n\t* Impostazioni della velocità della vocalizzazione↵
</string> </string>
<string name="calculate_osmand_route_without_internet">Calcola un percorso con OsmAnd senza l'utilizzo di internet</string> <string name="calculate_osmand_route_without_internet">Calcola un percorso con OsmAnd senza l\'utilizzo di internet</string>
<string name="gpx_option_calculate_first_last_segment">Calcola una percorso OsmAnd per il primo e l'ultimo tratto del percorso</string> <string name="gpx_option_calculate_first_last_segment">Calcola una percorso OsmAnd per il primo e l\'ultimo tratto del percorso</string>
</resources> </resources>

View file

@ -1482,7 +1482,7 @@
<string name="calculate_osmand_route_without_internet">Рассчитать сегмент маршрута OsmAnd без Интернета</string> <string name="calculate_osmand_route_without_internet">Рассчитать сегмент маршрута OsmAnd без Интернета</string>
<string name="gpx_option_calculate_first_last_segment">Рассчитать маршрут OsmAnd для первого и последнего сегмента маршрута</string> <string name="gpx_option_calculate_first_last_segment">Рассчитать маршрут OsmAnd для первого и последнего сегмента маршрута</string>
<string name="tip_map_styles_t">OsmAnd поддерживает отображение скачанных векторных карт в разных стилях, в соответствии с вашими потребностями: <string name="tip_map_styles_t">OsmAnd поддерживает отображение скачанных векторных карт в разных стилях, в соответствии с вашими потребностями:
\n\nКроме сбалансированного стиля Карты '\по умолчанию\', Вы можете в \'Меню\'→ \'Настройка экрана\'→ \'Стиль карты\" выбрать например стили \n\nКроме сбалансированного стиля Карты \'по умолчанию\', Вы можете в \'Меню\'→ \'Настройка экрана\'→ \'Стиль карты\" выбрать например стили
\n\t* \'Туристический\', который содержит наиболее подробную информацию, подходящую для путешествий и туризма, включая оптимизированный для профессиональных водителей (имеет более высокую контрастность, хорошо различимые дороги), варианты горных походов, велосипедных маршрутов, поддержка походных символов и т.д. \n\t* \'Туристический\', который содержит наиболее подробную информацию, подходящую для путешествий и туризма, включая оптимизированный для профессиональных водителей (имеет более высокую контрастность, хорошо различимые дороги), варианты горных походов, велосипедных маршрутов, поддержка походных символов и т.д.
\n\t* \'Высококонтрастные дороги\' показывает дороги в акцентировнных цветах, что удобно при ярком окружающем освещении \n\t* \'Высококонтрастные дороги\' показывает дороги в акцентировнных цветах, что удобно при ярком окружающем освещении
\n\t* \'Зима и лыжи\' использует зимний(покрытый снегом) ландшафтный вид, показывает лыжные склоны и подъемники (используется загрузка карт \'World Ski\') \n\t* \'Зима и лыжи\' использует зимний(покрытый снегом) ландшафтный вид, показывает лыжные склоны и подъемники (используется загрузка карт \'World Ski\')

View file

@ -143,7 +143,6 @@ public class SettingsActivity extends SettingsBaseActivity {
edition = getString(R.string.local_index_installed) + " :\t" + DateFormat.getDateFormat(getApplicationContext()).format(date); edition = getString(R.string.local_index_installed) + " :\t" + DateFormat.getDateFormat(getApplicationContext()).format(date);
} catch (Exception e) { } catch (Exception e) {
} }
}
SpannableString content = new SpannableString(vt + version +"\n" + SpannableString content = new SpannableString(vt + version +"\n" +
edition +"\n\n"+ edition +"\n\n"+
getString(R.string.about_content)); getString(R.string.about_content));
@ -156,6 +155,11 @@ public class SettingsActivity extends SettingsBaseActivity {
}, st, st + version.length(), 0); }, st, st + version.length(), 0);
tv.setText(content); tv.setText(content);
} else {
tv.setText(vt + version +"\n\n" +
getString(R.string.about_content));
}
tv.setPadding(5, 0, 5, 5); tv.setPadding(5, 0, 5, 5);
tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 19); tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 19);
tv.setMovementMethod(LinkMovementMethod.getInstance()); tv.setMovementMethod(LinkMovementMethod.getInstance());

View file

@ -245,6 +245,7 @@ public class SettingsNavigationActivity extends SettingsBaseActivity {
routerServicePreference.setSummary(getString(R.string.router_service_descr) + " [" routerServicePreference.setSummary(getString(R.string.router_service_descr) + " ["
+ settings.ROUTER_SERVICE.get() + "]"); + settings.ROUTER_SERVICE.get() + "]");
prepareRoutingPrefs(getPreferenceScreen()); prepareRoutingPrefs(getPreferenceScreen());
super.updateAllSettings();
} }
return true; return true;
} }

View file

@ -236,7 +236,10 @@ public abstract class SearchByNameAbstractActivity<T> extends OsmandListActivity
@Override @Override
protected void onRestoreInstanceState(Bundle prevState) { protected void onRestoreInstanceState(Bundle prevState) {
endingText = prevState.getString("ENDING_TEXT", ""); endingText = prevState.getString("ENDING_TEXT");
if(endingText == null) {
endingText = "";
}
previousSpan = prevState.getParcelable("PREVIOUS_SPAN"); previousSpan = prevState.getParcelable("PREVIOUS_SPAN");
super.onRestoreInstanceState(prevState); super.onRestoreInstanceState(prevState);
} }