Fixes https://github.com/flutter/flutter/issues/155458
Fixes https://github.com/flutter/flutter/issues/154586
Bumps Guava to `33.3.1`, as from what I can tell we were essentially hitting https://github.com/google/guava/issues/7397, from a [comment](https://github.com/google/guava/issues/7397#issuecomment-2368390150) on the issue:
> I'm a little surprised that AGP wouldn't have complained already for any builds that depended on Guava classes that used those annotations, since it presumably wouldn't find the annotations on the runtime classpath.
I believe this maintainers suspicions were warranted, as it seems AGP was complaining in our case!
That issue was fixed in version `33.3.1` of Guava. Verified that I could re-create the failure in the [first issue](https://github.com/flutter/flutter/issues/155458), and then verified that it was fixed with no additional proguard rules by upgrading the Guava version used by the `google_sign_in` plugin. Decided to make the upgrade everywhere we use guava, so we don't hit it in another plugin later.
In https://github.com/flutter/plugins/pull/3019 -Werror was incorrectly added directly to the plugin build itself, which impacts client builds. We've since updated our builds to set these flags on the project only when building our own example app, which gives us the CI benefits of this flag without burdening clients with restrictive build settings, so this is no longer needed.
Fixes https://github.com/flutter/flutter/issues/148478
*Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.*
*List which issues are fixed by this PR. You must list at least one issue.*
Bumps androidx.activity:activity from 1.9.1 to 1.9.2.
[](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>
This adds p50, p90, and p95 computations to each benchmark metric. This
PR also refactors the benchmark computation definitions so they are
defined by an enum.
Fixes https://github.com/flutter/flutter/issues/151551.
Several dev dependencies, most notably mockito, were only allow as exactly pinned versions, in order to avoid out-of-band breakage due to deprecations in minor version updates. Now that the policy for Flutter repos has changed to not include deprecation warnings in analysis, this is no longer an issue, so we can relax these dependencies to follow the more normal pattern of using ranges.
Replaces manual method channel code with Pigeon.
I made a couple of simplifications to the Dart/C boundary while converting:
- The return value is a always a list now; it's easier to handle that on the Dart side than track and handle in the native code.
- It's a single method with a type enum, instead of several different methods, since that mirrors the underlying SDK.
These changes are consistent with our general trend toward putting more logic in Dart and less in native code, for ease of maintenance.
Fixes https://github.com/flutter/flutter/issues/117906
Closes https://github.com/flutter/flutter/issues/154602.
I also added small clarifications to the error in `video_player` (an assertion/error that are better than a `Completer.complete` default error) and updated the documentation in `video_player_platform` (it might have been obvious, but it definitely is now).
Changes assumption about camera preview being automatically corrected by CameraX on API <= 29 to API < 29 based on the fact that an `ImageReader` backs devices running API 29+, on which the camera preview will not automatically be corrected by CameraX.
Related to https://github.com/flutter/flutter/issues/154241.
Bumps androidx.webkit:webkit from 1.11.0 to 1.12.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>
Bumps com.google.ads.interactivemedia.v3:interactivemedia from 3.35.0 to 3.35.1.
[](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>
This moves the creation of `AdsLoader` to the `onContainerAdded` callback. This makes it clearer that the `AdsLoader` only needs to be created once.
This also changes the default value for `_shouldShowContentVideo` to `false` to prevent the content video from showing before the first ad. I verified this still works even when no pre-roll ads are loaded.
Updates `file_selector_windows` to the latest version of Pigeon, picking up support for non-nullable generics, and updates the code accordingly. This doesn't affect any manually written native code because the C++ generator doesn't generate strongly type collections, but does make the Dart code simpler, and strongly enforces non-nullability for values coming *from* Dart.
Part of https://github.com/flutter/flutter/issues/155891
*Replace a deprecated command in the instructions of using `pigeon`.*
Running `flutter pub run pigeon --input path/to/input.dart` will output the following at the start of the output:
```console
Deprecated. Use `dart run` instead.
```
### What
Adds a note about correcting the task management/back press behavior for apps that use launcher activities to the `README`. Fixes https://github.com/flutter/flutter/issues/152883.
### Why
If apps use a launcher activity, then launching shortcuts created by the plugin may not behave as expected because the plugin expects to launch the main `FlutterActivity`, for which it configures the launch mode, but instead launches the launcher activity, which it does not account for.
To fix this, the launcher activity itself needs to have a launch mode configuration that makes sense for the app. This involves changing the launch mode of the launcher activity in the manifest and/or using the right `Intent` flags to launch the main `FlutterActivity`.
From my work on the issue linked above, I found that if the launcher activity only launches the main `FlutterActivity` without any additional relevant logic, to maintain the exact same behavior of the plugin with/without a launcher activity, the launcher activity can use the `singleInstance` launch mode. So, I included a note about this. However, in more complex launcher activities, like b/357028168 that inspired the original issue, other modes may need to be used.
macOS privacy manifest enforcement is rolling out soon, so this brings all macOS plugins into alignment with our iOS policy of always having a manifest, including updating the repo tooling to enforce that.
Very few plugins are affected because most share the implementation package with iOS, and we didn't do any target platform switching when adding the manifests for iOS, automatically covering macOS as well.
Fixes https://github.com/flutter/flutter/issues/155564
Bumps com.google.ads.interactivemedia.v3:interactivemedia from 3.34.0 to 3.35.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>
Adds `ContentProgressProvider` and adds `AdsRequest.contentProgressProvider` field.
This changes the platform interface `AdsRequest` to `PlatformAdsRequest`, so the `PlatformContentProgressProvider` can be passed to it. And the app-facing `AdsRequest` can take a `ContentProgressProver`.
Fixes https://github.com/flutter/flutter/issues/154261
Reverts flutter/packages#7621
The re-enabled tests are failing in post-submit.
Alternately, instead of reverting we could just re-add the skips with
the link, if we still want to keep the updated version as a better
foundation to work from.
WebView portion of https://github.com/flutter/flutter/issues/154826
Changes the scroll tests to wait for the `onScrollChange` callback to verify the scroll position rather than using `getScrollPosition` immediately.
Also split `getScrollPosition`, `scrollTo`, and `scrollBy` into their own tests.
*Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.*
*List which issues are fixed by this PR. You must list at least one issue.*
Slots can currently be animated in and out of view, but there is not an ability to change the duration or curves of these animations. This PR adds additional parameters that are passed to the underlying AnimatedSwitcher when switching slots in and out of view.
*List which issues are fixed by this PR. You must list at least one issue.*
#6957