From 0b15a09a5bac145f074f4494e6482d34e9b801e3 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Wed, 24 Feb 2021 21:44:56 -0500 Subject: [PATCH 1/2] [file_selector] Return a non-null value from getSavePath on web --- packages/file_selector/file_selector_web/CHANGELOG.md | 5 +++++ .../example/integration_test/file_selector_web_test.dart | 8 ++++++++ .../file_selector_web/lib/file_selector_web.dart | 5 ++++- packages/file_selector/file_selector_web/pubspec.yaml | 2 +- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/packages/file_selector/file_selector_web/CHANGELOG.md b/packages/file_selector/file_selector_web/CHANGELOG.md index 4caad4b975f9..8d2b03c0ff67 100644 --- a/packages/file_selector/file_selector_web/CHANGELOG.md +++ b/packages/file_selector/file_selector_web/CHANGELOG.md @@ -1,3 +1,8 @@ +# 0.8.1 + +- Return a non-null value from `getSavePath` for consistency with + API expectations that null indications canceling. + # 0.8.0 - Migrated to null-safety diff --git a/packages/file_selector/file_selector_web/example/integration_test/file_selector_web_test.dart b/packages/file_selector/file_selector_web/example/integration_test/file_selector_web_test.dart index 5442fedf5408..ea9569bf00a9 100644 --- a/packages/file_selector/file_selector_web/example/integration_test/file_selector_web_test.dart +++ b/packages/file_selector/file_selector_web/example/integration_test/file_selector_web_test.dart @@ -73,6 +73,14 @@ void main() { expect(await files[1].lastModified(), isNotNull); }); }); + + group('getSavePath', () { + testWidgets('returns non-null', (WidgetTester _) async { + final plugin = FileSelectorWeb(); + final savePath = plugin.getSavePath(); + expect(await savePath, isNotNull); + }); + }); }); } diff --git a/packages/file_selector/file_selector_web/lib/file_selector_web.dart b/packages/file_selector/file_selector_web/lib/file_selector_web.dart index 1c411ca0a2f0..cf95e403effc 100644 --- a/packages/file_selector/file_selector_web/lib/file_selector_web.dart +++ b/packages/file_selector/file_selector_web/lib/file_selector_web.dart @@ -45,6 +45,9 @@ class FileSelectorWeb extends FileSelectorPlatform { return _openFiles(acceptedTypeGroups: acceptedTypeGroups, multiple: true); } + // This is intended to be passed to XFile, which ignores the path, but 'null' + // indicates a canceled save on other platforms, so provide a non-null dummy + // value. @override Future getSavePath({ List? acceptedTypeGroups, @@ -52,7 +55,7 @@ class FileSelectorWeb extends FileSelectorPlatform { String? suggestedName, String? confirmButtonText, }) async => - null; + ''; @override Future getDirectoryPath({ diff --git a/packages/file_selector/file_selector_web/pubspec.yaml b/packages/file_selector/file_selector_web/pubspec.yaml index 55424a7a4c1c..17f0f476cbac 100644 --- a/packages/file_selector/file_selector_web/pubspec.yaml +++ b/packages/file_selector/file_selector_web/pubspec.yaml @@ -1,7 +1,7 @@ name: file_selector_web description: Web platform implementation of file_selector homepage: https://github.com/flutter/plugins/tree/master/packages/file_selector/file_selector_web -version: 0.8.0 +version: 0.8.1 flutter: plugin: From bc4a4ac505abca261b26f6d43b03efa2b85b04e5 Mon Sep 17 00:00:00 2001 From: David Iglesias Date: Wed, 24 Feb 2021 19:00:57 -0800 Subject: [PATCH 2/2] Update CHANGELOG.md --- packages/file_selector/file_selector_web/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/file_selector/file_selector_web/CHANGELOG.md b/packages/file_selector/file_selector_web/CHANGELOG.md index 8d2b03c0ff67..3eb7c3b94494 100644 --- a/packages/file_selector/file_selector_web/CHANGELOG.md +++ b/packages/file_selector/file_selector_web/CHANGELOG.md @@ -1,7 +1,7 @@ # 0.8.1 - Return a non-null value from `getSavePath` for consistency with - API expectations that null indications canceling. + API expectations that null indicates canceling. # 0.8.0