pick method

  1. @override
Future<List<PickedEntry>?> pick(
  1. FilegatePickOptions options
)
override

Implementation

@override
Future<List<PickedEntry>?> pick(FilegatePickOptions options) async {
  final entries = await methodChannel.invokeListMethod<Object?>(
    'pick',
    options.toMap(),
  );

  if (entries == null) {
    return null;
  }

  final uniqueEntries = <String, PickedEntry>{};
  for (final entry in entries) {
    final decodedEntry = PickedEntry.fromMap(_castMap(entry));
    uniqueEntries.putIfAbsent(decodedEntry.path, () => decodedEntry);
  }

  return uniqueEntries.values.toList(growable: false)
    ..sort(_comparePickedEntries);
}