handle method

  1. @override
Future<bool> handle(
  1. Report report,
  2. BuildContext? context
)
override

Method called when report has been accepted by user

Implementation

@override
Future<bool> handle(Report report, BuildContext? context) async {
  if (report.platformType != PlatformType.web) {
    if (!(await CatcherUtils.isInternetConnectionAvailable())) {
      _printLog("No internet connection available");
      return false;
    }
  }

  String message = "";
  if (customMessageBuilder != null) {
    message = await customMessageBuilder!(report);
  } else {
    message = _buildMessage(report);
  }
  final List<String> messages = _setupMessages(message);

  for (final value in messages) {
    final bool isLastMessage = messages.indexOf(value) == messages.length - 1;
    final bool result =
        await _sendContent(value, isLastMessage ? report.screenshot : null);
    if (!result) {
      return result;
    }
  }

  return true;
}