initAutoCapture method

void initAutoCapture()

Implementation

void initAutoCapture() {
  widget._controller.intervalCountdown.value =
      widget._controller.autoCaptureInterval;
  widget._controller.intervalPause = false;
  setState(() {});
  Timer.periodic(
    const Duration(seconds: 1),
    (timer) async {
      if (!mounted || !canCapture()) {
        timer.cancel();
        widget._controller.intervalPause = true;
        if (mounted) setState(() {});
        return;
      }
      if (widget._controller.intervalPause) return;
      if (widget._controller.intervalCountdown.value > 0) {
        widget._controller.intervalCountdown.value--;
      } else {
        if (!showPreviewPage) {
          capture();
        }
        widget._controller.intervalCountdown.value =
            widget._controller.autoCaptureInterval;
      }
    },
  );
}