Files
emergency/lib/models/emergency_number.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

41 lines
1.1 KiB
Dart

import 'emergency_type.dart';
/// Eine einzelne Notrufnummer eines Landes (z. B. Polizei, Feuerwehr).
class EmergencyNumber {
const EmergencyNumber({
required this.type,
required this.number,
required this.labelDe,
required this.labelEn,
});
final EmergencyType type;
final String number;
final String labelDe;
final String labelEn;
factory EmergencyNumber.fromJson(Map<String, dynamic> json) {
return EmergencyNumber(
type: EmergencyType.fromJson(json['type'] as String),
number: json['number'] as String,
labelDe: json['label_de'] as String,
labelEn: json['label_en'] as String,
);
}
@override
String toString() => 'EmergencyNumber(type: $type, number: $number)';
@override
bool operator ==(Object other) =>
identical(this, other) ||
(other is EmergencyNumber &&
other.type == type &&
other.number == number &&
other.labelDe == labelDe &&
other.labelEn == labelEn);
@override
int get hashCode => Object.hash(type, number, labelDe, labelEn);
}