mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
fix 2198 - graphs scale to farenheit (#2384)
This commit is contained in:
parent
eadf0ffc75
commit
9884229a7b
2 changed files with 11 additions and 4 deletions
|
|
@ -21,6 +21,7 @@ import androidx.compose.ui.graphics.Color
|
|||
import com.geeksville.mesh.TelemetryProtos.Telemetry
|
||||
import com.geeksville.mesh.ui.common.theme.InfantryBlue
|
||||
import com.geeksville.mesh.ui.common.theme.Orange
|
||||
import com.geeksville.mesh.util.UnitConversions
|
||||
|
||||
enum class Environment(val color: Color) {
|
||||
TEMPERATURE(Color.Red) {
|
||||
|
|
@ -75,7 +76,7 @@ data class EnvironmentMetricsState(
|
|||
* @return [EnvironmentGraphingData]
|
||||
*/
|
||||
@Suppress("LongMethod")
|
||||
fun environmentMetricsFiltered(timeFrame: TimeFrame): EnvironmentGraphingData {
|
||||
fun environmentMetricsFiltered(timeFrame: TimeFrame, useFahrenheit: Boolean = false): EnvironmentGraphingData {
|
||||
val oldestTime = timeFrame.calculateOldestTime()
|
||||
val telemetries = environmentMetrics.filter { it.time >= oldestTime }
|
||||
val shouldPlot = BooleanArray(Environment.entries.size) { false }
|
||||
|
|
@ -90,9 +91,15 @@ data class EnvironmentMetricsState(
|
|||
telemetries.minBy { it.environmentMetrics.temperature },
|
||||
telemetries.maxBy { it.environmentMetrics.temperature }
|
||||
)
|
||||
var minTempValue = minTemp.environmentMetrics.temperature
|
||||
var maxTempValue = maxTemp.environmentMetrics.temperature
|
||||
if (useFahrenheit) {
|
||||
minTempValue = UnitConversions.celsiusToFahrenheit(minTempValue)
|
||||
maxTempValue = UnitConversions.celsiusToFahrenheit(maxTempValue)
|
||||
}
|
||||
if (minTemp.environmentMetrics.temperature != 0f || maxTemp.environmentMetrics.temperature != 0f) {
|
||||
minValues.add(minTemp.environmentMetrics.temperature)
|
||||
maxValues.add(maxTemp.environmentMetrics.temperature)
|
||||
minValues.add(minTempValue)
|
||||
maxValues.add(maxTempValue)
|
||||
shouldPlot[Environment.TEMPERATURE.ordinal] = true
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ fun EnvironmentMetricsScreen(
|
|||
val state by viewModel.state.collectAsStateWithLifecycle()
|
||||
val environmentState by viewModel.environmentState.collectAsStateWithLifecycle()
|
||||
val selectedTimeFrame by viewModel.timeFrame.collectAsState()
|
||||
val graphData = environmentState.environmentMetricsFiltered(selectedTimeFrame)
|
||||
val graphData = environmentState.environmentMetricsFiltered(selectedTimeFrame, state.isFahrenheit)
|
||||
val data = graphData.metrics
|
||||
|
||||
val processedTelemetries: List<Telemetry> = if (state.isFahrenheit) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue