-
Notifications
You must be signed in to change notification settings - Fork 3.5k
[various] Scrub pre-Android-API <24 code #9851
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
[various] Scrub pre-Android-API <24 code #9851
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 effectively removes support for Android API levels below 24 across multiple packages, which aligns with the new minimum Flutter version requirement. The changes are comprehensive, covering build configurations, conditional logic in the source code, and documentation updates. The removal of legacy code simplifies the codebase and improves maintainability. I've found one minor formatting issue that could be addressed.
...picker_android/android/src/main/java/io/flutter/plugins/imagepicker/ImagePickerDelegate.java
Show resolved
Hide resolved
tarrinneal
left a comment
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.
lg
|
Landing is blocked on flutter/flutter#173904 |
|
@bparrishMines Could you review this commit and make sure everything looks good to you there? My understanding is that the deprecated onReceivedError is no longer called in 24+, so I removed it and all the proxy plumbing for it. |
@bparrishMines Ping on this review |
bparrishMines
left a comment
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.
LGTM with a optional nit
| } | ||
|
|
||
| return null; | ||
| return pigeon_instance.isRedirect(); |
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.
nit: The pigeon file can change this method to return a nonnull value now: https://developer.android.com/reference/android/webkit/WebResourceRequest#isRedirect()
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.
Great catch! Done.
|
|
||
| environment: | ||
| sdk: ^3.7.0 | ||
| flutter: ">=3.29.0" |
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.
@stuartmorgan-g this is a breaking change.
this plugin with dropped support for Android 21 shows up for the flutter upgrade in a project that has sdk constraint like sdk: ^3.8.1 (i.e. Flutter 3.32.8).
This plugin sdk constraint probably should be bumped to ^3.9.0
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.
This plugin sdk constraint probably should be bumped to
^3.9.0
It was supposed to have been (the changelog even lists that change), I just somehow missed it in this package. Thanks for flagging this!
I've retracted 6.3.19 on pub.dev so nobody new will be broken, and #9986 will provide a clean upgrade path for anyone who was already broken.
This re-lands the `url_launcher_android` portion of #9851, which was reverted in #9986, but with the missing min SDK update this time. Part of flutter/flutter#170807 ## Pre-Review Checklist [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
flutter/packages@2d651b2...03598e7 2025-09-10 stuartmorgan@google.com [url_launcher] Temporarily restore Android 21 support (flutter/packages#9986) 2025-09-10 engine-flutter-autoroll@skia.org Roll Flutter from 973320c to a082096 (17 revisions) (flutter/packages#9983) 2025-09-09 stuartmorgan@google.com [various] Scrub pre-Android-API <24 code (flutter/packages#9851) 2025-09-09 stuartmorgan@google.com [google_sign_in] Add a platform interface method to clear auth tokens (flutter/packages#9929) 2025-09-09 stuartmorgan@google.com Revert "[url_launcher] fix: Link widget Tab traversal" (flutter/packages#9980) 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 flutter-ecosystem@google.com 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
…r#175185) flutter/packages@2d651b2...03598e7 2025-09-10 stuartmorgan@google.com [url_launcher] Temporarily restore Android 21 support (flutter/packages#9986) 2025-09-10 engine-flutter-autoroll@skia.org Roll Flutter from 973320c to a082096 (17 revisions) (flutter/packages#9983) 2025-09-09 stuartmorgan@google.com [various] Scrub pre-Android-API <24 code (flutter/packages#9851) 2025-09-09 stuartmorgan@google.com [google_sign_in] Add a platform interface method to clear auth tokens (flutter/packages#9929) 2025-09-09 stuartmorgan@google.com Revert "[url_launcher] fix: Link widget Tab traversal" (flutter/packages#9980) 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 flutter-ecosystem@google.com 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
…r#175185) flutter/packages@2d651b2...03598e7 2025-09-10 stuartmorgan@google.com [url_launcher] Temporarily restore Android 21 support (flutter/packages#9986) 2025-09-10 engine-flutter-autoroll@skia.org Roll Flutter from 973320c to a082096 (17 revisions) (flutter/packages#9983) 2025-09-09 stuartmorgan@google.com [various] Scrub pre-Android-API <24 code (flutter/packages#9851) 2025-09-09 stuartmorgan@google.com [google_sign_in] Add a platform interface method to clear auth tokens (flutter/packages#9929) 2025-09-09 stuartmorgan@google.com Revert "[url_launcher] fix: Link widget Tab traversal" (flutter/packages#9980) 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 flutter-ecosystem@google.com 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 all packages that had conditionals to support Android API <24: - Update the min Flutter version to 3.35, which requires API 24 - Remove the conditional logic - Update gradle to require 24. Also scrubs some comments about older verisons from the app-facing package READMEs, where details hadn't yet been moved to implementation packages. Those don't have version changes, since it's not important when this information goes out (as people on older versions of Flutter, and supporting older versions of Android in their apps, will still get compatible versions, they just aren't the versions we are supporting now). Includes autoformat changes, since updating the min Dart SDK opts into some formatter changes. ## Pre-Review Checklist **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
This re-lands the `url_launcher_android` portion of flutter#9851, which was reverted in flutter#9986, but with the missing min SDK update this time. Part of flutter/flutter#170807 ## Pre-Review Checklist [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
…a from 3.37.0 to 3.38.0 in /packages/interactive_media_ads/android (#10262) Bumps com.google.ads.interactivemedia.v3:interactivemedia from 3.37.0 to 3.38.0. This update created a new base class, `AdSlot`, and moved most of the methods from `CompanionAdSlot` to the base class. See https://developers.google.com/interactive-media-ads/docs/sdks/android/client-side/history Also updates the `minSdkVersion` to 24 since Flutter 3.35 requires 24 anyways. See #9851 [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
For all packages that had conditionals to support Android API <24:
Also scrubs some comments about older verisons from the app-facing package READMEs, where details hadn't yet been moved to implementation packages. Those don't have version changes, since it's not important when this information goes out (as people on older versions of Flutter, and supporting older versions of Android in their apps, will still get compatible versions, they just aren't the versions we are supporting now).
Includes autoformat changes, since updating the min Dart SDK opts into some formatter changes.
Part of flutter/flutter#170807
Pre-Review Checklist
[shared_preferences]pubspec.yamlwith an appropriate new version according to the pub versioning philosophy, or I have commented below to indicate which version change exemption this PR falls under1.CHANGELOG.mdto add a description of the change, following repository CHANGELOG style, or I have commented below to indicate which CHANGELOG exemption this PR falls under1.///).Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the
gemini-code-assistbot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.Footnotes
Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. ↩ ↩2 ↩3