-
Notifications
You must be signed in to change notification settings - Fork 3.4k
[image_picker] Updates min SDK to 3.29 #9830
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[image_picker] Updates min SDK to 3.29 #9830
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request updates the minimum supported SDK version to Flutter 3.29/Dart 3.7 for all image_picker
packages. It also includes extensive auto-formatting changes across the codebase to align with the new format. The changes are mostly mechanical, consisting of version bumps in pubspec.yaml
files, changelog updates, and code reformatting. I found a couple of minor issues in one of the test files where the test verification logic seems to be incorrect.
mockPlatform.getMultiImageWithOptions( | ||
options: argThat( | ||
isInstanceOf<MultiImagePickerOptions>() | ||
.having( | ||
(MultiImagePickerOptions options) => | ||
options.imageOptions.maxWidth, | ||
'maxWidth', | ||
equals(10.0)) | ||
(MultiImagePickerOptions options) => | ||
options.imageOptions.maxWidth, | ||
'maxWidth', | ||
equals(10.0), | ||
) | ||
.having( | ||
(MultiImagePickerOptions options) => | ||
options.imageOptions.maxWidth, | ||
'maxHeight', | ||
equals(10.0)) | ||
(MultiImagePickerOptions options) => | ||
options.imageOptions.maxWidth, | ||
'maxHeight', | ||
equals(10.0), | ||
) | ||
.having( | ||
(MultiImagePickerOptions options) => | ||
options.imageOptions.imageQuality, | ||
'imageQuality', | ||
equals(70)), | ||
(MultiImagePickerOptions options) => | ||
options.imageOptions.imageQuality, | ||
'imageQuality', | ||
equals(70), | ||
), | ||
named: 'options', | ||
), | ||
), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The verification for the 7th call to pickMultiImage
seems incorrect. The call is picker.pickMultiImage(maxWidth: 10.0, maxHeight: 20.0, imageQuality: 70)
. The verification for maxHeight
checks options.imageOptions.maxWidth
and expects a value of 10.0
instead of 20.0
.
mockPlatform.getMultiImageWithOptions(
options: argThat(
isInstanceOf<MultiImagePickerOptions>()
.having(
(MultiImagePickerOptions options) =>
options.imageOptions.maxWidth,
'maxWidth',
equals(10.0),
)
.having(
(MultiImagePickerOptions options) =>
options.imageOptions.maxHeight,
'maxHeight',
equals(20.0),
)
.having(
(MultiImagePickerOptions options) =>
options.imageOptions.imageQuality,
'imageQuality',
equals(70),
),
named: 'options',
),
),
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this is test code, I went ahead and fixed these latent test bugs in the PR.
mockPlatform.getMultiImageWithOptions( | ||
options: argThat( | ||
isInstanceOf<MultiImagePickerOptions>() | ||
.having( | ||
(MultiImagePickerOptions options) => | ||
options.imageOptions.maxWidth, | ||
'maxWidth', | ||
equals(10.0)) | ||
(MultiImagePickerOptions options) => | ||
options.imageOptions.maxWidth, | ||
'maxWidth', | ||
equals(10.0), | ||
) | ||
.having( | ||
(MultiImagePickerOptions options) => | ||
options.imageOptions.maxWidth, | ||
'maxHeight', | ||
equals(10.0), | ||
) | ||
.having( | ||
(MultiImagePickerOptions options) => | ||
options.imageOptions.maxWidth, | ||
'maxHeight', | ||
equals(10.0)) | ||
(MultiImagePickerOptions options) => | ||
options.imageOptions.imageQuality, | ||
'imageQuality', | ||
equals(70), | ||
) | ||
.having( | ||
(MultiImagePickerOptions options) => | ||
options.imageOptions.imageQuality, | ||
'imageQuality', | ||
equals(70)) | ||
.having((MultiImagePickerOptions options) => options.limit, | ||
'limit', equals(5)), | ||
(MultiImagePickerOptions options) => options.limit, | ||
'limit', | ||
equals(5), | ||
), | ||
named: 'options', | ||
), | ||
), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The verification for the 8th call to pickMultiImage
seems incorrect. The call is picker.pickMultiImage(maxWidth: 10.0, maxHeight: 20.0, imageQuality: 70, limit: 5)
. The verification for maxHeight
checks options.imageOptions.maxWidth
and expects a value of 10.0
instead of 20.0
.
mockPlatform.getMultiImageWithOptions(
options: argThat(
isInstanceOf<MultiImagePickerOptions>()
.having(
(MultiImagePickerOptions options) =>
options.imageOptions.maxWidth,
'maxWidth',
equals(10.0),
)
.having(
(MultiImagePickerOptions options) =>
options.imageOptions.maxHeight,
'maxHeight',
equals(20.0),
)
.having(
(MultiImagePickerOptions options) =>
options.imageOptions.imageQuality,
'imageQuality',
equals(70),
)
.having(
(MultiImagePickerOptions options) => options.limit,
'limit',
equals(5),
),
named: 'options',
),
),
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
following merge conflicts
I'm hoping to actually land #9818 first and then re-format, rather than having to manually re-apply the changes; it'll depend on review timing. |
* main: (24 commits) Roll Flutter from 0a2906b81d5e to b3fb4c786d80 (5 revisions) (flutter#9840) Update repo for 3.35 stable release (flutter#9816) Roll Flutter from 52af7a504025 to 0a2906b81d5e (16 revisions) (flutter#9836) [image_picker] Updates min SDK to 3.29 (flutter#9830) [image_picker] Add the ability to pick multiple videos (flutter#9775) [image_picker] Add the ability to pick multiple videos - platform implementations (flutter#9818) [various] Updates min SDK for third_party/packages to 3.29 (flutter#9819) [vector_graphics] Updates min SDK to 3.29 (flutter#9820) [google_maps_flutter] Updates min SDK to 3.29 (flutter#9821) [video_player] Updates min SDK to 3.29 (flutter#9826) [shared_preferences] Updates min SDK to 3.29 (flutter#9829) [image_picker_ios] Add photo to simulator Photos library during test (flutter#9759) [interactive_media_ads] Updates `README` with information about enabling desugaring on Android (flutter#9790) [in_app_purchase] Updates min SDK to 3.29 (flutter#9825) Roll Flutter from f4334d27934b to 52af7a504025 (29 revisions) (flutter#9832) [go_router] Update generated output format (flutter#9817) [video_player] Move Android buffer updates to Dart (flutter#9771) [webview_flutter] Add support for payment requests on Android (flutter#9679) [vector_graphics_compiler] Set the m4_10 (Z scale) value to 1 when constructing an AffineMatrix from an SVG matrix (flutter#9813) [url_launcher_ios] Fix test button text to work on iOS 26 (flutter#9766) ... # Conflicts: # packages/go_router_builder/CHANGELOG.md # packages/go_router_builder/example/lib/all_types.g.dart # packages/go_router_builder/example/lib/main.g.dart # packages/go_router_builder/example/lib/shell_route_with_keys_example.g.dart # packages/go_router_builder/example/lib/shell_route_with_observers_example.g.dart
flutter/packages@5c52c55...953cae0 2025-08-19 [email protected] Add com.android.tools.build:gradle to dependabot gradle-plugin group (flutter/packages#9848) 2025-08-19 [email protected] [flutter_migrate] Remove source (flutter/packages#9847) 2025-08-18 [email protected] [go_router]: Add `RelativeGoRouteData` and `TypedRelativeGoRoute` (flutter/packages#9732) 2025-08-18 [email protected] Roll Flutter (stable) from edada7c to 20f8274 (1474 revisions) (flutter/packages#9837) 2025-08-18 [email protected] Roll Flutter from b3fb4c7 to 2265d94 (7 revisions) (flutter/packages#9845) 2025-08-18 [email protected] Disable SwiftPM for `xcode-analyze` (flutter/packages#9666) 2025-08-17 [email protected] Roll Flutter from 0a2906b to b3fb4c7 (5 revisions) (flutter/packages#9840) 2025-08-16 [email protected] Update repo for 3.35 stable release (flutter/packages#9816) 2025-08-16 [email protected] Roll Flutter from 52af7a5 to 0a2906b (16 revisions) (flutter/packages#9836) 2025-08-16 [email protected] [image_picker] Updates min SDK to 3.29 (flutter/packages#9830) 2025-08-16 [email protected] [image_picker] Add the ability to pick multiple videos (flutter/packages#9775) 2025-08-16 [email protected] [image_picker] Add the ability to pick multiple videos - platform implementations (flutter/packages#9818) 2025-08-16 [email protected] [various] Updates min SDK for third_party/packages to 3.29 (flutter/packages#9819) 2025-08-16 [email protected] [vector_graphics] Updates min SDK to 3.29 (flutter/packages#9820) 2025-08-16 [email protected] [google_maps_flutter] Updates min SDK to 3.29 (flutter/packages#9821) 2025-08-16 [email protected] [video_player] Updates min SDK to 3.29 (flutter/packages#9826) 2025-08-15 [email protected] [shared_preferences] Updates min SDK to 3.29 (flutter/packages#9829) 2025-08-15 [email protected] [image_picker_ios] Add photo to simulator Photos library during test (flutter/packages#9759) 2025-08-15 [email protected] [interactive_media_ads] Updates `README` with information about enabling desugaring on Android (flutter/packages#9790) 2025-08-15 [email protected] [in_app_purchase] Updates min SDK to 3.29 (flutter/packages#9825) 2025-08-15 [email protected] Roll Flutter from f4334d2 to 52af7a5 (29 revisions) (flutter/packages#9832) 2025-08-15 [email protected] [go_router] Update generated output format (flutter/packages#9817) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC [email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
For the `image_picker` packages: - Updates the min SDK version to 3.29 - Runs the autoformatter with the new format - Update code excerpts This does not update versions because pushing format changes (even in READMEs) isn't worth doing a release that drops an SDK version (which we don't normally version) Prep for flutter#9816
…er#174040) flutter/packages@5c52c55...953cae0 2025-08-19 [email protected] Add com.android.tools.build:gradle to dependabot gradle-plugin group (flutter/packages#9848) 2025-08-19 [email protected] [flutter_migrate] Remove source (flutter/packages#9847) 2025-08-18 [email protected] [go_router]: Add `RelativeGoRouteData` and `TypedRelativeGoRoute` (flutter/packages#9732) 2025-08-18 [email protected] Roll Flutter (stable) from edada7c to 20f8274 (1474 revisions) (flutter/packages#9837) 2025-08-18 [email protected] Roll Flutter from b3fb4c7 to 2265d94 (7 revisions) (flutter/packages#9845) 2025-08-18 [email protected] Disable SwiftPM for `xcode-analyze` (flutter/packages#9666) 2025-08-17 [email protected] Roll Flutter from 0a2906b to b3fb4c7 (5 revisions) (flutter/packages#9840) 2025-08-16 [email protected] Update repo for 3.35 stable release (flutter/packages#9816) 2025-08-16 [email protected] Roll Flutter from 52af7a5 to 0a2906b (16 revisions) (flutter/packages#9836) 2025-08-16 [email protected] [image_picker] Updates min SDK to 3.29 (flutter/packages#9830) 2025-08-16 [email protected] [image_picker] Add the ability to pick multiple videos (flutter/packages#9775) 2025-08-16 [email protected] [image_picker] Add the ability to pick multiple videos - platform implementations (flutter/packages#9818) 2025-08-16 [email protected] [various] Updates min SDK for third_party/packages to 3.29 (flutter/packages#9819) 2025-08-16 [email protected] [vector_graphics] Updates min SDK to 3.29 (flutter/packages#9820) 2025-08-16 [email protected] [google_maps_flutter] Updates min SDK to 3.29 (flutter/packages#9821) 2025-08-16 [email protected] [video_player] Updates min SDK to 3.29 (flutter/packages#9826) 2025-08-15 [email protected] [shared_preferences] Updates min SDK to 3.29 (flutter/packages#9829) 2025-08-15 [email protected] [image_picker_ios] Add photo to simulator Photos library during test (flutter/packages#9759) 2025-08-15 [email protected] [interactive_media_ads] Updates `README` with information about enabling desugaring on Android (flutter/packages#9790) 2025-08-15 [email protected] [in_app_purchase] Updates min SDK to 3.29 (flutter/packages#9825) 2025-08-15 [email protected] Roll Flutter from f4334d2 to 52af7a5 (29 revisions) (flutter/packages#9832) 2025-08-15 [email protected] [go_router] Update generated output format (flutter/packages#9817) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC [email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…er#174040) flutter/packages@5c52c55...953cae0 2025-08-19 [email protected] Add com.android.tools.build:gradle to dependabot gradle-plugin group (flutter/packages#9848) 2025-08-19 [email protected] [flutter_migrate] Remove source (flutter/packages#9847) 2025-08-18 [email protected] [go_router]: Add `RelativeGoRouteData` and `TypedRelativeGoRoute` (flutter/packages#9732) 2025-08-18 [email protected] Roll Flutter (stable) from edada7c to 20f8274 (1474 revisions) (flutter/packages#9837) 2025-08-18 [email protected] Roll Flutter from b3fb4c7 to 2265d94 (7 revisions) (flutter/packages#9845) 2025-08-18 [email protected] Disable SwiftPM for `xcode-analyze` (flutter/packages#9666) 2025-08-17 [email protected] Roll Flutter from 0a2906b to b3fb4c7 (5 revisions) (flutter/packages#9840) 2025-08-16 [email protected] Update repo for 3.35 stable release (flutter/packages#9816) 2025-08-16 [email protected] Roll Flutter from 52af7a5 to 0a2906b (16 revisions) (flutter/packages#9836) 2025-08-16 [email protected] [image_picker] Updates min SDK to 3.29 (flutter/packages#9830) 2025-08-16 [email protected] [image_picker] Add the ability to pick multiple videos (flutter/packages#9775) 2025-08-16 [email protected] [image_picker] Add the ability to pick multiple videos - platform implementations (flutter/packages#9818) 2025-08-16 [email protected] [various] Updates min SDK for third_party/packages to 3.29 (flutter/packages#9819) 2025-08-16 [email protected] [vector_graphics] Updates min SDK to 3.29 (flutter/packages#9820) 2025-08-16 [email protected] [google_maps_flutter] Updates min SDK to 3.29 (flutter/packages#9821) 2025-08-16 [email protected] [video_player] Updates min SDK to 3.29 (flutter/packages#9826) 2025-08-15 [email protected] [shared_preferences] Updates min SDK to 3.29 (flutter/packages#9829) 2025-08-15 [email protected] [image_picker_ios] Add photo to simulator Photos library during test (flutter/packages#9759) 2025-08-15 [email protected] [interactive_media_ads] Updates `README` with information about enabling desugaring on Android (flutter/packages#9790) 2025-08-15 [email protected] [in_app_purchase] Updates min SDK to 3.29 (flutter/packages#9825) 2025-08-15 [email protected] Roll Flutter from f4334d2 to 52af7a5 (29 revisions) (flutter/packages#9832) 2025-08-15 [email protected] [go_router] Update generated output format (flutter/packages#9817) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC [email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
For the
image_picker
packages:This does not update versions because pushing format changes (even in READMEs) isn't worth doing a release that drops an SDK version (which we don't normally version)
Prep for #9816