Skip to content

Commit

Permalink
Merge branch 'osmandapp:master' into hardy_Afa
Browse files Browse the repository at this point in the history
  • Loading branch information
sonora authored Nov 5, 2024
2 parents 2f3d0ef + dd5964d commit 05b9018
Show file tree
Hide file tree
Showing 37 changed files with 584 additions and 178 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,9 @@ public void prepareTurnResults(RoutingContext ctx, List<RouteSegmentResult> resu
ignorePrecedingStraightsOnSameIntersection(ctx.leftSideNavigation, result);
justifyUTurns(ctx.leftSideNavigation, result);
avoidKeepForThroughMoving(result);
muteAndRemoveTurns(result);
if (!ctx.config.showMinorTurns) {
muteAndRemoveTurns(result);
}
addTurnInfoDescriptions(result);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,9 @@ public class RoutingConfiguration {
// Parameter to smoother the track itself (could be 0 if it's not recorded track)
public float smoothenPointsNoRoute = 5;

public boolean showMinorTurns = false;


public QuadTree<DirectionPoint> getDirectionPoints() {
return directionPoints;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,11 @@ interface SettingsAPI {

fun getStringPreference(name: String): String?
fun setStringPreference(name: String, value: String)

fun registerPreference(name: String, defValue: Float, global: Boolean, shared: Boolean)
fun addFloatPreferenceListener(name: String, listener: KStateChangedListener<Float>)

fun getFloatPreference(name: String): Float?
fun getAppModeFloatPreference(name: String): Float?
fun setFloatPreference(name: String, value: Float)
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package net.osmand.shared.obd

import net.osmand.shared.api.SettingsAPI
import net.osmand.shared.data.KLatLon
import net.osmand.shared.extensions.currentTimeMillis
import net.osmand.shared.extensions.format
Expand All @@ -10,17 +11,19 @@ import net.osmand.shared.util.LoggerFactory
import kotlin.math.max
import net.osmand.shared.obd.OBDCommand.*
import net.osmand.shared.util.Localization
import net.osmand.shared.util.PlatformUtil

object OBDDataComputer {

private val log = LoggerFactory.getLogger("OBDDataComputer")

private val osmAndSettings: SettingsAPI = PlatformUtil.getOsmAndContext().getSettings()
const val DEFAULT_FUEL_TANK_CAPACITY = 52f
private const val FUEL_TANK_CAPACITY_SETTING_ID = "fuel_tank_capacity"
var locations = listOf<OBDLocation>()
var widgets: List<OBDComputerWidget> = ArrayList()
private set
var timeoutForInstantValuesSeconds = 0
var fuelTank = DEFAULT_FUEL_TANK_CAPACITY

class OBDLocation(val time: Long, val latLon: KLatLon)

Expand Down Expand Up @@ -285,7 +288,7 @@ object OBDDataComputer {

FUEL_CONSUMPTION_RATE_LITER_HOUR -> {
if (locValues.size >= 2) {
fuelTank * calculateFuelConsumption(locValues) / 100
getFuelTank() * calculateFuelConsumption(locValues) / 100
} else {
null
}
Expand All @@ -298,7 +301,7 @@ object OBDDataComputer {
val diffPerc =
(first.value as Number).toFloat() - (last.value as Number).toFloat()
if (diffPerc > 0) {
val difLiter = fuelTank * diffPerc / 100
val difLiter = getFuelTank() * diffPerc / 100
val distance = getDistanceForTimePeriod(first.timestamp, last.timestamp)
if (distance > 0) {
log.debug("l/100km. distance $distance; difLiter $difLiter; result ${100 * difLiter / (distance / 1000)}")
Expand All @@ -313,7 +316,8 @@ object OBDDataComputer {
if (locValues.size >= 2) {
val first = locValues[locValues.size - 2]
val last = locValues[locValues.size - 1]
val diffPerc = (first.value as Number).toFloat() - (last.value as Number).toFloat()
val diffPerc =
(first.value as Number).toFloat() - (last.value as Number).toFloat()
if (diffPerc > 0) {
val dist = getDistanceForTimePeriod(first.timestamp, last.timestamp)
if (dist > 0) {
Expand All @@ -338,7 +342,7 @@ object OBDDataComputer {

FUEL_LEFT_LITER -> {
if (locValues.size > 0) {
fuelTank * (locValues[locValues.size - 1].value as Float) / 100
getFuelTank() * (locValues[locValues.size - 1].value as Float) / 100
} else {
null
}
Expand Down Expand Up @@ -432,4 +436,8 @@ object OBDDataComputer {
}
}

private fun getFuelTank(): Float {
val fuelTank = osmAndSettings.getAppModeFloatPreference(FUEL_TANK_CAPACITY_SETTING_ID)
return fuelTank ?: DEFAULT_FUEL_TANK_CAPACITY
}
}
6 changes: 6 additions & 0 deletions OsmAnd-telegram/res/values-bg/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -146,4 +146,10 @@
<string name="shared_string_back">Назад</string>
<string name="shared_string_sort">Сортиране</string>
<string name="shared_string_second_short">с</string>
<string name="min_mile">мин/миля</string>
<string name="min_km">мин/км</string>
<string name="si_min_km">Минути на километър</string>
<string name="si_min_m">Минути на миля</string>
<string name="shared_string_minute_short">мин</string>
<string name="m">м</string>
</resources>
4 changes: 4 additions & 0 deletions OsmAnd/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ android {
targetCompatibility = JavaVersion.VERSION_17
}

kotlinOptions {
jvmTarget = "17"
}

defaultConfig {
minSdkVersion 24
versionCode 5000
Expand Down
46 changes: 2 additions & 44 deletions OsmAnd/res/layout/average_speed_widget_settings_fragment.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
Expand Down Expand Up @@ -30,49 +29,8 @@
android:layout_marginStart="@dimen/content_padding"
android:background="?divider_color_basic" />

<LinearLayout
<include
android:id="@+id/skip_stops_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingHorizontal="@dimen/content_padding"
android:paddingVertical="@dimen/content_padding_small">

<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">

<net.osmand.plus.widgets.TextViewEx
style="@style/TitleStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:ellipsize="end"
android:text="@string/average_speed_skip_stops" />

<net.osmand.plus.widgets.TextViewEx
android:id="@+id/skip_stops_desc"
style="@style/DescStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="?android:textColorSecondary"
tools:text="@string/average_speed_time_interval_desc" />

</LinearLayout>

<androidx.appcompat.widget.SwitchCompat
android:id="@+id/skip_stops_toggle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/list_content_padding_large"
android:background="@null"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:saveEnabled="false" />

</LinearLayout>
layout="@layout/widget_preference_with_switch" />

</LinearLayout>
46 changes: 46 additions & 0 deletions OsmAnd/res/layout/widget_preference_with_switch.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingHorizontal="@dimen/content_padding"
android:paddingVertical="@dimen/content_padding_small">

<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">

<net.osmand.plus.widgets.TextViewEx
android:id="@+id/title"
style="@style/TitleStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="2"
tools:text="@string/average_speed_skip_stops" />

<net.osmand.plus.widgets.TextViewEx
android:id="@+id/description"
style="@style/DescStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="?android:textColorSecondary"
tools:text="@string/average_speed_time_interval_desc" />

</LinearLayout>

<androidx.appcompat.widget.SwitchCompat
android:id="@+id/compound_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/list_content_padding_large"
android:background="@null"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:saveEnabled="false" />

</LinearLayout>
25 changes: 13 additions & 12 deletions OsmAnd/res/values-b+sr+Latn/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4700,7 +4700,7 @@
\nSvi podaci na uređaju ostaće celoviti.</string>
<string name="osmand_cloud_deletion_all_data_warning">Svi podaci iz OsmAnd Cloud će biti %1$s. Podaci na uređaju će ostati netaknuti.</string>
<string name="manage_subscriptions">Upravljajte pretplatama.</string>
<string name="revolutions_per_minute_unit">Obrtaja u minuti</string>
<string name="revolutions_per_minute_unit">RPM</string>
<string name="tracks_empty_folder">Prazan folder</string>
<string name="shared_string_new_track">Nova snimljena ruta</string>
<string name="map_2d_mode_action">2D prikaz</string>
Expand Down Expand Up @@ -4988,7 +4988,7 @@
<string name="tracks_empty_folder_description">Ovaj folder još uvek ne sadrži trase.</string>
<string name="track_not_recorded">Nije snimljeno</string>
<string name="visible_in_3d_mode">Vidljivo u 3D prikazu</string>
<string name="shared_string_visible_on_map">Prikazati na mapi</string>
<string name="shared_string_visible_on_map">Vidljivo na mapi</string>
<string name="no_poi_for_category">TOI nije pronađen</string>
<string name="rendering_value_sector4_name">Sektor 4</string>
<string name="device_connected">Nepovezan je %1$s</string>
Expand Down Expand Up @@ -5167,7 +5167,7 @@
<string name="shared_string_trash">Otpad</string>
<string name="all_folders">Svi folderi</string>
<string name="shared_string_show_less">Prikazati manje</string>
<string name="root_folder">Root folder</string>
<string name="root_folder">Rut folder</string>
<string name="shared_string_loading">Učitavanje</string>
<string name="searching_matching_tracks">Pretraži sve podudarne trase</string>
<string name="empty_smart_folder_title">Nema odgovarajućeg staza</string>
Expand Down Expand Up @@ -5220,18 +5220,18 @@
\n
\nAko imaš problem, možeš pokušati promeniti potrošnju baterije na \'Neograničeno\'.</string>
<string name="battery_optimization">Optimizacija baterije</string>
<string name="max_sensor_speed">Brzina senzora, max</string>
<string name="max_sensor_bycicle_power">Snaga bicikla, max</string>
<string name="max_sensor_cadence">Kadenca bicikla, max</string>
<string name="max_sensor_heartrate">Otkucaji srca, max</string>
<string name="max_sensor_speed">Brzina senzora, maksimalna</string>
<string name="max_sensor_bycicle_power">Snaga bicikla, maksimalna</string>
<string name="max_sensor_cadence">Kadenca bicikla, maksimalna</string>
<string name="max_sensor_heartrate">Brzina otkucaja srca, maksimalna</string>
<string name="avg_sensor_temperature">Temperatura, prosečna</string>
<string name="max_sensor_temperature">Temperatura, max</string>
<string name="max_sensor_temperature">Temperatura, maksimalna</string>
<string name="terrain_category_description">Konturne linije terena, osenčen reljef u sivim tonovima i oznake nagiba u skali boja za prikaz vrhova i nizina.</string>
<string name="hillshade_slope">Senke reljefa, nagiba</string>
<string name="avg_sensor_heartrate">Otkucaji srca, prosečno</string>
<string name="avg_sensor_cadence">Kadenca bicikle, prosečna</string>
<string name="avg_sensor_bycicle_power">Snaga bicikle, prosečna</string>
<string name="avg_sensor_speed">Brzina senzora, prosečna</string>
<string name="avg_sensor_heartrate">Brzina otkucaja srca, srednja</string>
<string name="avg_sensor_cadence">Kadenca bicikla, prosečna</string>
<string name="avg_sensor_bycicle_power">Snaga bicikla, prosečna</string>
<string name="avg_sensor_speed">Brzina senzora, srednja</string>
<string name="relief_3d">3D reljef</string>
<string name="save_track_external_sensors_data">Podaci</string>
<string name="calculate_offline_altitude_descr">Izračunaj nadmorsku visinu, bez interneta, na temelju podataka mape terena (3D). Razlike u odnosu na nadmorsku visinu snimljenu uređajem mogu se koristiti kao korekcija visine.</string>
Expand Down Expand Up @@ -5662,4 +5662,5 @@
<string name="imperial_gallons_unit">imp gal</string>
<string name="fuel_tank_capacity_description">Unesi kapacitet goriva u rezervaru za tačno praćenje nivoa i potrošnje goriva</string>
<string name="us_gallons">US galoni</string>
<string name="record_obd_data">Snimi metriku vozila</string>
</resources>
2 changes: 2 additions & 0 deletions OsmAnd/res/values-bg/phrases.xml
Original file line number Diff line number Diff line change
Expand Up @@ -668,4 +668,6 @@
<string name="poi_aeroway_gate">Изход на летище</string>
<string name="poi_osmand_bicycle_prohibited_tunnel">Тунел, забранен за велисипедисти</string>
<string name="poi_osmand_foot_prohibited_tunnel">Тунел, забранен за пешеходци</string>
<string name="poi_to">До</string>
<string name="poi_via">През</string>
</resources>
25 changes: 21 additions & 4 deletions OsmAnd/res/values-bg/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1575,7 +1575,7 @@
<string name="si_min_m">Минути на миля</string>
<string name="si_nm_h">Морски мили в час (възли)</string>
<string name="nm_h">вз.</string>
<string name="min_mile">мин/м</string>
<string name="min_mile">мин/миля</string>
<string name="map_legend">Легенда на картата</string>
<string name="shared_string_contact">За контакт</string>
<string name="share_osm_edits_subject">OSM редакции, споделени чрез OsmAnd</string>
Expand Down Expand Up @@ -2081,7 +2081,7 @@
<string name="select_shape">Изберете форма</string>
<string name="shared_string_circle">Кръг</string>
<string name="shared_string_octagon">Осмоъгълник</string>
<string name="shared_string_min">Мин.</string>
<string name="shared_string_min">Мин</string>
<string name="ui_customization">Персонализиране на потребителския интерфейс</string>
<string name="context_menu_actions">Действия в контекстното меню</string>
<string name="reorder_or_hide_from">Преподреждане или скриване на елементи от %1$s.</string>
Expand Down Expand Up @@ -3830,7 +3830,7 @@
<string name="free_versions_descr">Изтеглете и инсталирайте безплатната версия на OsmAnd</string>
<string name="shared_string_checked">Отметнато</string>
<string name="shared_string_avoid">Избягване</string>
<string name="max_altitude">Макс. надм. височина</string>
<string name="max_altitude">Максимална надморска височина</string>
<string name="track_filter_date_selected_format">%s - %s</string>
<string name="average_glide_ratio">Среден коефициент на планиране</string>
<string name="free_versions">Безплатни издания</string>
Expand Down Expand Up @@ -4384,7 +4384,7 @@
<string name="obd_fuel_type_hydrogen">Водород</string>
<string name="obd_fuel_type_unknown">Неизвестен вид гориво</string>
<string name="obd_widget_group">Показатели превозно средство</string>
<string name="obd_rpm">Обороти</string>
<string name="obd_rpm">об/мин</string>
<string name="obd_ambient_air_temp_desc">Показва температурата на околната среда спрямо сензора на OBD</string>
<string name="obd_rpm_desc">Показва оборотите на тахометъра спрямо сензора на OBD</string>
<string name="obd_speed_desc">Показва скоростта на превозното средство спрямо сензора на OBD</string>
Expand Down Expand Up @@ -4432,4 +4432,21 @@
<string name="vehicle_metrics_plugin_settings">Настройки показатели превозно средство</string>
<string name="obd_widget_vehicle_speed">Скорост на превозното средство</string>
<string name="obd_widget_engine_speed">Скорост на двигателя</string>
<string name="not_specified">Не е избрано</string>
<string name="avg_sensor_speed">Сензор скорост, средна</string>
<string name="avg_sensor_heartrate">Пулс, средно</string>
<string name="discard_filter_changes_prompt">Нулиране на филтрите?</string>
<string name="min_max">Макс/мин</string>
<string name="power_watts_unit">Ватове</string>
<string name="all_folders">Всички папки</string>
<string name="max_sensor_cadence">Вело каданс, макс</string>
<string name="max_sensor_heartrate">Пулс, макс</string>
<string name="avg_sensor_cadence">Вело каданс, средно</string>
<string name="max_sensor_bycicle_power">Вело мощност, макс</string>
<string name="revolutions_per_minute_unit">об/мин</string>
<string name="max_min">Макс/мин</string>
<string name="root_folder">Коренова папка</string>
<string name="max_sensor_speed">Сензор скорост, макс</string>
<string name="avg_sensor_bycicle_power">Вело мощност, средно</string>
<string name="max_sensor_temperature">Температура, макс</string>
</resources>
Loading

0 comments on commit 05b9018

Please sign in to comment.