Skip to content

Commit 7ad2eec

Browse files
committed
#355: added trigger error
1 parent ea7550b commit 7ad2eec

File tree

2 files changed

+40
-11
lines changed

2 files changed

+40
-11
lines changed

lib/screen/logs/logs_screen.dart

+26-11
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import 'package:flutter_template/styles/theme_data.dart';
55
import 'package:flutter_template/util/extension/date_time_extension.dart';
66
import 'package:flutter_template/viewmodel/logs/logs_viewmodel.dart';
77
import 'package:flutter_template/widget/general/simple_screen/base_screen.dart';
8+
import 'package:flutter_template/widget/general/styled/flutter_template_button.dart';
89
import 'package:flutter_template/widget/provider/provider_widget.dart';
910
import 'package:icapps_architecture/icapps_architecture.dart';
1011

@@ -21,19 +22,33 @@ class LogsScreenState extends State<LogsScreen> {
2122
Widget build(BuildContext context) {
2223
return ProviderWidget<LogsViewModel>(
2324
create: () => getIt()..init(),
24-
childBuilderWithViewModel: (context, viewModel, theme, localization) => BaseScreen.builder(
25+
childBuilderWithViewModel: (context, viewModel, theme, localization) => BaseScreen.child(
2526
title: 'Logs',
26-
itemCount: viewModel.availableDates.length,
27-
itemBuilder: (context, index) {
28-
final item = viewModel.availableDates[index];
29-
return TouchFeedBack(
30-
onTapped: () => viewModel.onLogTapped(item),
31-
child: Text(
32-
item.shortDateWeekdayFormat,
33-
style: theme.text.bodyBig,
27+
padding: const EdgeInsets.symmetric(horizontal: 16),
28+
child: Column(
29+
children: [
30+
Expanded(
31+
child: ListView.builder(
32+
padding: const EdgeInsets.symmetric(vertical: 16),
33+
itemCount: viewModel.availableDates.length,
34+
itemBuilder: (context, index) {
35+
final item = viewModel.availableDates[index];
36+
return TouchFeedBack(
37+
onTapped: () => viewModel.onLogTapped(item),
38+
child: Text(
39+
item.shortDateWeekdayFormat,
40+
style: theme.text.bodyBig,
41+
),
42+
);
43+
},
44+
),
3445
),
35-
);
36-
},
46+
FlutterTemplateButton(
47+
text: 'Trigger crash',
48+
onClick: viewModel.triggerError,
49+
),
50+
],
51+
),
3752
),
3853
);
3954
}

lib/viewmodel/logs/logs_viewmodel.dart

+14
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'package:flutter_template/navigator/main_navigator.dart';
2+
import 'package:flutter_template/util/logging/flutter_template_logger.dart';
23
import 'package:icapps_architecture/icapps_architecture.dart';
34
import 'package:injectable/injectable.dart';
45
import 'package:log_to_secure_file/log_to_secure_file.dart';
@@ -24,5 +25,18 @@ class LogsViewModel with ChangeNotifierEx {
2425
notifyListeners();
2526
}
2627

28+
void triggerError() {
29+
try {
30+
throw Exception('This is a test error');
31+
} catch (e, trace) {
32+
FlutterTemplateLogger.logError(
33+
'Error',
34+
error: e,
35+
stackTrace: trace,
36+
sendToFirebase: false,
37+
);
38+
}
39+
}
40+
2741
void onLogTapped(DateTime date) => _navigator.goToLogDetailScreen(date: date.toIso8601String());
2842
}

0 commit comments

Comments
 (0)