Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

Commit 6ef2634

Browse files
committed
Add logger
1 parent faa26ec commit 6ef2634

File tree

3 files changed

+21
-3
lines changed

3 files changed

+21
-3
lines changed

packages/file_selector/file_selector/example/lib/open_text_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class OpenTextPage extends StatelessWidget {
88
label: 'text',
99
extensions: ['txt', 'json'],
1010
);
11-
final XFile file = await openFile(acceptedTypeGroups: [typeGroup]);
11+
final XFile file = await openFile();
1212
final String fileName = file.name;
1313
final String fileContent = await file.readAsString();
1414

packages/file_selector/file_selector/lib/file_selector.dart

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,20 @@
33
// found in the LICENSE file.
44

55
import 'dart:async';
6-
6+
import 'package:logger/logger.dart';
77
import 'package:file_selector_platform_interface/file_selector_platform_interface.dart';
8-
98
export 'package:file_selector_platform_interface/file_selector_platform_interface.dart'
109
show XFile, XTypeGroup;
1110

11+
final _logger = Logger();
12+
1213
/// Open file dialog for loading files and return a file path
1314
Future<XFile> openFile({
1415
List<XTypeGroup> acceptedTypeGroups,
1516
String initialDirectory,
1617
String confirmButtonText,
1718
}) {
19+
_verifyExtensions(acceptedTypeGroups);
1820
return FileSelectorPlatform.instance.openFile(
1921
acceptedTypeGroups: acceptedTypeGroups,
2022
initialDirectory: initialDirectory,
@@ -27,6 +29,7 @@ Future<List<XFile>> openFiles({
2729
String initialDirectory,
2830
String confirmButtonText,
2931
}) {
32+
_verifyExtensions(acceptedTypeGroups);
3033
return FileSelectorPlatform.instance.openFiles(
3134
acceptedTypeGroups: acceptedTypeGroups,
3235
initialDirectory: initialDirectory,
@@ -40,6 +43,7 @@ Future<String> getSavePath({
4043
String suggestedName,
4144
String confirmButtonText,
4245
}) async {
46+
_verifyExtensions(acceptedTypeGroups);
4347
return FileSelectorPlatform.instance.getSavePath(
4448
acceptedTypeGroups: acceptedTypeGroups,
4549
initialDirectory: initialDirectory,
@@ -55,3 +59,16 @@ Future<String> getDirectoryPath({
5559
return FileSelectorPlatform.instance.getDirectoryPath(
5660
initialDirectory: initialDirectory, confirmButtonText: confirmButtonText);
5761
}
62+
63+
void _verifyExtensions(List<XTypeGroup> acceptedTypeGroups) {
64+
acceptedTypeGroups?.asMap()?.forEach((i, acceptedTypeGroup) {
65+
acceptedTypeGroup.extensions?.asMap()?.forEach((j, ext) {
66+
if (ext.startsWith('.')) {
67+
_logger.w(
68+
'acceptedTypeGroups[${i}].extensions[${j}] with value "${ext}" is invalid.'
69+
' Remove the leading dot.',
70+
);
71+
}
72+
});
73+
});
74+
}

packages/file_selector/file_selector/pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ dependencies:
77
flutter:
88
sdk: flutter
99
file_selector_platform_interface: ^1.0.0
10+
logger: ^0.9.4
1011

1112
dev_dependencies:
1213
flutter_test:

0 commit comments

Comments
 (0)