launch static method

Future<File?>? launch(
  1. BuildContext context, {
  2. ScannerFileSource? source,
  3. Map<dynamic, String> labelsConfig = const {},
})

Scanner to get single scanned image

context : BuildContext to attach source selection source : Either ScannerFileSource.CAMERA or ScannerFileSource.GALLERY androidConfigs : Android scanner labels configuration

Implementation

static Future<File?>? launch(BuildContext context,
    {ScannerFileSource? source,
      Map<dynamic, String> labelsConfig = const {}}) {
  if (source != null) {
    return _scanDocument(source, labelsConfig);
  }
  return showModalBottomSheet<File>(
      context: context,
      isDismissible: false,
      builder: (BuildContext bc) {
        return Container(
          child: new Wrap(
            children: <Widget>[
              new ListTile(
                  leading: new Icon(Icons.camera_alt),
                  title: new Text(
                      labelsConfig[ScannerLabelsConfig.PICKER_CAMERA_LABEL] ??
                          'Camera'),
                  onTap: () async {
                    Navigator.pop(
                        context,
                        await _scanDocument(
                            ScannerFileSource.CAMERA, labelsConfig));
                  }),
              new ListTile(
                leading: new Icon(Icons.image_search),
                title: new Text(
                    labelsConfig[ScannerLabelsConfig.PICKER_GALLERY_LABEL] ??
                        'Photo Library'),
                onTap: () async {
                  Navigator.pop(
                      context,
                      await _scanDocument(
                          ScannerFileSource.GALLERY, labelsConfig));
                },
              ),
            ],
          ),
        );
      });
}