Browse Source

Fixed datetime handling

tmp v2.4.1
Dan Cojocaru 3 years ago
parent
commit
39a9bf3321
Signed by: kbruen
GPG Key ID: 818A889458EDC937
  1. 3
      CHANGELOG.TXT
  2. 29
      lib/pages/station_arrdep_page/select_station/select_station.dart
  3. 9
      lib/pages/station_arrdep_page/select_station/select_station_cupertino.dart
  4. 10
      lib/pages/station_arrdep_page/select_station/select_station_material.dart
  5. 2
      lib/pages/train_info_page/view_train/train_info_cupertino.dart
  6. 4
      lib/pages/train_info_page/view_train/train_info_cupertino_DisplayTrainStation.dart
  7. 2
      lib/pages/train_info_page/view_train/train_info_material.dart
  8. 4
      lib/pages/train_info_page/view_train/train_info_material_DisplayTrainStation.dart
  9. 2
      pubspec.yaml

3
CHANGELOG.TXT

@ -1,3 +1,6 @@
v2.4.1
Fixed DateTime (UTC -> local)
v2.4.0
Moved to api v2
Added support for any train number, including train numbers starting with 0

29
lib/pages/station_arrdep_page/select_station/select_station.dart

@ -0,0 +1,29 @@
import 'package:flutter/widgets.dart';
import 'package:info_tren/models/ui_design.dart';
import 'package:info_tren/pages/station_arrdep_page/select_station/select_station_cupertino.dart';
import 'package:info_tren/pages/station_arrdep_page/select_station/select_station_material.dart';
import 'package:info_tren/utils/default_ui_design.dart';
class SelectStationPage extends StatefulWidget {
final UiDesign? uiDesign;
const SelectStationPage({ Key? key, this.uiDesign }) : super(key: key);
static String routeName = '/stationArrDep/selectStation';
@override
SelectStationPageState createState() {
final uiDesign = this.uiDesign ?? defaultUiDesign;
switch (uiDesign) {
case UiDesign.MATERIAL:
return SelectStationPageStateMaterial();
case UiDesign.CUPERTINO:
return SelectStationPageStateCupertino();
}
}
}
abstract class SelectStationPageState extends State<SelectStationPage> {
final TextEditingController textEditingController = TextEditingController();
}

9
lib/pages/station_arrdep_page/select_station/select_station_cupertino.dart

@ -0,0 +1,9 @@
import 'package:flutter/cupertino.dart';
import 'package:info_tren/pages/station_arrdep_page/select_station/select_station.dart';
class SelectStationPageStateCupertino extends SelectStationPageState {
@override
Widget build(BuildContext context) {
return Container();
}
}

10
lib/pages/station_arrdep_page/select_station/select_station_material.dart

@ -0,0 +1,10 @@
import 'package:flutter/material.dart';
import 'package:flutter/src/widgets/framework.dart';
import 'package:info_tren/pages/station_arrdep_page/select_station/select_station.dart';
class SelectStationPageStateMaterial extends SelectStationPageState {
@override
Widget build(BuildContext context) {
return Container();
}
}

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

@ -714,7 +714,7 @@ class DisplayTrainDestination extends StatelessWidget {
Builder(
builder: (context) {
final arrival =
DateTime.parse(trainData.stations.last.arrival!.scheduleTime);
DateTime.parse(trainData.stations.last.arrival!.scheduleTime).toLocal();
final delay = trainData.stations.last.arrival!.status?.delay ?? 0;
// final parts = arrival.split(':');
// final arrivalDT = DateTime(DateTime.now().year, DateTime.now().month, DateTime.now().day, int.parse(parts[0]), int.parse(parts[1]));

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

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

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

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

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

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

2
pubspec.yaml

@ -11,7 +11,7 @@ description: O aplicație de vizualizare a datelor puse la dispoziție de Inform
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 2.4.0
version: 2.4.1
environment:
sdk: ">=2.12.0 <3.0.0"

Loading…
Cancel
Save