Files
emergency/lib/providers/emergency_status.dart
T
rootandClaude Sonnet 5 e3aa088bc2 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>
2026-07-24 11:29:38 +02:00

37 lines
1.5 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/// 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,
}