pick method

Future<List<DrishyaEntity>> pick(
  1. BuildContext context, {
  2. List<DrishyaEntity>? selectedEntities,
})

Pick assets

Implementation

Future<List<DrishyaEntity>> pick(
  BuildContext context, {
  List<DrishyaEntity>? selectedEntities,
}) async {
  // If dont have permission dont do anything
  final permission = await PhotoManager.requestPermissionExtend();
  if (permission != PermissionState.authorized &&
      permission != PermissionState.limited) {
    PhotoManager.openSetting();
    return [];
  }

  _completer = Completer<List<DrishyaEntity>>();

  if (_wrapperKey.currentState == null) {
    _fullScreenMode = true;
    final route = SlideTransitionPageRoute<List<DrishyaEntity>>(
      builder: GalleryView(controller: this),
    );
    await Navigator.of(context).push(route).then((result) {
      // Closed by user
      if (result == null && !_accessCamera) {
        _completer.complete(value.selectedEntities);
      }
    });
  } else {
    _fullScreenMode = false;
    _panelController.openPanel();
    FocusScope.of(context).unfocus();
  }
  if (!singleSelection && (selectedEntities?.isNotEmpty ?? false)) {
    _internal = true;
    value = value.copyWith(
      selectedEntities: selectedEntities,
      previousSelection: true,
    );
  }

  return _completer.future;
}