fix: clarify position precision as ± radius (#5428)

This commit is contained in:
James Rich
2026-05-12 10:24:29 -05:00
committed by GitHub
parent ab4589c06a
commit dcb147163c
4 changed files with 10 additions and 9 deletions

View File

@@ -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,

View File

@@ -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,

View File

@@ -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)
}

View File

@@ -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,