Skip to content

Conversation

@stuartmorgan-g
Copy link
Collaborator

@stuartmorgan-g stuartmorgan-g commented Aug 19, 2025

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.

Part of flutter/flutter#170807

Pre-Review Checklist

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. 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.

Footnotes

  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. 2 3

Copy link

@gemini-code-assist gemini-code-assist bot left a 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.

Copy link
Contributor

@tarrinneal tarrinneal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lg

@stuartmorgan-g
Copy link
Collaborator Author

Landing is blocked on flutter/flutter#173904

@stuartmorgan-g
Copy link
Collaborator Author

@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.

@stuartmorgan-g
Copy link
Collaborator Author

@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

Copy link
Contributor

@bparrishMines bparrishMines left a 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();
Copy link
Contributor

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()

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great catch! Done.

@stuartmorgan-g stuartmorgan-g added the autosubmit Merge PR when tree becomes green via auto submit App label Sep 9, 2025
@auto-submit auto-submit bot merged commit 7dbb773 into flutter:main Sep 9, 2025
80 checks passed

environment:
sdk: ^3.7.0
flutter: ">=3.29.0"
Copy link
Contributor

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

Copy link
Collaborator Author

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.

engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 10, 2025
auto-submit bot pushed a commit that referenced this pull request Sep 10, 2025
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.
github-merge-queue bot pushed a commit to flutter/flutter that referenced this pull request Sep 10, 2025
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
mboetger pushed a commit to mboetger/flutter that referenced this pull request Sep 18, 2025
…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
Jaineel-Mamtora pushed a commit to Jaineel-Mamtora/flutter_forked that referenced this pull request Sep 24, 2025
…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
danferreira pushed a commit to danferreira/packages that referenced this pull request Oct 22, 2025
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.
danferreira pushed a commit to danferreira/packages that referenced this pull request Oct 22, 2025
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.
auto-submit bot pushed a commit that referenced this pull request Oct 23, 2025
…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

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.google.ads.interactivemedia.v3:interactivemedia&package-manager=gradle&previous-version=3.37.0&new-version=3.38.0)](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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App override: no versioning needed Override the check requiring version bumps for most changes p: camera p: image_picker p: local_auth p: url_launcher p: webview_flutter platform-android

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants