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:
root
2026-07-24 11:29:38 +02:00
co-authored by Claude Sonnet 5
parent 40e95cc495
commit e3aa088bc2
54 changed files with 7550 additions and 145 deletions
+23
View File
@@ -38,6 +38,7 @@ dependencies:
geolocator: ^14.0.3
geocoding: ^5.0.0
permission_handler: ^12.0.3
carrier_info: ^3.0.3
provider: ^6.1.5+1
shared_preferences: ^2.5.5
flutter_localizations:
@@ -48,6 +49,16 @@ dev_dependencies:
flutter_test:
sdk: flutter
# Für Unit-Tests von DialerService: erlaubt das Ersetzen von
# UrlLauncherPlatform.instance durch eine Fake-Implementierung.
url_launcher_platform_interface: ^2.3.2
# Für Unit-Tests von GpsCountryCodeSource (AP4): erlaubt analog das
# Ersetzen von GeolocatorPlatform.instance / GeocodingPlatformFactory.instance
# durch Fake-Implementierungen, ohne echte Plattform-Kanäle.
geolocator_platform_interface: ^4.2.8
geocoding_platform_interface: ^5.0.0
# The "flutter_lints" package below contains a set of recommended lints to
# encourage good coding practices. The lint set provided by the package is
# activated in the `analysis_options.yaml` file located at the root of your
@@ -55,6 +66,16 @@ dev_dependencies:
# rules and activating additional ones.
flutter_lints: ^6.0.0
# Abweichung vom Plan nötig (AP4): `carrier_info: ^3.0.3` deklariert
# `flutter_lints: ^4.0.0` fälschlich als normale (nicht Dev-)Dependency, obwohl
# das Paket flutter_lints im eigenen lib/-Code gar nicht importiert (nur für
# die eigene Analyse verwendet). Ohne Override kollidiert das mit unserem
# `flutter_lints: ^6.0.0`. Der Override ist unkritisch, da flutter_lints rein
# ein Analyzer-Regelwerk ist und zur Laufzeit von carrier_info nicht genutzt
# wird.
dependency_overrides:
flutter_lints: ^6.0.0
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
@@ -70,6 +91,8 @@ flutter:
uses-material-design: true
# To add assets to your application, add an assets section, like this:
assets:
- assets/data/emergency_numbers.json
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg