showStatsNotification method

Future<void> showStatsNotification({
  1. required BuildContext context,
  2. required AliceStats stats,
})

Shows current stats notification. It formats stats into simple notification which is displayed when stats has changed.

Implementation

Future<void> showStatsNotification({
  required BuildContext context,
  required AliceStats stats,
}) async {
  try {
    if (_isNotificationProcessing) {
      return;
    }
    final message = _getNotificationMessage(context: context, stats: stats);
    if (message == _notificationMessageDisplayed) {
      return;
    }

    _isNotificationProcessing = true;

    await _flutterLocalNotificationsPlugin?.show(
      0,
      context
          .i18n(AliceTranslationKey.notificationTotalRequests)
          .replaceAll(_callCount, stats.total.toString()),
      message,
      _notificationDetails,
      payload: _payload,
    );

    _notificationMessageDisplayed = message;
  } catch (error) {
    AliceUtils.log(error.toString());
  } finally {
    _isNotificationProcessing = false;
  }
}