From dcb147163c3a5c8dada885ee6e84790fcc24f651 Mon Sep 17 00:00:00 2001 From: James Rich <2199651+jamesarich@users.noreply.github.com> Date: Tue, 12 May 2026 10:24:29 -0500 Subject: [PATCH] =?UTF-8?q?fix:=20clarify=20position=20precision=20as=20?= =?UTF-8?q?=C2=B1=20radius=20(#5428)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/ui/component/PositionPrecisionPreference.kt | 2 +- .../feature/node/compass/CompassViewModel.kt | 3 ++- .../feature/node/compass/CompassViewModelTest.kt | 12 ++++++------ .../radio/component/MapReportingPreference.kt | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/core/ui/src/commonMain/kotlin/org/meshtastic/core/ui/component/PositionPrecisionPreference.kt b/core/ui/src/commonMain/kotlin/org/meshtastic/core/ui/component/PositionPrecisionPreference.kt index 27a3cf02c6..c31ed5846a 100644 --- a/core/ui/src/commonMain/kotlin/org/meshtastic/core/ui/component/PositionPrecisionPreference.kt +++ b/core/ui/src/commonMain/kotlin/org/meshtastic/core/ui/component/PositionPrecisionPreference.kt @@ -93,7 +93,7 @@ fun PositionPrecisionPreference( val precisionMeters = precisionBitsToMeters(value).toInt() Text( - text = precisionMeters.toDistanceString(unit), + text = "± ${precisionMeters.toDistanceString(unit)}", modifier = Modifier.padding(bottom = 16.dp), fontSize = MaterialTheme.typography.bodyLarge.fontSize, overflow = TextOverflow.Ellipsis, diff --git a/feature/node/src/commonMain/kotlin/org/meshtastic/feature/node/compass/CompassViewModel.kt b/feature/node/src/commonMain/kotlin/org/meshtastic/feature/node/compass/CompassViewModel.kt index ef7df9791c..216edcfaae 100644 --- a/feature/node/src/commonMain/kotlin/org/meshtastic/feature/node/compass/CompassViewModel.kt +++ b/feature/node/src/commonMain/kotlin/org/meshtastic/feature/node/compass/CompassViewModel.kt @@ -123,7 +123,8 @@ class CompassViewModel( val isAligned = isAligned(trueHeading, bearingDegrees) val lastUpdateText = targetPositionTimeSec?.let { formatElapsed(it) } val angularErrorDeg = calculateAngularError(positionalAccuracyMeters, distanceMeters) - val errorRadiusText = positionalAccuracyMeters?.toInt()?.toDistanceString(current.displayUnits) + val errorRadiusText = + positionalAccuracyMeters?.toInt()?.let { "± ${it.toDistanceString(current.displayUnits)}" } return current.copy( heading = trueHeading, diff --git a/feature/node/src/commonTest/kotlin/org/meshtastic/feature/node/compass/CompassViewModelTest.kt b/feature/node/src/commonTest/kotlin/org/meshtastic/feature/node/compass/CompassViewModelTest.kt index d968885215..f19c4abbfb 100644 --- a/feature/node/src/commonTest/kotlin/org/meshtastic/feature/node/compass/CompassViewModelTest.kt +++ b/feature/node/src/commonTest/kotlin/org/meshtastic/feature/node/compass/CompassViewModelTest.kt @@ -154,7 +154,7 @@ class CompassViewModelTest { ), ) - assertEquals("12 m", state.errorRadiusText) + assertEquals("± 12 m", state.errorRadiusText) } @Test @@ -172,7 +172,7 @@ class CompassViewModelTest { ), ) - assertEquals("25 m", state.errorRadiusText) + assertEquals("± 25 m", state.errorRadiusText) } @Test @@ -189,7 +189,7 @@ class CompassViewModelTest { ), ) - assertEquals("8 m", state.errorRadiusText) + assertEquals("± 8 m", state.errorRadiusText) } @Test @@ -205,7 +205,7 @@ class CompassViewModelTest { ), ) - assertEquals("729 m", state.errorRadiusText) + assertEquals("± 729 m", state.errorRadiusText) } @Test @@ -240,7 +240,7 @@ class CompassViewModelTest { location = PhoneLocation(1.0, 1.0, 0.0, 1000L), ) - assertEquals("12 m", state.errorRadiusText) + assertEquals("± 12 m", state.errorRadiusText) assertNotNull(state.angularErrorDeg) assertEquals(180f, state.angularErrorDeg) } @@ -260,7 +260,7 @@ class CompassViewModelTest { location = PhoneLocation(1.0, 1.0, 0.0, 1000L), ) - assertEquals("12 m", state.errorRadiusText) + assertEquals("± 12 m", state.errorRadiusText) assertNotNull(state.angularErrorDeg) assertEquals(85.4f, state.angularErrorDeg, 0.5f) } diff --git a/feature/settings/src/commonMain/kotlin/org/meshtastic/feature/settings/radio/component/MapReportingPreference.kt b/feature/settings/src/commonMain/kotlin/org/meshtastic/feature/settings/radio/component/MapReportingPreference.kt index 070461d974..116e6d88f7 100644 --- a/feature/settings/src/commonMain/kotlin/org/meshtastic/feature/settings/radio/component/MapReportingPreference.kt +++ b/feature/settings/src/commonMain/kotlin/org/meshtastic/feature/settings/radio/component/MapReportingPreference.kt @@ -120,7 +120,7 @@ fun MapReportingPreference( val precisionMeters = precisionBitsToMeters(positionPrecision).toInt() val unit = DistanceUnit.Companion.getFromLocale() Text( - text = precisionMeters.toDistanceString(unit), + text = "± ${precisionMeters.toDistanceString(unit)}", modifier = Modifier.padding(start = 16.dp, end = 16.dp, bottom = 16.dp), fontSize = MaterialTheme.typography.bodyLarge.fontSize, overflow = TextOverflow.Companion.Ellipsis,