retryDocumentCapture method

void retryDocumentCapture()

Implementation

void retryDocumentCapture() {
  DocumentSide side;
  if (state.currentEntityState == IdDocumentState.frontReceivedAwaitingBack ||
      state.currentEntityState == IdDocumentState.frontReceivedAndBackReceivedButBackNeedsResubmission) {
    side = DocumentSide.back;
  } else {
    side = DocumentSide.front;
  }

  if (_context != null) {
    try {
      for (final docSide in [DocumentSide.front, DocumentSide.back]) {
        final provider = documentScanStateProvider(docSide);
        _ref.read(provider.notifier).forceClear();
      }
    } catch (e) {
      // Handle error silently
    }
  }

  navigateTo(VerificationStep.documentCapture(side: side));

  if (_context != null) {
    WidgetsBinding.instance.addPostFrameCallback((_) {
      try {
        final provider = documentScanStateProvider(side);
        _ref.read(provider.notifier).resetCamera(_context!);
      } catch (e) {
        // Handle error silently
      }
    });
  }
}