Notrufnummern-Datenbasis, Ländererkennung, State-Management und Lokalisierung (AP1-AP7)
Implementiert den kompletten Kern-Flow der Emergency App gemäß docs/plan.md: - Notrufnummern-Datenbasis für 199 Länder + Modelle/Repository (AP1) - DialerService für tel:-Notrufe ohne Auto-Dial (AP2) - Statisches UI mit Panik-Button-Fallback (AP3) - Priorisierte Ländererkennung: SIM/Netz -> GPS/Geocoding -> Cache (AP4) - EmergencyProvider verdrahtet Repository/LocationService mit der UI (AP5) - Manuelle Länderauswahl als Fallback samt eigener Priorität (AP6) - UI-Lokalisierung (de/en/fr/es), an erkanntes Land gekoppelt (AP7) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
/// Zustände der Ländererkennungs-/Notrufnummern-Ermittlung
|
||||
/// (`docs/plan.md`, Abschnitt 5 + 8, AP5).
|
||||
///
|
||||
/// Siehe [EmergencyProvider] für die Zustandsübergänge.
|
||||
enum EmergencyStatus {
|
||||
/// [EmergencyProvider.init] wurde gerade gestartet, die Notrufnummern-
|
||||
/// Datenbasis wird geladen.
|
||||
initializing,
|
||||
|
||||
/// Die Datenbasis ist geladen, die Ländererkennungskette
|
||||
/// (SIM → GPS → Cache) läuft gerade.
|
||||
locating,
|
||||
|
||||
/// Ermittlung abgeschlossen. `country` ist gesetzt, wenn das ermittelte
|
||||
/// Land in der Datenbasis vorhanden ist; ist es `null`, wurde zwar ein
|
||||
/// Ländercode ermittelt, aber kein Eintrag dafür gefunden (Plan
|
||||
/// Abschnitt 7, "Land nicht in Datenbasis") – die UI zeigt dann nur den
|
||||
/// globalen Panik-Button.
|
||||
ready,
|
||||
|
||||
/// Aktuell unbenutzt (siehe Doc-Kommentar in [EmergencyProvider]): Die
|
||||
/// Standortberechtigung wurde verweigert. Dieser Fall wird zur Laufzeit
|
||||
/// bewusst nicht von [countryUnknown] unterschieden, ist als Status aber
|
||||
/// für eine spätere, gezieltere UI-Behandlung (z. B. Banner mit
|
||||
/// Berechtigungs-Hinweis) bereits vorbereitet.
|
||||
permissionDenied,
|
||||
|
||||
/// Kein Ländercode ermittelbar (alle Quellen der Ermittlungskette lieferten
|
||||
/// `null`, Plan Abschnitt 7, "Land nicht ermittelbar").
|
||||
countryUnknown,
|
||||
|
||||
/// Laden der Notrufnummern-Datenbasis ist fehlgeschlagen (z. B. kaputtes
|
||||
/// JSON-Asset). Sollte im Normalbetrieb nicht auftreten, siehe Doc-Kommentar
|
||||
/// in `EmergencyNumberRepository.load()`.
|
||||
error,
|
||||
}
|
||||
Reference in New Issue
Block a user