Files
GitJournal/lib/main.dart
Vishesh Handa e426f5523c Do not report Flutter errors to Crashlytics
It's just extra noise. We're still initializing it as I want the
iOS/Android level errors.
2020-04-14 16:19:44 +02:00

39 lines
1.2 KiB
Dart

import 'dart:async';
import 'dart:isolate';
import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart' as foundation;
import 'package:gitjournal/error_reporting.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:gitjournal/app.dart';
import 'package:gitjournal/settings.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
var pref = await SharedPreferences.getInstance();
Settings.instance.load(pref);
JournalApp.isInDebugMode = foundation.kDebugMode;
FlutterError.onError = flutterOnErrorHandler;
// Make sure Crashlytics is initialized so we get Android/iOS errors
// But for Flutter errors, lets just rely on Sentry.
initCrashlytics();
Isolate.current.addErrorListener(RawReceivePort((dynamic pair) async {
var isolateError = pair as List<dynamic>;
assert(isolateError.length == 2);
assert(isolateError.first.runtimeType == Error);
assert(isolateError.last.runtimeType == StackTrace);
await reportError(isolateError.first, isolateError.last);
}).sendPort);
runZoned<Future<void>>(() async {
await JournalApp.main(pref);
}, onError: reportError);
}