diff --git a/lib/main.dart b/lib/main.dart index a0a584a5..3d685d0f 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -14,6 +14,8 @@ import 'package:diplomaticquarterapp/uitl/PlatformBridge.dart'; import 'package:diplomaticquarterapp/uitl/navigation_service.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:firebase_core/firebase_core.dart'; +import 'package:firebase_crashlytics/firebase_crashlytics.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:provider/provider.dart'; @@ -27,6 +29,16 @@ import 'pages/pharmacies/compare-list.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); + + // Pass all uncaught "fatal" errors from the framework to Crashlytics + FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError; + + // Pass all uncaught asynchronous errors that aren't handled by the Flutter framework to Crashlytics + PlatformDispatcher.instance.onError = (error, stack) { + FirebaseCrashlytics.instance.recordError(error, stack, fatal: true); + return true; + }; + setupLocator(); HttpOverrides.global = MyHttpOverrides(); runApp(MyApp()); @@ -55,8 +67,6 @@ class _MyApp extends State { //0567184134 mobile //246305493 - - // checkForUpdate() { // // todo need to verify 'imp' // InAppUpdate.checkForUpdate().then((info) { @@ -140,14 +150,12 @@ class _MyApp extends State { ], child: Consumer( builder: (context, projectProvider, child) => MaterialApp( - builder: (_, mchild) { return MediaQuery( - data: MediaQuery.of(context).copyWith( - textScaler: TextScaler.linear(1.0), - ), //set desired text scale factor here - child: mchild! - ); + data: MediaQuery.of(context).copyWith( + textScaler: TextScaler.linear(1.0), + ), //set desired text scale factor here + child: mchild!); // Container( // color: Colors.blue, // )); diff --git a/lib/pages/landing/home_page_2.dart b/lib/pages/landing/home_page_2.dart index af02e200..a5fff824 100644 --- a/lib/pages/landing/home_page_2.dart +++ b/lib/pages/landing/home_page_2.dart @@ -10,6 +10,7 @@ import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; +import 'package:firebase_crashlytics/firebase_crashlytics.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -55,7 +56,7 @@ class _HomePageState2 extends State { model, onLoginClick: () { widget.onLoginClick!(); - + // FirebaseCrashlytics.instance.crash(); // Navigator.pushNamed( // context, // "zoom_call_page", diff --git a/lib/pages/livecare/incoming_call.dart b/lib/pages/livecare/incoming_call.dart index 5a6b0b48..c7b574f0 100644 --- a/lib/pages/livecare/incoming_call.dart +++ b/lib/pages/livecare/incoming_call.dart @@ -223,7 +223,7 @@ class _IncomingCallState extends State with SingleTickerProviderSt Navigator.pushReplacementNamed( context, "zoom_call_page", - arguments: CallArguments(widget.incomingCallData!.sessionId!, "123", "Patient", "40", "0", false, 2), + arguments: CallArguments(widget.incomingCallData!.sessionId!, "123", "Patient", "40", "0", false, int.parse(widget.incomingCallData!.appointmentNo!)), ); } else { // OpenTok Call Page diff --git a/lib/splashPage.dart b/lib/splashPage.dart index 515c7f54..7743cd73 100644 --- a/lib/splashPage.dart +++ b/lib/splashPage.dart @@ -11,6 +11,7 @@ import 'package:diplomaticquarterapp/uitl/LocalNotification.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/push-notification-handler.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; +import 'package:firebase_crashlytics/firebase_crashlytics.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_zoom_videosdk/native/zoom_videosdk.dart'; @@ -84,6 +85,7 @@ class _SplashScreenState extends State { // debugPrint("ALL SHARED PREFERENCES!!!!!"); // debugPrint(jsonEncode(value)); }); + await FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true); // PushNotificationHandler(context).init(); // Asyncronously } diff --git a/pubspec.yaml b/pubspec.yaml index 16e395b3..f5b22bd1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -182,6 +182,8 @@ dependencies: dart_jsonwebtoken: ^2.14.0 win32: ^5.5.4 + firebase_crashlytics: ^3.0.0 + cloudflare_turnstile: ^2.0.1 dependency_overrides: