import 'package:bot_toast/bot_toast.dart'; import 'package:fluffychat/components/dialogs/simple_dialogs.dart'; import 'package:fluffychat/config/app_config.dart'; import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:sentry/sentry.dart'; import 'famedlysdk_store.dart'; abstract class SentryController { static Future toggleSentryAction(BuildContext context) async { final enableSentry = await SimpleDialogs(context).askConfirmation( titleText: L10n.of(context).sendBugReports, contentText: L10n.of(context).sentryInfo, confirmText: L10n.of(context).ok, cancelText: L10n.of(context).no, ); final storage = Store(); await storage.setItem('sentry', enableSentry.toString()); BotToast.showText(text: L10n.of(context).changesHaveBeenSaved); return; } static Future getSentryStatus() async { final storage = Store(); return await storage.getItem('sentry') == 'true'; } static final sentry = SentryClient(dsn: AppConfig.sentryDsn); static void captureException(error, stackTrace) async { debugPrint(error.toString()); debugPrint(stackTrace.toString()); final storage = Store(); if (await storage.getItem('sentry') == 'true') { await sentry.captureException( exception: error, stackTrace: stackTrace, ); } } }