Fehler-Screen: bei zu schwachem Signal anderen Text zeigen #22

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

Anforderung

Der ErrorView zeigt aktuell für jeden GPS-Fehler dieselbe Meldung „Standort konnte nicht bestimmt werden". Wenn die Ursache aber konkret ein zu schwaches Signal ist (POOR/LAST_KNOWN/NOT_AVAILABLE-Fix bei Timeout, siehe #21), soll stattdessen „GPS Signal zu schlecht" erscheinen — der User versteht so die Ursache und kann sich woanders hinstellen.

Bei anderen Fehlern (z. B. GPS-Hardware liefert nichts, Permission-Fehler, irgendwas Unerwartetes) bleibt die generische Meldung, weil wir die Ursache nicht kennen.

Logik

Bedingung Meldung
_bestFix == null (gar kein Fix erhalten) Standort konnte nicht bestimmt werden
_bestFix.q < QUALITY_USABLE (Signal zu schwach) GPS Signal zu schlecht
_bestFix.q >= QUALITY_USABLE Erfolg, kein ErrorView

Umsetzung

  • Neue String-Resource error_gps_weak.
  • Quality-Filter aus GpsService._onTimeout raus, in LoadingView._onGpsResult rein — damit LoadingView die zwei Fehlerarten auseinanderhalten kann.
  • ErrorView bekommt eine Message-ID als Konstruktor-Parameter.
## Anforderung Der ErrorView zeigt aktuell für jeden GPS-Fehler dieselbe Meldung „Standort konnte nicht bestimmt werden". Wenn die Ursache aber konkret ein **zu schwaches Signal** ist (POOR/LAST_KNOWN/NOT_AVAILABLE-Fix bei Timeout, siehe #21), soll stattdessen „GPS Signal zu schlecht" erscheinen — der User versteht so die Ursache und kann sich woanders hinstellen. Bei anderen Fehlern (z. B. GPS-Hardware liefert nichts, Permission-Fehler, irgendwas Unerwartetes) bleibt die generische Meldung, weil wir die Ursache nicht kennen. ## Logik | Bedingung | Meldung | |---|---| | `_bestFix == null` (gar kein Fix erhalten) | Standort konnte nicht bestimmt werden | | `_bestFix.q < QUALITY_USABLE` (Signal zu schwach) | GPS Signal zu schlecht | | `_bestFix.q >= QUALITY_USABLE` | Erfolg, kein ErrorView | ## Umsetzung - Neue String-Resource `error_gps_weak`. - Quality-Filter aus `GpsService._onTimeout` raus, in `LoadingView._onGpsResult` rein — damit LoadingView die zwei Fehlerarten auseinanderhalten kann. - `ErrorView` bekommt eine Message-ID als Konstruktor-Parameter.
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#22
No description provided.