openCamera static method

Future<CroppedFile?> openCamera()

Implementation

static Future<CroppedFile?> openCamera() async {
  final status = await Permission.camera.request();

  if (status.isDenied || status.isPermanentlyDenied) {
    GrxToastService.showError(
      message:
          status.isPermanentlyDenied
              ? 'Permissão de acesso à câmera negada permanentemente.'
              : 'Permissão de acesso à câmera negada.',
      actions: [
        GrxToastAction(
          label: 'Abrir Configurações',
          icon: Icons.settings,
          onPressed: () => openAppSettings(),
        ),
      ],
    );
    return null;
  }

  final image = await _picker.pickImage(source: ImageSource.camera);
  if (image == null) return null;

  return cropImage(image.path);
}