mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
refactor: consolidate metric formatting through MetricFormatter (#5169)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: jamesarich <2199651+jamesarich@users.noreply.github.com>
This commit is contained in:
parent
1cd05d5d78
commit
9c8085b0e3
5 changed files with 56 additions and 13 deletions
|
|
@ -23,6 +23,7 @@ package org.meshtastic.core.common.util
|
|||
* All methods return locale-independent strings using [NumberFormatter] (dot decimal separator), which is intentional
|
||||
* for a mesh networking app where consistency matters.
|
||||
*/
|
||||
@Suppress("TooManyFunctions")
|
||||
object MetricFormatter {
|
||||
|
||||
fun temperature(celsius: Float, isFahrenheit: Boolean): String {
|
||||
|
|
@ -47,6 +48,12 @@ object MetricFormatter {
|
|||
fun snr(value: Float, decimalPlaces: Int = 1): String = "${NumberFormatter.format(value, decimalPlaces)} dB"
|
||||
|
||||
fun rssi(value: Int): String = "$value dBm"
|
||||
|
||||
fun windSpeed(metersPerSecond: Float, decimalPlaces: Int = 1): String =
|
||||
"${NumberFormatter.format(metersPerSecond, decimalPlaces)} m/s"
|
||||
|
||||
fun rainfall(millimeters: Float, decimalPlaces: Int = 1): String =
|
||||
"${NumberFormatter.format(millimeters, decimalPlaces)} mm"
|
||||
}
|
||||
|
||||
private const val FAHRENHEIT_SCALE = 1.8f
|
||||
|
|
|
|||
|
|
@ -120,4 +120,24 @@ class MetricFormatterTest {
|
|||
fun snrNegative() {
|
||||
assertEquals("-5.5 dB", MetricFormatter.snr(-5.5f))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun windSpeed() {
|
||||
assertEquals("12.3 m/s", MetricFormatter.windSpeed(12.34f))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun windSpeedZero() {
|
||||
assertEquals("0.0 m/s", MetricFormatter.windSpeed(0.0f))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun rainfall() {
|
||||
assertEquals("2.5 mm", MetricFormatter.rainfall(2.54f))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun rainfallZero() {
|
||||
assertEquals("0.0 mm", MetricFormatter.rainfall(0.0f))
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue