Skip to content

Commit f584cbd

Browse files
committed
Bug fix: filter screen doesnt break on loading error
1 parent 4addb68 commit f584cbd

File tree

3 files changed

+28
-13
lines changed

3 files changed

+28
-13
lines changed

android/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ android {
5656
minSdkVersion 19
5757
targetSdkVersion flutter.targetSdkVersion
5858
//TODO: Change versionCode and versionName if there is a new version
59-
versionCode 1307
60-
versionName "v1.3.7"
59+
versionCode 1308
60+
versionName "v1.3.8"
6161
}
6262

6363
signingConfigs {

lib/ui/screens/filter_screen/filter_screen.dart

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -74,17 +74,30 @@ class _FilterScreenState extends ConsumerState<FilterScreen> {
7474
continue;
7575
}
7676
Sentry.captureException(
77-
timeTableAsync.hasError,
78-
stackTrace: timeTableAsync.hasError,
77+
timeTableAsync.error,
78+
stackTrace: timeTableAsync.stackTrace,
7979
);
8080
getLogger().e(
8181
"Error while loading timetable",
8282
error: timeTableAsync.error,
8383
stackTrace: timeTableAsync.stackTrace,
8484
);
85-
return const Scaffold(
86-
body: Center(
87-
child: Text('Fehler beim Laden des Stundenplans'),
85+
return Scaffold(
86+
appBar: AppBar(
87+
title: const Text('Fehler'),
88+
),
89+
body: const Center(
90+
child: Padding(
91+
padding: EdgeInsets.all(16.0),
92+
child: Column(
93+
mainAxisAlignment: MainAxisAlignment.center,
94+
children: [
95+
Text('Fehler beim Laden des Stundenplans', style: TextStyle(fontSize: 20)),
96+
Text('Die möglichen Filter werden aus Stunden aus den letzten zwei und dne nächsten zwei Wochen erstellt.'
97+
'Mindestens eine dieser Wochen konnte nicht richtig geladen werden. Versuche, alle Wochen neu zu laden oder die App zu schließen und zu öffnen, um es erneut zu versuchen. Wenn das Problem weiter auftritt, kannst du dich gerne an mich wenden.')
98+
],
99+
),
100+
),
88101
),
89102
);
90103
}
@@ -275,11 +288,13 @@ class _FilterScreenState extends ConsumerState<FilterScreen> {
275288
<TimeTablePeriod>[],
276289
(previousValue, element) => previousValue
277290
..addAll(
278-
element.value?.values.fold(
279-
<TimeTablePeriod>[],
280-
(previousValue, element) => previousValue?.toList()?..addAll(element),
281-
) ??
282-
previousValue.toList(),
291+
(element.hasError
292+
? null
293+
: element.value?.values.fold(
294+
<TimeTablePeriod>[],
295+
(previousValue, element) => previousValue?.toList()?..addAll(element),
296+
)) ??
297+
[],
283298
),
284299
);
285300

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: your_schedule
22
description: Filter your Untis Schedule by classes you have chosen.
33

4-
version: 1.3.7
4+
version: 1.3.8
55

66
environment:
77
sdk: ">=3.0.5 <4.0.0"

0 commit comments

Comments
 (0)