diff --git a/packages/file_selector/file_selector/CHANGELOG.md b/packages/file_selector/file_selector/CHANGELOG.md index febebfdcdca7..ed6ce16bed3e 100644 --- a/packages/file_selector/file_selector/CHANGELOG.md +++ b/packages/file_selector/file_selector/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 0.9.2+5 +* Updates references to the deprecated `macUTIs`. * Aligns Dart and Flutter SDK constraints. ## 0.9.2+4 diff --git a/packages/file_selector/file_selector/README.md b/packages/file_selector/file_selector/README.md index d5878e2d268b..3fc0f14f0e61 100644 --- a/packages/file_selector/file_selector/README.md +++ b/packages/file_selector/file_selector/README.md @@ -99,12 +99,12 @@ Different platforms support different type group filter options. To avoid filters that cover all platforms you are targeting, or that you conditionally pass different `XTypeGroup`s based on `Platform`. -| | Linux | macOS | Web | Windows | -|----------------|-------|--------|-----|-------------| -| `extensions` | ✔️ | ✔️ | ✔️ | ✔️ | -| `mimeTypes` | ✔️ | ✔️† | ✔️ | | -| `macUTIs` | | ✔️ | | | -| `webWildCards` | | | ✔️ | | +| | iOS | Linux | macOS | Web | Windows | +|--------------------------|-----|-------|--------|-----|-------------| +| `extensions` | | ✔️ | ✔️ | ✔️ | ✔️ | +| `mimeTypes` | | ✔️ | ✔️† | ✔️ | | +| `uniformTypeIdentifiers` | ✔️ | | ✔️ | | | +| `webWildCards` | | | | ✔️ | | † `mimeTypes` are not supported on version of macOS earlier than 11 (Big Sur). @@ -118,4 +118,4 @@ pass different `XTypeGroup`s based on `Platform`. | Choose a directory | Pick a folder and get its path | ❌ | ✔️ | ✔️ | ✔️ | ❌ | [example]:./example -[entitlement]: https://docs.flutter.dev/desktop#entitlements-and-the-app-sandbox \ No newline at end of file +[entitlement]: https://docs.flutter.dev/desktop#entitlements-and-the-app-sandbox diff --git a/packages/file_selector/file_selector/pubspec.yaml b/packages/file_selector/file_selector/pubspec.yaml index 5a8e910911fa..becf6d39639d 100644 --- a/packages/file_selector/file_selector/pubspec.yaml +++ b/packages/file_selector/file_selector/pubspec.yaml @@ -3,7 +3,7 @@ description: Flutter plugin for opening and saving files, or selecting directories, using native file selection UI. repository: https://github.com/flutter/packages/tree/main/packages/file_selector/file_selector issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+file_selector%22 -version: 0.9.2+4 +version: 0.9.2+5 environment: sdk: ">=2.17.0 <4.0.0" @@ -27,7 +27,7 @@ dependencies: file_selector_ios: ^0.5.0 file_selector_linux: ^0.9.0 file_selector_macos: ^0.9.0 - file_selector_platform_interface: ^2.2.0 + file_selector_platform_interface: ^2.3.0 file_selector_web: ^0.9.0 file_selector_windows: ^0.9.0 flutter: diff --git a/packages/file_selector/file_selector_ios/CHANGELOG.md b/packages/file_selector/file_selector_ios/CHANGELOG.md index 568b6ceee97e..8a48d5b089db 100644 --- a/packages/file_selector/file_selector_ios/CHANGELOG.md +++ b/packages/file_selector/file_selector_ios/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.5.1+4 + +* Updates references to the deprecated `macUTIs`. + ## 0.5.1+3 * Updates pigeon to fix warnings with clang 15. diff --git a/packages/file_selector/file_selector_ios/example/lib/open_image_page.dart b/packages/file_selector/file_selector_ios/example/lib/open_image_page.dart index a89c1bf1c082..e4fd5dd07650 100644 --- a/packages/file_selector/file_selector_ios/example/lib/open_image_page.dart +++ b/packages/file_selector/file_selector_ios/example/lib/open_image_page.dart @@ -18,7 +18,7 @@ class OpenImagePage extends StatelessWidget { const XTypeGroup typeGroup = XTypeGroup( label: 'images', extensions: ['jpg', 'png'], - macUTIs: ['public.image'], + uniformTypeIdentifiers: ['public.image'], ); final XFile? file = await FileSelectorPlatform.instance .openFile(acceptedTypeGroups: [typeGroup]); diff --git a/packages/file_selector/file_selector_ios/example/lib/open_multiple_images_page.dart b/packages/file_selector/file_selector_ios/example/lib/open_multiple_images_page.dart index a101a45ddfc3..cdbf5f2f21ee 100644 --- a/packages/file_selector/file_selector_ios/example/lib/open_multiple_images_page.dart +++ b/packages/file_selector/file_selector_ios/example/lib/open_multiple_images_page.dart @@ -18,12 +18,12 @@ class OpenMultipleImagesPage extends StatelessWidget { const XTypeGroup jpgsTypeGroup = XTypeGroup( label: 'JPEGs', extensions: ['jpg', 'jpeg'], - macUTIs: ['public.jpeg'], + uniformTypeIdentifiers: ['public.jpeg'], ); const XTypeGroup pngTypeGroup = XTypeGroup( label: 'PNGs', extensions: ['png'], - macUTIs: ['public.png'], + uniformTypeIdentifiers: ['public.png'], ); final List files = await FileSelectorPlatform.instance .openFiles(acceptedTypeGroups: [ diff --git a/packages/file_selector/file_selector_ios/example/lib/open_text_page.dart b/packages/file_selector/file_selector_ios/example/lib/open_text_page.dart index 14ec0ea9b890..f606fdc7f9f8 100644 --- a/packages/file_selector/file_selector_ios/example/lib/open_text_page.dart +++ b/packages/file_selector/file_selector_ios/example/lib/open_text_page.dart @@ -15,7 +15,7 @@ class OpenTextPage extends StatelessWidget { const XTypeGroup typeGroup = XTypeGroup( label: 'text', extensions: ['txt', 'json'], - macUTIs: ['public.text'], + uniformTypeIdentifiers: ['public.text'], ); final XFile? file = await FileSelectorPlatform.instance .openFile(acceptedTypeGroups: [typeGroup]); diff --git a/packages/file_selector/file_selector_ios/lib/file_selector_ios.dart b/packages/file_selector/file_selector_ios/lib/file_selector_ios.dart index e75f67e4f1bd..22349b6232ec 100644 --- a/packages/file_selector/file_selector_ios/lib/file_selector_ios.dart +++ b/packages/file_selector/file_selector_ios/lib/file_selector_ios.dart @@ -53,11 +53,11 @@ class FileSelectorIOS extends FileSelectorPlatform { if (typeGroup.allowsAny) { return []; } - if (typeGroup.macUTIs?.isEmpty ?? true) { + if (typeGroup.uniformTypeIdentifiers?.isEmpty ?? true) { throw ArgumentError('The provided type group $typeGroup should either ' - 'allow all files, or have a non-empty "macUTIs"'); + 'allow all files, or have a non-empty "uniformTypeIdentifiers"'); } - allowedUTIs.addAll(typeGroup.macUTIs!); + allowedUTIs.addAll(typeGroup.uniformTypeIdentifiers!); } return allowedUTIs; } diff --git a/packages/file_selector/file_selector_ios/pubspec.yaml b/packages/file_selector/file_selector_ios/pubspec.yaml index aa94300b0b94..944f46709fd2 100644 --- a/packages/file_selector/file_selector_ios/pubspec.yaml +++ b/packages/file_selector/file_selector_ios/pubspec.yaml @@ -2,7 +2,7 @@ name: file_selector_ios description: iOS implementation of the file_selector plugin. repository: https://github.com/flutter/packages/tree/main/packages/file_selector/file_selector_ios issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+file_selector%22 -version: 0.5.1+3 +version: 0.5.1+4 environment: sdk: ">=2.18.0 <4.0.0" @@ -17,7 +17,7 @@ flutter: pluginClass: FFSFileSelectorPlugin dependencies: - file_selector_platform_interface: ^2.2.0 + file_selector_platform_interface: ^2.3.0 flutter: sdk: flutter diff --git a/packages/file_selector/file_selector_ios/test/file_selector_ios_test.dart b/packages/file_selector/file_selector_ios/test/file_selector_ios_test.dart index e10ad17a2fb4..6d3c3c684cac 100644 --- a/packages/file_selector/file_selector_ios/test/file_selector_ios_test.dart +++ b/packages/file_selector/file_selector_ios/test/file_selector_ios_test.dart @@ -40,14 +40,14 @@ void main() { label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], - macUTIs: ['public.text'], + uniformTypeIdentifiers: ['public.text'], ); const XTypeGroup groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], - macUTIs: ['public.image'], + uniformTypeIdentifiers: ['public.image'], webWildCards: ['image/*']); await plugin.openFile(acceptedTypeGroups: [group, groupTwo]); @@ -56,7 +56,7 @@ void main() { final FileSelectorConfig config = result.captured[0] as FileSelectorConfig; - // iOS only accepts macUTIs. + // iOS only accepts uniformTypeIdentifiers. expect(listEquals(config.utis, ['public.text', 'public.image']), isTrue); expect(config.allowMultiSelection, isFalse); @@ -92,14 +92,14 @@ void main() { label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], - macUTIs: ['public.text'], + uniformTypeIdentifiers: ['public.text'], ); const XTypeGroup groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], - macUTIs: ['public.image'], + uniformTypeIdentifiers: ['public.image'], webWildCards: ['image/*']); await plugin.openFiles(acceptedTypeGroups: [group, groupTwo]); @@ -108,7 +108,7 @@ void main() { final FileSelectorConfig config = result.captured[0] as FileSelectorConfig; - // iOS only accepts macUTIs. + // iOS only accepts uniformTypeIdentifiers. expect(listEquals(config.utis, ['public.text', 'public.image']), isTrue); expect(config.allowMultiSelection, isTrue); diff --git a/packages/file_selector/file_selector_linux/test/file_selector_linux_test.dart b/packages/file_selector/file_selector_linux/test/file_selector_linux_test.dart index 53a549da3d4a..5127d28b7f67 100644 --- a/packages/file_selector/file_selector_linux/test/file_selector_linux_test.dart +++ b/packages/file_selector/file_selector_linux/test/file_selector_linux_test.dart @@ -38,15 +38,12 @@ void main() { label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], - macUTIs: ['public.text'], ); const XTypeGroup groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], - macUTIs: ['public.image'], - webWildCards: ['image/*'], ); await plugin.openFile(acceptedTypeGroups: [group, groupTwo]); @@ -144,15 +141,12 @@ void main() { label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], - macUTIs: ['public.text'], ); const XTypeGroup groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], - macUTIs: ['public.image'], - webWildCards: ['image/*'], ); await plugin.openFiles(acceptedTypeGroups: [group, groupTwo]); @@ -250,15 +244,12 @@ void main() { label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], - macUTIs: ['public.text'], ); const XTypeGroup groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], - macUTIs: ['public.image'], - webWildCards: ['image/*'], ); await plugin diff --git a/packages/file_selector/file_selector_macos/CHANGELOG.md b/packages/file_selector/file_selector_macos/CHANGELOG.md index f309e7baf895..2e9d4dc49b60 100644 --- a/packages/file_selector/file_selector_macos/CHANGELOG.md +++ b/packages/file_selector/file_selector_macos/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.9.1+1 + +* Updates references to the deprecated `macUTIs`. + ## 0.9.1 * Adds `getDirectoryPaths` implementation. diff --git a/packages/file_selector/file_selector_macos/lib/file_selector_macos.dart b/packages/file_selector/file_selector_macos/lib/file_selector_macos.dart index 0fd4457a236f..293c1e20e773 100644 --- a/packages/file_selector/file_selector_macos/lib/file_selector_macos.dart +++ b/packages/file_selector/file_selector_macos/lib/file_selector_macos.dart @@ -121,17 +121,17 @@ class FileSelectorMacOS extends FileSelectorPlatform { // Reject a filter that isn't an allow-any, but doesn't set any // macOS-supported filter categories. if ((typeGroup.extensions?.isEmpty ?? true) && - (typeGroup.macUTIs?.isEmpty ?? true) && + (typeGroup.uniformTypeIdentifiers?.isEmpty ?? true) && (typeGroup.mimeTypes?.isEmpty ?? true)) { throw ArgumentError('Provided type group $typeGroup does not allow ' 'all files, but does not set any of the macOS-supported filter ' - 'categories. At least one of "extensions", "macUTIs", or ' - '"mimeTypes" must be non-empty for macOS if anything is ' - 'non-empty.'); + 'categories. At least one of "extensions", ' + '"uniformTypeIdentifiers", or "mimeTypes" must be non-empty for ' + 'macOS if anything is non-empty.'); } allowedTypes.extensions.addAll(typeGroup.extensions ?? []); allowedTypes.mimeTypes.addAll(typeGroup.mimeTypes ?? []); - allowedTypes.utis.addAll(typeGroup.macUTIs ?? []); + allowedTypes.utis.addAll(typeGroup.uniformTypeIdentifiers ?? []); } return allowedTypes; diff --git a/packages/file_selector/file_selector_macos/pubspec.yaml b/packages/file_selector/file_selector_macos/pubspec.yaml index 6c6c3655b7a0..65b055d893f9 100644 --- a/packages/file_selector/file_selector_macos/pubspec.yaml +++ b/packages/file_selector/file_selector_macos/pubspec.yaml @@ -2,7 +2,7 @@ name: file_selector_macos description: macOS implementation of the file_selector plugin. repository: https://github.com/flutter/packages/tree/main/packages/file_selector/file_selector_macos issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+file_selector%22 -version: 0.9.1 +version: 0.9.1+1 environment: sdk: ">=2.18.0 <4.0.0" diff --git a/packages/file_selector/file_selector_macos/test/file_selector_macos_test.dart b/packages/file_selector/file_selector_macos/test/file_selector_macos_test.dart index 6d330619e758..6450e6f3b0a7 100644 --- a/packages/file_selector/file_selector_macos/test/file_selector_macos_test.dart +++ b/packages/file_selector/file_selector_macos/test/file_selector_macos_test.dart @@ -69,14 +69,14 @@ void main() { label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], - macUTIs: ['public.text'], + uniformTypeIdentifiers: ['public.text'], ); const XTypeGroup groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], - macUTIs: ['public.image'], + uniformTypeIdentifiers: ['public.image'], webWildCards: ['image/*']); await plugin.openFile(acceptedTypeGroups: [group, groupTwo]); @@ -165,14 +165,14 @@ void main() { label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], - macUTIs: ['public.text'], + uniformTypeIdentifiers: ['public.text'], ); const XTypeGroup groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], - macUTIs: ['public.image'], + uniformTypeIdentifiers: ['public.image'], webWildCards: ['image/*']); await plugin.openFiles(acceptedTypeGroups: [group, groupTwo]); @@ -256,14 +256,14 @@ void main() { label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], - macUTIs: ['public.text'], + uniformTypeIdentifiers: ['public.text'], ); const XTypeGroup groupTwo = XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], - macUTIs: ['public.image'], + uniformTypeIdentifiers: ['public.image'], webWildCards: ['image/*']); await plugin @@ -324,13 +324,13 @@ void main() { label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], - macUTIs: ['public.text'], + uniformTypeIdentifiers: ['public.text'], ), const XTypeGroup( label: 'image', extensions: ['jpg'], mimeTypes: ['image/jpg'], - macUTIs: ['public.image'], + uniformTypeIdentifiers: ['public.image'], ), const XTypeGroup( label: 'any', diff --git a/packages/file_selector/file_selector_web/pubspec.yaml b/packages/file_selector/file_selector_web/pubspec.yaml index 9c0693f0d777..478c9b6bba76 100644 --- a/packages/file_selector/file_selector_web/pubspec.yaml +++ b/packages/file_selector/file_selector_web/pubspec.yaml @@ -17,7 +17,7 @@ flutter: fileName: file_selector_web.dart dependencies: - file_selector_platform_interface: ^2.2.0 + file_selector_platform_interface: ^2.3.0 flutter: sdk: flutter flutter_web_plugins: diff --git a/packages/file_selector/file_selector_web/test/utils_test.dart b/packages/file_selector/file_selector_web/test/utils_test.dart index f9f3a41295f0..e207f3d45df5 100644 --- a/packages/file_selector/file_selector_web/test/utils_test.dart +++ b/packages/file_selector/file_selector_web/test/utils_test.dart @@ -56,7 +56,8 @@ void main() { test('throws for a type group that does not support web', () { const List acceptedTypes = [ - XTypeGroup(label: 'text', macUTIs: ['public.text']), + XTypeGroup( + label: 'text', uniformTypeIdentifiers: ['public.text']), ]; expect(() => acceptedTypesToString(acceptedTypes), throwsArgumentError); }); diff --git a/packages/file_selector/file_selector_windows/test/file_selector_windows_test.dart b/packages/file_selector/file_selector_windows/test/file_selector_windows_test.dart index c7a380d12028..fbe3683af37d 100644 --- a/packages/file_selector/file_selector_windows/test/file_selector_windows_test.dart +++ b/packages/file_selector/file_selector_windows/test/file_selector_windows_test.dart @@ -51,14 +51,13 @@ void main() { label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], - macUTIs: ['public.text'], ); const XTypeGroup groupTwo = XTypeGroup( - label: 'image', - extensions: ['jpg'], - mimeTypes: ['image/jpg'], - macUTIs: ['public.image']); + label: 'image', + extensions: ['jpg'], + mimeTypes: ['image/jpg'], + ); await plugin.openFile(acceptedTypeGroups: [group, groupTwo]); @@ -129,14 +128,13 @@ void main() { label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], - macUTIs: ['public.text'], ); const XTypeGroup groupTwo = XTypeGroup( - label: 'image', - extensions: ['jpg'], - mimeTypes: ['image/jpg'], - macUTIs: ['public.image']); + label: 'image', + extensions: ['jpg'], + mimeTypes: ['image/jpg'], + ); await plugin.openFiles(acceptedTypeGroups: [group, groupTwo]); @@ -266,14 +264,13 @@ void main() { label: 'text', extensions: ['txt'], mimeTypes: ['text/plain'], - macUTIs: ['public.text'], ); const XTypeGroup groupTwo = XTypeGroup( - label: 'image', - extensions: ['jpg'], - mimeTypes: ['image/jpg'], - macUTIs: ['public.image']); + label: 'image', + extensions: ['jpg'], + mimeTypes: ['image/jpg'], + ); await plugin .getSavePath(acceptedTypeGroups: [group, groupTwo]);