Location constructor
Location(
- dynamic params
Implementation
Location(dynamic params) {
final Map p = _asMap(params);
map = params;
// Always present in both real + dummy payloads.
coords = Coords(p['coords']);
// Optional objects can be missing in dummy payloads.
battery = Battery(p['battery']);
activity = Activity(p['activity']);
// timestamp: String (ISO-8601) or int (epoch ms) depending on timestampFormat.
timestamp = p['timestamp'] ?? '';
// recorded_at may be absent in dummy payloads.
recordedAt = p['recorded_at'] ?? timestamp;
// age may be absent.
age = _mapDouble(p, 'age', fallback: 0.0);
// is_moving may be bool or 0/1.
isMoving = _mapBool(p, 'is_moving', fallback: false);
// uuid may be absent in dummy payloads.
final dynamic u = p['uuid'];
uuid = (u is String) ? u : (u?.toString() ?? '');
odometer = _mapDouble(p, 'odometer', fallback: 0.0);
sample = _mapBool(p, 'sample', fallback: false);
final dynamic e = p['event'];
event = (e is String) ? e : (e?.toString() ?? '');
if (p['geofence'] != null) {
geofence = GeofenceEvent(p['geofence']);
}
mock = _mapBool(p, 'mock', fallback: false);
if (p['extras'] != null && p['extras'] is Map) {
extras = Map.from(p['extras']);
}
}