Implemented error reporting solution

This commit is contained in:
Anton Stubenbord
2022-11-14 00:08:07 +01:00
parent b5aac36b2b
commit 511f8ca3f4
33 changed files with 475 additions and 110 deletions

View File

@@ -7,20 +7,49 @@ import 'package:paperless_mobile/core/logic/error_code_localization_mapper.dart'
import 'package:paperless_mobile/core/model/error_message.dart';
import 'package:intl/intl.dart';
import 'package:package_info_plus/package_info_plus.dart';
import 'package:paperless_mobile/core/service/github_issue_service.dart';
import 'package:paperless_mobile/generated/intl/messages_de.dart';
import 'package:path_provider/path_provider.dart';
final dateFormat = DateFormat("yyyy-MM-dd");
final GlobalKey<ScaffoldState> rootScaffoldKey = GlobalKey<ScaffoldState>();
late PackageInfo kPackageInfo;
void showSnackBar(BuildContext context, String message, [String? details]) {
void showSnackBar(
BuildContext context,
String message, {
String? details,
SnackBarAction? action,
}) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text(message + (details != null ? ' ($details)' : ''))),
SnackBar(
content: Text(
message + (details != null ? ' ($details)' : ''),
),
action: action,
duration: const Duration(seconds: 5),
),
);
}
void showError(BuildContext context, ErrorMessage error) {
showSnackBar(context, translateError(context, error.code), error.details);
void showError(
BuildContext context,
ErrorMessage error, [
StackTrace? stackTrace,
]) {
showSnackBar(
context,
translateError(context, error.code),
details: error.details,
action: SnackBarAction(
label: "REPORT",
textColor: Colors.amber,
onPressed: () => GithubIssueService.createIssueFromError(
context,
stackTrace: stackTrace,
),
),
);
}
bool isNotNull(dynamic value) {