Skip to content

Redesign the axis selection for the "Analyze on Map" graph #5191

@dmpr0

Description

@dmpr0

ToDo

Related Android tasks:

The goal of this task is to redesign the current bottom sheet used for axis selection in the 'Analyze on Map' feature. We need to transition to a system modal sheet. This update must include the ability to configure both axes within a single sheet, allow the selection of up to two data types for the Y-axis, and add vehicle metrics to the available data types.

Graph axis sheet

Y-Axis X-Axis
  • Use system sheet, with support of Large and Medium detents
    • By Default open in Medium detents
  • Include grabber

Segment view:

  • Add segment view to toggle between Y-Axis | X-Axis. Use system segment view.
  • Segment view should switch lists of available data types for axis
  • Should be visible while scrolling

Controls

  • Use Native close and Done button with SF Symbols instead of icons
    • Cancel – close sheet without applying changes, sf symbol – xmark
    • Done – close sheet and apply changes, sf symbol –checkmark

X-Axis

  • Use radio buttons for available options, only one options can be selected
  • Distance, icon ic_custom_distance
  • Time, icon ic_custom_time_span
  • Time of day, icon ic_custom_time_of_day

Y-Axis

  • Remove compound items: Altitude / Slope, Altitude / Speed, Slope / Speed we will use checkboxes instead.
  • Use checkboxes for Y-Axis data types
  • Allow to select two options for Y-Axis
    • When two checkboxes is selected, other ones should be disabled.
  • Don't show data type without data
  • Divide data types into group
  • Show description below segment view: y_axis_description = Select up to two options for Y-Axis.

List style:

  • Use .insetGrouped or .listStyle(.insetGrouped) for SwiftUI. List should have left / right paddings and rounded corners.

Main group

  • Altitude, icon ic_custom_altitude
  • Slope, icon ic_custom_slope
  • Speed, icon ic_custom_speed

External sensors

  • Don't show data type without data
  • Speed sensor, icon – ic_custom_sensor_speed_outlined
  • Bicycle cadence, icon – ic_custom_sensor_cadence_outlined
  • Bicycle power, icon – ic_custom_sensor_bicycle_power_outlined
  • Heart rate, icon – ic_custom_sensor_heart_rate_outlined
  • Temperature, icon – ic_custom_sensor_thermometer

Vehicle metrics

  • Don't show data type without data
  • Divide data types into group
  • Add divider between different data types from Vehicle metrics

Temperature

  • Intake temperature
    • Icon – ic_custom_obd_temperature_intake
    • Tag – <osmand:vm_itemp>
    • Graph color – chartLineColorIntakeTemperature
  • Ambient temperature
    • Icon – ic_custom_obd_temperature_outside
    • Tag – <osmand:vm_atemp>
    • Graph color – chartLineColorAmbientTemperature
  • Coolant temperature
    • Icon – ic_custom_obd_temperature_coolant
    • Tag – <osmand:vm_ctemp>
    • Graph color – chartLineColorCoolantTemperature
  • Engine Oil Temperature
    • Icon – ic_custom_obd_temperature_engine_oil
    • Tag – <osmand:vm_eotemp>
    • Graph color – chartLineColorEngineOilTemperature

Engine

  • Engine speed
    • Icon – ic_custom_obd_engine_speed
    • Tag – <osmand:vm_espeed>
    • Graph color – chartLineColorEngineSpeed
  • Engine Runtime
    • Icon – ic_custom_car_running_time
    • Tag – <osmand:vm_runtime>
    • Graph color – chartLineColorEngineRuntime
  • Calculated Engine Load
    • Icon – ic_custom_car_info
    • Tag – <osmand:vm_eload>
    • Graph color – chartLineColorEngineLoad

Fuel

  • Fuel pressure
    • Icon – ic_custom_obd_fuel_pressure
    • Tag – <osmand:vm_fpress>
    • Graph color – chartLineColorFuelPressure
  • Fuel consumption
    • Icon – ic_custom_obd_fuel_consumption
    • Tag – <osmand:vm_fcons>
    • Graph color – chartLineColorFuelConsumption
  • Remaining fuel
    • Icon – ic_custom_obd_fuel_remaining
    • Tag – <osmand:vm_fuel>
    • Graph color – chartLineColorRemainingFuel

Other

  • Battery level
    • Icon – ic_custom_obd_battery_voltage
    • Tag – <osmand:vm_bvol>
    • Graph color – chartLineColorBatteryLevel
  • Vehicle speed
    • Icon – ic_custom_obd_speed
    • Tag – <osmand:vm_vspeed>
    • Graph color – chartLineColorVehicleSpeed
  • Throttle Position
    • Icon – ic_custom_obd_throttle_position
    • Tag – <osmand:vm_tpos>
    • Graph color – chartLineColorThrottlePosition

Filter, Tracks

We need to add basic ability to find tracks with OBDII data.

  • Add With OBDII data item to the “Other” group in the Filters

Metadata

Metadata

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions