Public Access
feat(transport_helper): add arrivalTime for more precision
helpful when vehicles are waiting on-station should be covered by fallbacks without introducing nullability down the line
This commit is contained in:
@@ -758,6 +758,7 @@ class Departure {
|
|||||||
String vehicleId;
|
String vehicleId;
|
||||||
String vehicleName;
|
String vehicleName;
|
||||||
String stationId;
|
String stationId;
|
||||||
|
DateTime arrivalTime;
|
||||||
DateTime departureTime;
|
DateTime departureTime;
|
||||||
|
|
||||||
Departure({
|
Departure({
|
||||||
@@ -765,6 +766,7 @@ class Departure {
|
|||||||
required this.vehicleId,
|
required this.vehicleId,
|
||||||
required this.vehicleName,
|
required this.vehicleName,
|
||||||
required this.stationId,
|
required this.stationId,
|
||||||
|
required this.arrivalTime,
|
||||||
required this.departureTime,
|
required this.departureTime,
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -774,6 +776,7 @@ class Departure {
|
|||||||
"vehicle": vehicleId,
|
"vehicle": vehicleId,
|
||||||
"vehiclename": vehicleName,
|
"vehiclename": vehicleName,
|
||||||
"station": stationId,
|
"station": stationId,
|
||||||
|
"arrivaltime": arrivalTime,
|
||||||
"departuretime": departureTime,
|
"departuretime": departureTime,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -784,6 +787,7 @@ class Departure {
|
|||||||
vehicleId: map["vehicle"] as String,
|
vehicleId: map["vehicle"] as String,
|
||||||
vehicleName: map["vehiclename"] as String,
|
vehicleName: map["vehiclename"] as String,
|
||||||
stationId: map["station"] as String,
|
stationId: map["station"] as String,
|
||||||
|
arrivalTime: map["arrivaltime"] as DateTime,
|
||||||
departureTime: map["departuretime"] as DateTime,
|
departureTime: map["departuretime"] as DateTime,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -804,11 +808,30 @@ class Departure {
|
|||||||
// } catch (e) {
|
// } catch (e) {
|
||||||
// station.dbUpdate();
|
// station.dbUpdate();
|
||||||
// }
|
// }
|
||||||
|
DateTime? arrDateTime;
|
||||||
|
DateTime? depDateTime;
|
||||||
|
String? arrivalDate = json["arrDate"];
|
||||||
|
String? arrivalTime = json["arrTime"];
|
||||||
|
if (arrivalDate != null && arrivalTime != null) {
|
||||||
|
arrDateTime = DateTime.parse('${arrivalDate}T$arrivalTime');
|
||||||
|
}
|
||||||
|
|
||||||
|
String? departureDate = json["depDate"] ?? json["date"];
|
||||||
|
String? departureTime = json["depTime"] ?? json["time"];
|
||||||
|
if (departureDate != null && departureTime != null) {
|
||||||
|
depDateTime = DateTime.parse('${departureDate}T$departureTime');
|
||||||
|
}
|
||||||
|
|
||||||
return Departure(
|
return Departure(
|
||||||
vehicleId: vehicle.id,
|
vehicleId: vehicle.id,
|
||||||
vehicleName: vehicle.name,
|
vehicleName: vehicle.name,
|
||||||
stationId: station.id,
|
stationId: station.id,
|
||||||
departureTime: DateTime.parse('${json["date"]}T${json["time"]}'),
|
arrivalTime:
|
||||||
|
arrDateTime ??
|
||||||
|
depDateTime as DateTime, // one of these has to be in the json
|
||||||
|
departureTime:
|
||||||
|
depDateTime ??
|
||||||
|
arrDateTime as DateTime, // one of these has to be in the json
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -920,4 +943,4 @@ enum VehicleType {
|
|||||||
subway,
|
subway,
|
||||||
regionalTrain,
|
regionalTrain,
|
||||||
PLACEHOLDER,
|
PLACEHOLDER,
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user