launch method Null safety

Future<File?>? launch (
  1. BuildContext context,
  2. {ScannerFileSource? source,
  3. Map<dynamic, String> androidConfigs = 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> androidConfigs = const {}}) {
  if (source != null) {
    return _scanDocument(source, androidConfigs);
  }
  return showModalBottomSheet<File>(
      context: context,
      builder: (BuildContext bc) {
        return Container(
          child: new Wrap(
            children: <Widget>[
              new ListTile(
                  leading: new Icon(Icons.camera_alt),
                  title: new Text('Camera'),
                  onTap: () async {
                    Navigator.pop(
                        context,
                        await _scanDocument(
                            ScannerFileSource.CAMERA, androidConfigs));
                  }),
              new ListTile(
                leading: new Icon(Icons.image_search),
                title: new Text('Photo Library'),
                onTap: () async {
                  Navigator.pop(
                      context,
                      await _scanDocument(
                          ScannerFileSource.GALLERY, androidConfigs));
                },
              ),
            ],
          ),
        );
      });
}