GPS-Fix unter 'Brauchbar' als Fehler behandeln #21

Closed
opened 2026-05-04 20:34:46 +02:00 by moritz · 0 comments
Owner

Anforderung

Wenn die Uhr beim Timeout (30 s) nur einen GPS-Fix der Qualität POOR oder schlechter (LAST_KNOWN, NOT_AVAILABLE) hat, soll der Fehler-Screen statt des grünen Hakens erscheinen. Aktuell wird auch ein POOR-Fix als Erfolg gespeichert, obwohl er praktisch unbrauchbar ist.

Garmin GPS-Qualitätsstufen (zur Erinnerung)

QUALITY_NOT_AVAILABLE = 0
QUALITY_LAST_KNOWN    = 1
QUALITY_POOR          = 2
QUALITY_USABLE        = 3   ← Mindestschwelle
QUALITY_GOOD          = 4   ← Early-Exit (#8)

Akzeptiert wird also alles ≥ USABLE. POOR und schlechter → Fehler.

Verhalten

  • Bestehender Speicher-Pfad bei Fehler bleibt: Event wird mit null-Koordinaten gespeichert, ErrorView wird angezeigt.
  • Early-Exit bei QUALITY_GOOD bleibt unverändert.
  • Threshold-Check sitzt in GpsService._onTimeout, damit der Caller (LoadingView._onGpsResult) keine Quality-Logik kennen muss — null heißt weiterhin „kein brauchbarer Fix".
## Anforderung Wenn die Uhr beim Timeout (30 s) nur einen GPS-Fix der Qualität `POOR` oder schlechter (`LAST_KNOWN`, `NOT_AVAILABLE`) hat, soll der Fehler-Screen statt des grünen Hakens erscheinen. Aktuell wird auch ein POOR-Fix als Erfolg gespeichert, obwohl er praktisch unbrauchbar ist. ## Garmin GPS-Qualitätsstufen (zur Erinnerung) ``` QUALITY_NOT_AVAILABLE = 0 QUALITY_LAST_KNOWN = 1 QUALITY_POOR = 2 QUALITY_USABLE = 3 ← Mindestschwelle QUALITY_GOOD = 4 ← Early-Exit (#8) ``` Akzeptiert wird also alles ≥ `USABLE`. POOR und schlechter → Fehler. ## Verhalten - Bestehender Speicher-Pfad bei Fehler bleibt: Event wird mit `null`-Koordinaten gespeichert, ErrorView wird angezeigt. - Early-Exit bei `QUALITY_GOOD` bleibt unverändert. - Threshold-Check sitzt in `GpsService._onTimeout`, damit der Caller (`LoadingView._onGpsResult`) keine Quality-Logik kennen muss — `null` heißt weiterhin „kein brauchbarer Fix".
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
moritz/einsatzprotokoll#21
No description provided.