From e83f36eb8662b55e187a593261d9b1cbfbfc63bc Mon Sep 17 00:00:00 2001 From: Dan Cojocaru Date: Mon, 23 Aug 2021 17:26:36 +0300 Subject: [PATCH] Fixed badge --- CHANGELOG.TXT | 3 ++ ...in_info_cupertino_DisplayTrainStation.dart | 28 +++++++++++++++---- ...ain_info_material_DisplayTrainStation.dart | 28 +++++++++++++++---- pubspec.yaml | 2 +- 4 files changed, 50 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.TXT b/CHANGELOG.TXT index 55e4c09..2a2b234 100644 --- a/CHANGELOG.TXT +++ b/CHANGELOG.TXT @@ -1,3 +1,6 @@ +v2.3.1 +Fixed badge background when arrival is known but not departure + v2.3.0 Added pull to refresh diff --git a/lib/pages/train_info_page/view_train/train_info_cupertino_DisplayTrainStation.dart b/lib/pages/train_info_page/view_train/train_info_cupertino_DisplayTrainStation.dart index 35f574d..85a8eb0 100644 --- a/lib/pages/train_info_page/view_train/train_info_cupertino_DisplayTrainStation.dart +++ b/lib/pages/train_info_page/view_train/train_info_cupertino_DisplayTrainStation.dart @@ -18,11 +18,29 @@ class DisplayTrainStation extends StatelessWidget { children: [ Builder( builder: (context) { - final delay = station.departure?.status?.delay ?? station.arrival?.status?.delay; - final real = station.departure?.status?.real ?? station.arrival?.status?.real; - - final isDelayed = delay != null && delay > 0 && real == true; - final isOnTime = delay != null && delay <= 0 && real == true; + final departureStatus = station.departure?.status; + final arrivalStatus = station.arrival?.status; + int delay; + bool real; + if (departureStatus == null) { + delay = arrivalStatus?.delay ?? 0; + real = arrivalStatus?.real ?? false; + } + else if (arrivalStatus == null) { + delay = departureStatus.delay; + real = departureStatus.real; + } + else { + delay = departureStatus.delay; + real = departureStatus.real; + if (!real && arrivalStatus.real) { + delay = arrivalStatus.delay; + real = arrivalStatus.real; + } + } + + final isDelayed = delay > 0 && real == true; + final isOnTime = delay <= 0 && real == true; final isNotScheduled = false; return KmBadge( diff --git a/lib/pages/train_info_page/view_train/train_info_material_DisplayTrainStation.dart b/lib/pages/train_info_page/view_train/train_info_material_DisplayTrainStation.dart index 01f6ac4..6802bbf 100644 --- a/lib/pages/train_info_page/view_train/train_info_material_DisplayTrainStation.dart +++ b/lib/pages/train_info_page/view_train/train_info_material_DisplayTrainStation.dart @@ -21,11 +21,29 @@ class DisplayTrainStation extends StatelessWidget { children: [ Builder( builder: (context) { - final delay = station.departure?.status?.delay ?? station.arrival?.status?.delay; - final real = station.departure?.status?.real ?? station.arrival?.status?.real; - - final isDelayed = delay != null && delay > 0 && real == true; - final isOnTime = delay != null && delay <= 0 && real == true; + final departureStatus = station.departure?.status; + final arrivalStatus = station.arrival?.status; + int delay; + bool real; + if (departureStatus == null) { + delay = arrivalStatus?.delay ?? 0; + real = arrivalStatus?.real ?? false; + } + else if (arrivalStatus == null) { + delay = departureStatus.delay; + real = departureStatus.real; + } + else { + delay = departureStatus.delay; + real = departureStatus.real; + if (!real && arrivalStatus.real) { + delay = arrivalStatus.delay; + real = arrivalStatus.real; + } + } + + final isDelayed = delay > 0 && real == true; + final isOnTime = delay <= 0 && real == true; final isNotScheduled = false; return KmBadge( diff --git a/pubspec.yaml b/pubspec.yaml index 9d87aec..1855cce 100644 --- a/pubspec.yaml +++ b/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.3.0 +version: 2.3.1 environment: sdk: ">=2.12.0 <3.0.0"