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

Commit 494e9f9

Browse files
[file_selector] Return a non-null value from getSavePath on web (#3630)
1 parent 8201637 commit 494e9f9

File tree

4 files changed

+18
-2
lines changed

4 files changed

+18
-2
lines changed

packages/file_selector/file_selector_web/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
# 0.8.1
2+
3+
- Return a non-null value from `getSavePath` for consistency with
4+
API expectations that null indicates canceling.
5+
16
# 0.8.0
27

38
- Migrated to null-safety

packages/file_selector/file_selector_web/example/integration_test/file_selector_web_test.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,14 @@ void main() {
7373
expect(await files[1].lastModified(), isNotNull);
7474
});
7575
});
76+
77+
group('getSavePath', () {
78+
testWidgets('returns non-null', (WidgetTester _) async {
79+
final plugin = FileSelectorWeb();
80+
final savePath = plugin.getSavePath();
81+
expect(await savePath, isNotNull);
82+
});
83+
});
7684
});
7785
}
7886

packages/file_selector/file_selector_web/lib/file_selector_web.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,17 @@ class FileSelectorWeb extends FileSelectorPlatform {
4545
return _openFiles(acceptedTypeGroups: acceptedTypeGroups, multiple: true);
4646
}
4747

48+
// This is intended to be passed to XFile, which ignores the path, but 'null'
49+
// indicates a canceled save on other platforms, so provide a non-null dummy
50+
// value.
4851
@override
4952
Future<String?> getSavePath({
5053
List<XTypeGroup>? acceptedTypeGroups,
5154
String? initialDirectory,
5255
String? suggestedName,
5356
String? confirmButtonText,
5457
}) async =>
55-
null;
58+
'';
5659

5760
@override
5861
Future<String?> getDirectoryPath({

packages/file_selector/file_selector_web/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: file_selector_web
22
description: Web platform implementation of file_selector
33
homepage: https://github.com/flutter/plugins/tree/master/packages/file_selector/file_selector_web
4-
version: 0.8.0
4+
version: 0.8.1
55

66
flutter:
77
plugin:

0 commit comments

Comments
 (0)