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 {
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 AVOID_FERRIES = "avoid_ferries";
public static final String AVOID_TOLL = "avoid_toll";
@ -45,7 +45,9 @@ public class GeneralRouter implements VehicleRouter {
private float leftTurn;
private float roundaboutTurn;
private float rightTurn;
// speed in m/s
private float minDefaultSpeed = 10;
// speed in m/s
private float maxDefaultSpeed = 10;
@ -278,7 +280,7 @@ public class GeneralRouter implements VehicleRouter {
@Override
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

View file

@ -143,6 +143,7 @@ public class RoutingConfiguration {
final RoutingConfiguration.Builder config = new RoutingConfiguration.Builder();
GeneralRouter currentRouter = null;
RouteDataObjectAttribute currentAttribute = null;
String preType = null;
Stack<RoutingRule> rulesStck = new Stack<RoutingConfiguration.RoutingRule>();
parser.setInput(is, "UTF-8");
int tok;
@ -160,8 +161,9 @@ public class RoutingConfiguration {
} else if ("point".equals(name) || "way".equals(name)) {
String attribute = parser.getAttributeValue("", "attribute");
currentAttribute = RouteDataObjectAttribute.getValueOf(attribute);
preType = parser.getAttributeValue("", "type");
} else {
parseRoutingRule(parser, currentRouter, currentAttribute, rulesStck);
parseRoutingRule(parser, currentRouter, currentAttribute, preType, rulesStck);
}
} else if (tok == XmlPullParser.END_TAG) {
String pname = parser.getName();
@ -207,7 +209,7 @@ public class RoutingConfiguration {
}
private static void parseRoutingRule(XmlPullParser parser, GeneralRouter currentRouter, RouteDataObjectAttribute attr,
Stack<RoutingRule> stack) {
String parentType, Stack<RoutingRule> stack) {
String pname = parser.getName();
if (checkTag(pname)) {
if(attr == null){
@ -221,11 +223,15 @@ public class RoutingConfiguration {
rr.value1 = parser.getAttributeValue("", "value1");
rr.value2 = parser.getAttributeValue("", "value2");
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);
if("select".equals(rr.tagName)) {
String val = parser.getAttributeValue("", "value");
String type = parser.getAttributeValue("", "type");
String type = rr.type;
ctx.registerNewRule(val, type);
addSubclause(rr, ctx);
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* Calcolo del percorso offline verso il primo punto della traccia GPX (opzione \'percorri tutta la traccia\')↵
→\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↵
</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="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>
</resources>

View file

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

View file

@ -143,19 +143,23 @@ public class SettingsActivity extends SettingsBaseActivity {
edition = getString(R.string.local_index_installed) + " :\t" + DateFormat.getDateFormat(getApplicationContext()).format(date);
} catch (Exception e) {
}
SpannableString content = new SpannableString(vt + version +"\n" +
edition +"\n\n"+
getString(R.string.about_content));
content.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
final Intent mapIntent = new Intent(SettingsActivity.this, ContributionVersionActivity.class);
startActivityForResult(mapIntent, 0);
}
}, st, st + version.length(), 0);
tv.setText(content);
} else {
tv.setText(vt + version +"\n\n" +
getString(R.string.about_content));
}
SpannableString content = new SpannableString(vt + version +"\n" +
edition +"\n\n"+
getString(R.string.about_content));
content.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
final Intent mapIntent = new Intent(SettingsActivity.this, ContributionVersionActivity.class);
startActivityForResult(mapIntent, 0);
}
}, st, st + version.length(), 0);
tv.setText(content);
tv.setPadding(5, 0, 5, 5);
tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 19);
tv.setMovementMethod(LinkMovementMethod.getInstance());

View file

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

View file

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