submit method

  1. @override
Future<void> submit(
  1. FeedbackEntry entry
)
override

Submits entry to the underlying backend, or enqueues it if offline or if the backend throws.

Implementation

@override
Future<void> submit(FeedbackEntry entry) async {
  _lastSubmitWasQueued = false;
  final online = await _connectivity.isOnline();
  if (!online) {
    await _queue.enqueue(entry);
    _lastSubmitWasQueued = true;
    onQueued?.call(entry);
    return;
  }
  try {
    await _backend.submit(entry);
  } catch (_) {
    await _queue.enqueue(entry);
    _lastSubmitWasQueued = true;
    onQueued?.call(entry);
  }
}