Browse Source

Changed model to refrect actual content (DateTime, not String)

tmp
Dan Cojocaru 3 years ago
parent
commit
c9693390c3
Signed by: kbruen
GPG Key ID: 818A889458EDC937
  1. 6
      lib/models/train_data.dart
  2. 8
      lib/pages/train_info_page/view_train/train_info_cupertino.dart
  3. 4
      lib/pages/train_info_page/view_train/train_info_cupertino_DisplayTrainStation.dart
  4. 4
      lib/pages/train_info_page/view_train/train_info_material.dart
  5. 4
      lib/pages/train_info_page/view_train/train_info_material_DisplayTrainStation.dart

6
lib/models/train_data.dart

@ -120,17 +120,17 @@ class StationArrDepTime {
this.status, this.status,
}); });
final String scheduleTime; final DateTime scheduleTime;
final StationArrDepTimeStatus? status; final StationArrDepTimeStatus? status;
factory StationArrDepTime.fromJson(Map<String, dynamic> json) => factory StationArrDepTime.fromJson(Map<String, dynamic> json) =>
StationArrDepTime( StationArrDepTime(
scheduleTime: json["scheduleTime"], scheduleTime: DateTime.parse(json["scheduleTime"] as String),
status: json["status"] == null ? null : StationArrDepTimeStatus.fromJson(json["status"]), status: json["status"] == null ? null : StationArrDepTimeStatus.fromJson(json["status"]),
); );
Map<String, dynamic> toJson() => { Map<String, dynamic> toJson() => {
"scheduleTime": scheduleTime, "scheduleTime": scheduleTime.toIso8601String(),
"status": status?.toJson(), "status": status?.toJson(),
}; };
} }

8
lib/pages/train_info_page/view_train/train_info_cupertino.dart

@ -714,7 +714,7 @@ class DisplayTrainDestination extends StatelessWidget {
Builder( Builder(
builder: (context) { builder: (context) {
final arrival = final arrival =
DateTime.parse(trainData.stations.last.arrival!.scheduleTime).toLocal(); trainData.stations.last.arrival!.scheduleTime.toLocal();
final delay = trainData.stations.last.arrival!.status?.delay ?? 0; final delay = trainData.stations.last.arrival!.status?.delay ?? 0;
// final parts = arrival.split(':'); // final parts = arrival.split(':');
// final arrivalDT = DateTime(DateTime.now().year, DateTime.now().month, DateTime.now().day, int.parse(parts[0]), int.parse(parts[1])); // final arrivalDT = DateTime(DateTime.now().year, DateTime.now().month, DateTime.now().day, int.parse(parts[0]), int.parse(parts[1]));
@ -827,9 +827,9 @@ class DisplayTrainRouteDuration extends StatelessWidget {
Builder( Builder(
builder: (context) { builder: (context) {
var duration = var duration =
DateTime.parse(trainData.stations.last.arrival!.scheduleTime) trainData.stations.last.arrival!.scheduleTime
.difference(DateTime.parse( .difference(
trainData.stations.first.departure!.scheduleTime)); trainData.stations.first.departure!.scheduleTime);
var durationString = StringBuffer(); var durationString = StringBuffer();
bool firstWritten = false; bool firstWritten = false;

4
lib/pages/train_info_page/view_train/train_info_cupertino_DisplayTrainStation.dart

@ -254,7 +254,7 @@ class ArrivalTime extends StatelessWidget {
} }
else { else {
final delay = station.arrival!.status?.delay ?? 0; final delay = station.arrival!.status?.delay ?? 0;
final time = DateTime.parse(station.arrival!.scheduleTime).toLocal(); final time = station.arrival!.scheduleTime.toLocal();
if (delay == 0) { if (delay == 0) {
return Text("${time.hour.toString().padLeft(2, "0")}:${time.minute.toString().padLeft(2, "0")}"); return Text("${time.hour.toString().padLeft(2, "0")}:${time.minute.toString().padLeft(2, "0")}");
@ -387,7 +387,7 @@ class DepartureTime extends StatelessWidget {
} }
else { else {
final delay = station.departure!.status?.delay ?? 0; final delay = station.departure!.status?.delay ?? 0;
final time = DateTime.parse(station.departure!.scheduleTime).toLocal(); final time = station.departure!.scheduleTime.toLocal();
if (delay == 0) { if (delay == 0) {
return Text("${time.hour.toString().padLeft(2, "0")}:${time.minute.toString().padLeft(2, "0")}"); return Text("${time.hour.toString().padLeft(2, "0")}:${time.minute.toString().padLeft(2, "0")}");

4
lib/pages/train_info_page/view_train/train_info_material.dart

@ -506,7 +506,7 @@ class DisplayTrainDestination extends StatelessWidget {
), ),
Builder( Builder(
builder: (context) { builder: (context) {
final arrival = DateTime.parse(destination.arrival!.scheduleTime).toLocal(); final arrival = destination.arrival!.scheduleTime.toLocal();
final delay = trainData.stations.last.arrival!.status?.delay ?? 0; final delay = trainData.stations.last.arrival!.status?.delay ?? 0;
final arrivalWithDelay = arrival.add(Duration(minutes: delay)); final arrivalWithDelay = arrival.add(Duration(minutes: delay));
final arrivalWithDelayString = '${arrivalWithDelay.hour}:${arrivalWithDelay.minute.toString().padLeft(2, "0")}'; final arrivalWithDelayString = '${arrivalWithDelay.hour}:${arrivalWithDelay.minute.toString().padLeft(2, "0")}';
@ -623,7 +623,7 @@ class DisplayTrainRouteDuration extends StatelessWidget {
), ),
Builder( Builder(
builder: (context) { builder: (context) {
var duration = DateTime.parse(trainData.stations.last.arrival!.scheduleTime).difference(DateTime.parse(trainData.stations.first.departure!.scheduleTime)); var duration = trainData.stations.last.arrival!.scheduleTime.difference(trainData.stations.first.departure!.scheduleTime);
var durationString = StringBuffer(); var durationString = StringBuffer();
bool firstWritten = false; bool firstWritten = false;

4
lib/pages/train_info_page/view_train/train_info_material_DisplayTrainStation.dart

@ -261,7 +261,7 @@ class ArrivalTime extends StatelessWidget {
} }
else { else {
final delay = station.arrival!.status?.delay ?? 0; final delay = station.arrival!.status?.delay ?? 0;
final time = DateTime.parse(station.arrival!.scheduleTime).toLocal(); final time = station.arrival!.scheduleTime.toLocal();
if (delay == 0) { if (delay == 0) {
return Text("${time.hour.toString().padLeft(2, '0')}:${time.minute.toString().padLeft(2, '0')}"); return Text("${time.hour.toString().padLeft(2, '0')}:${time.minute.toString().padLeft(2, '0')}");
@ -396,7 +396,7 @@ class DepartureTime extends StatelessWidget {
} }
else { else {
final delay = station.departure!.status?.delay ?? 0; final delay = station.departure!.status?.delay ?? 0;
final time = DateTime.parse(station.departure!.scheduleTime).toLocal(); final time = station.departure!.scheduleTime.toLocal();
if (delay == 0) { if (delay == 0) {
return Text("${time.hour.toString().padLeft(2, '0')}:${time.minute.toString().padLeft(2, '0')}"); return Text("${time.hour.toString().padLeft(2, '0')}:${time.minute.toString().padLeft(2, '0')}");

Loading…
Cancel
Save