Commit Graph

1796 Commits

Author SHA1 Message Date
gaaclarke
4f66f1333f
Wide gamut framework gradient test (#153976)
issue: https://github.com/flutter/flutter/issues/127855
depends on https://github.com/flutter/engine/pull/54748 being rolled into the framework
2024-10-25 17:04:57 +00:00
auto-submit[bot]
b98d9a37ac
Reverts "Upgrade tests to AGP 8.7/Gradle 8.10.2/Kotlin 1.8.10 (#157032)" (#157559)
Reverts: flutter/flutter#157032
Initiated by: gmackall
Reason for reverting: https://github.com/flutter/flutter/pull/157032#issuecomment-2436336078
Original PR Author: gmackall

Reviewed By: {reidbaker, bartekpacia}

This change reverts the following previous change:
I recently noticed the following log when building an app in verbose mode:
```
This Android Gradle plugin (8.1.0) was tested up to compileSdk = 33 (and compileSdkPreview = "UpsideDownCakePrivacySandbox").
You are strongly encouraged to update your project to use a newer
Android Gradle plugin that has been tested with compileSdk = 35.
```

It looks like AGP would like us to use a newer AGP version if we want to use compileSdk 35 (which we do). This pr upgrades the tests, in advance of updating the templates.
2024-10-24 21:06:16 +00:00
Gray Mackall
5ca6350a06
Upgrade tests to AGP 8.7/Gradle 8.10.2/Kotlin 1.8.10 (#157032)
I recently noticed the following log when building an app in verbose mode:
```
This Android Gradle plugin (8.1.0) was tested up to compileSdk = 33 (and compileSdkPreview = "UpsideDownCakePrivacySandbox").
You are strongly encouraged to update your project to use a newer
Android Gradle plugin that has been tested with compileSdk = 35.
```

It looks like AGP would like us to use a newer AGP version if we want to use compileSdk 35 (which we do). This pr upgrades the tests, in advance of updating the templates.
2024-10-24 20:08:45 +00:00
Polina Cherkasova
9441f8f6c8
Upgrade leak tracker. (#157369) 2024-10-23 00:42:28 +00:00
Gray Mackall
bcc3146185
Delete line referencing v1 string (#157170)
This property would previously have been used by
ad9e4fef45/shell/platform/android/io/flutter/app/FlutterActivityDelegate.java (L59C31-L59C58)
but isn't used by the new `FlutterActivityAndFragmentDelegate`. It's also recommended to be removed by the original v1->v2 updating guide: https://github.com/flutter/flutter/blob/master/docs/platforms/android/Upgrading-pre-1.12-Android-projects.md
2024-10-21 14:20:22 +00:00
flutter-pub-roller-bot
0549bd8888
Roll pub packages (#156925)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-10-18 20:17:18 +00:00
FMorschel
c40f418c05
Removing unnecessary parenthesis (#156928)
This is simply removing unnecessary parenthesis from various places. This change is because of a change to the unnecessary_parentesis lint that will trigger there. Here is the CL https://dart-review.googlesource.com/c/sdk/+/390161.

- https://github.com/dart-lang/linter/issues/4996

If anything else is needed please let me know. 

I'd like to ask for this PR to wait a bit until the bots are run again on that CL so that I can be sure nothing else will trigger, I will come back here and update this whenever everything is complete. Thanks!
2024-10-17 23:46:25 +00:00
Gray Mackall
d1d9954c45
Support host android apps with kts gradle files for add to app (#156502)
Allows applying of `include_flutter.groovy` via the `apply from:` syntax, which allows using a host app that is using the Gradle Kotlin DSL (the default these days when creating an Android app in AS).

Explanation: The `include_flutter.groovy` script is currently not able to be called by Kotlin gradle files, because it is [intended to be invoked with the following lines](https://docs.flutter.dev/add-to-app/android/project-setup#depend-on-the-modules-source-code):
```
setBinding(new Binding([gradle: this]))                                // new
evaluate(new File(                                                     // new
    settingsDir.parentFile,                                            // new
    'flutter_module/.android/include_flutter.groovy'                   // new
))
```

`setBinding` isn't part of the Kotlin gradle DSL, and there isn't (that I can find) an easy Kotlin equivalent. If this binding isn't set, the reference to `gradle` in `include_flutter.groovy` is wrong, which breaks the script.

This PR modifies `include_flutter.groovy` to also support being invoked through the standard way of invoking a script via the Gradle Groovy/Kotlin DSLs, which is `apply from:` (or it's slightly different Kotlin syntax). The start of the script identifies which of the two approaches is being used by checking if the binding is set, and then initializes some variables differently depending on the case.

If we land this, I believe we should update the example Gradle files for both the `kts` and `groovy` cases to prefer the `apply from` syntax as I think this is the syntax most developers would be more familiar with already seeing in their Gradle files.
2024-10-16 22:47:27 +00:00
Jonah Williams
4505e00bf2
[devicelab] try waiting for first frame. (#156907)
From testing locally, sometimes the first frame rasterization takes longer. Could be related to https://github.com/flutter/flutter/issues/156903
2024-10-15 20:37:09 +00:00
auto-submit[bot]
c1a301e8e8
Reverts "Manual pub roll (#156549)" (#156607)
Reverts: flutter/flutter#156549
Initiated by: christopherfujino
Reason for reverting: https://github.com/flutter/flutter/issues/156606
Original PR Author: christopherfujino

Reviewed By: {matanlurey}

This change reverts the following previous change:
I manually ran:

```
flutter update-packages --force-upgrade
cd dev/tools && dart bin/generate_gradle_lockfiles.dart --no-gradle-generation --no-exclusion
```

Note this bumps the `google_mobile_ads` plugin, which caused https://github.com/flutter/flutter/issues/156474. I expect it to work this time after https://flutter-review.googlesource.com/c/recipes/+/60340
2024-10-11 18:52:18 +00:00
Christopher Fujino
184deff0f2
Manual pub roll (#156549)
I manually ran:

```
flutter update-packages --force-upgrade
cd dev/tools && dart bin/generate_gradle_lockfiles.dart --no-gradle-generation --no-exclusion
```

Note this bumps the `google_mobile_ads` plugin, which caused https://github.com/flutter/flutter/issues/156474. I expect it to work this time after https://flutter-review.googlesource.com/c/recipes/+/60340
2024-10-11 17:57:36 +00:00
auto-submit[bot]
0403c1cb8f
Reverts "Roll pub packages (#156440)" (#156473)
Reverts: flutter/flutter#156440
Initiated by: zanderso
Reason for reverting: Failing in post submit with
```
[2024-10-08 18:00:22.743647] [STDOUT] stdout:                [!] CocoaPods could not find compatible versions for pod "Google-Mobile-Ads-SDK":
[2024-10-08 18:00:22.743695] [STDOUT] stdout:                  In Podfile:
[2024-10-08 18:00:22.743718] [STDOUT] stdout:                    google_mobile_ads (from `.symlinks/plugins/google_mobile_ads/ios`) was resolved t
Original PR Author: flutter-pub-roller-bot

Reviewed By: {fluttergithubbot}

This change reverts the following previous change:
This PR was generated by `flutter update-packages --force-upgrade`.
2024-10-09 13:45:47 +00:00
flutter-pub-roller-bot
f96d1618c4
Roll pub packages (#156440)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-10-08 23:28:01 +00:00
flutter-pub-roller-bot
b9e71f7d12
Roll pub packages (#156284)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-10-08 22:01:03 +00:00
flutter-pub-roller-bot
d6725e7c01
Roll pub packages (#156254)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-10-04 22:47:16 +00:00
flutter-pub-roller-bot
1371d9d916
Roll pub packages (#156215)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-10-04 11:59:31 +00:00
flutter-pub-roller-bot
be792afc51
Roll pub packages (#156159)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-10-03 18:32:06 +00:00
Nate Wilson
5ecf10052f
pattern-matching refactor (#154753)
This pull request aims to improve code readability, based on feedback gathered in a recent design doc.

<br>

There are two factors that hugely impact how easy it is to understand a piece of code: **verbosity** and **complexity**.

Reducing **verbosity** is important, because boilerplate makes a project more difficult to navigate. It also has a tendency to make one's eyes gloss over, and subtle typos/bugs become more likely to slip through.

Reducing **complexity** makes the code more accessible to more people. This is especially important for open-source projects like Flutter, where the code is read by those who make contributions, as well as others who read through source code as they debug their own projects.

<hr>

<br>

The following examples show how pattern-matching might affect these two factors:

<details> <summary><h3>Example 1 (GOOD)</h3> [click to expand]</summary>

```dart
if (ancestor case InheritedElement(:final InheritedTheme widget)) {
  themes.add(widget);
}
```

Without using patterns, this might expand to

```dart
if (ancestor is InheritedElement) {
  final InheritedWidget widget = ancestor.widget;
  if (widget is InheritedTheme) {
    themes.add(widget);
  }
}
```

Had `ancestor` been a non-local variable, it would need to be "converted" as well:

```dart
final Element ancestor = this.ancestor;
if (ancestor is InheritedElement) {
  final InheritedWidget inheritedWidget = ancestor.widget;
  if (widget is InheritedTheme) {
    themes.add(theme);
  }
}
```

</details>

<details> <summary><h3>Example 2 (BAD) </h3> [click to expand]</summary>

```dart
if (widget case PreferredSizeWidget(preferredSize: Size(:final double height))) {
  return height;
}
```

Assuming `widget` is a non-local variable, this would expand to:

```dart
final Widget widget = this.widget;
if (widget is PreferredSizeWidget) {
  return widget.preferredSize.height;
}
```

<br>

</details>

In both of the examples above, an `if-case` statement simultaneously verifies that an object meets the specified criteria and performs a variable assignment accordingly.

But there are some differences: Example 2 uses a more deeply-nested pattern than Example 1 but makes fewer useful checks.

**Example 1:**
- checks that `ancestor` is an `InheritedElement`
- checks that the inherited element's `widget` is an `InheritedTheme`

**Example 2:**
- checks that `widget` is a `PreferredSizeWidget`
(every `PreferredSizeWidget` has a `size` field, and every `Size` has a `height` field)

<br>

<hr>

I feel hesitant to try presenting a set of cut-and-dry rules as to which scenarios should/shouldn't use pattern-matching, since there are an abundance of different types of patterns, and an abundance of different places where they might be used.

But hopefully the conversations we've had recently will help us converge toward a common intuition of how pattern-matching can best be utilized for improved readability.

<br><br>

- resolves https://github.com/flutter/flutter/issues/152313
- Design Doc: [flutter.dev/go/dart-patterns](https://flutter.dev/go/dart-patterns)
2024-10-03 18:21:04 +00:00
flutter-pub-roller-bot
a9047e93bc
Roll pub packages (#156117)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-10-02 23:01:09 +00:00
flutter-pub-roller-bot
4ad274720f
Roll pub packages (#156114)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-10-02 21:12:16 +00:00
flutter-pub-roller-bot
33baedab60
Roll pub packages (#156105)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-10-02 19:18:54 +00:00
flutter-pub-roller-bot
d59499988a
Roll pub packages (#155846)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-10-01 22:45:08 +00:00
Denis Gordin
31d6b35b7f
Move FlutterLogo from material to widget (#155864)
The PR is moving FlutterLogo from `lib/src/material` to `lib/src/widgets` because it has no dependency on Material.

Issue: https://github.com/flutter/flutter/issues/154448

PS: There is [older PR](https://github.com/flutter/flutter/pull/154711) for this issue and I don't know the policy on conflicting PRs. Let me know if I need to drop mine.
2024-09-30 17:19:25 +00:00
Gray Mackall
cad7418f0a
Roll packages manually (#155786)
*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. An issue is not required if the PR fixes something trivial like a typo.*

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*
2024-09-27 00:49:08 +00:00
flutter-pub-roller-bot
db76401cd8
Roll pub packages (#155640)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-09-25 00:03:57 +00:00
Daco Harkes
aef2758716
[native assets] Roll dependencies (#155432)
Rolls native deps to the latest version, and cleans up deprecated field from template.

Tests:

* All the unit and integration tests for native assets. The template and dependencies are exercised in the integration test.

Since `package:native_assets_builder` already checks for having no static libraries as output, the custom check in flutter_tools is removed. The tests stubbing out the native assets builder exercising the custom check are also removed. (The integration tests now check for the error message from the native assets builder.)
2024-09-24 07:19:09 +00:00
Gray Mackall
303f222e17
Manual roll to 48ddaf578fb0c8326d5b4b680b0f49ea72e33216 (#155070)
Manual roll, because https://github.com/flutter/engine/pull/55095 updates dependencies, and so it needs gradle lockfiles re generated.
2024-09-12 17:58:12 +00:00
Matan Lurey
5d5e633c44
Move (dev/tools), complete v0 of native_driver (Android) (#154843)
**This is a WIP**, and the only reason it is not a draft PR is so that Flutter (Skia) Gold is executed.

---

Closes https://github.com/flutter/flutter/issues/148269.

Work towards https://github.com/flutter/flutter/issues/148269.
2024-09-11 23:56:21 +00:00
Matan Lurey
0e6c16c27a
Migrate apple-mobile-web-* to mobile-web-*. (#154964)
Closes https://github.com/flutter/flutter/issues/154596.

It's less clear to me if your goal was to migrate _all_ of these btw:
https://github.com/search?q=org%3Aflutter+%22mobile-web-app-capable%22&type=code
2024-09-11 00:39:51 +00:00
flutter-pub-roller-bot
ee89e9a560
Roll pub packages (#154890)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-09-10 01:27:22 +00:00
Siva
d7a658d705
Roll Flutter Engine from c50eb8a65097 to 419fb8c0ab3e (#154734)
c50eb8a650...419fb8c0ab

2024-09-06 98614782+auto-submit[bot]@users.noreply.github.com Reverts
"[engine] always force platform channel responses to schedule a task.
(https://github.com/flutter/flutter/issues/54975)"
(https://github.com/flutter/engine/pull/55000)
2024-09-06
[skia-flutter-autoroll@skia.org](mailto:skia-flutter-autoroll@skia.org)
Roll Skia from b6bab0fde426 to 6ad117bd2efe (2 revisions)
(https://github.com/flutter/engine/pull/54999)
2024-09-06
[skia-flutter-autoroll@skia.org](mailto:skia-flutter-autoroll@skia.org)
Roll Fuchsia Test Scripts from D9INMR2u4wcyiZ750... to
5dqcFlKzRjJb6V95W... (https://github.com/flutter/engine/pull/54998)
2024-09-06
[skia-flutter-autoroll@skia.org](mailto:skia-flutter-autoroll@skia.org)
Roll Skia from a09312b70d37 to b6bab0fde426 (3 revisions)
(https://github.com/flutter/engine/pull/54997)
2024-09-06
[skia-flutter-autoroll@skia.org](mailto:skia-flutter-autoroll@skia.org)
Roll Skia from 368f209ccca5 to a09312b70d37 (1 revision)
(https://github.com/flutter/engine/pull/54995)
2024-09-06
[skia-flutter-autoroll@skia.org](mailto:skia-flutter-autoroll@skia.org)
Roll Skia from aec11ae18bb6 to 368f209ccca5 (3 revisions)
(https://github.com/flutter/engine/pull/54992)
2024-09-06
[skia-flutter-autoroll@skia.org](mailto:skia-flutter-autoroll@skia.org)
Roll Fuchsia Linux SDK from xNv47d1TZmK9XgTxu... to PBeI0gGvgFdXV6hCg...
(https://github.com/flutter/engine/pull/54990)
2024-09-06
[skia-flutter-autoroll@skia.org](mailto:skia-flutter-autoroll@skia.org)
Roll Skia from 809f868ded1c to aec11ae18bb6 (22 revisions)
(https://github.com/flutter/engine/pull/54988)
2024-09-06
[30870216+gaaclarke@users.noreply.github.com](mailto:30870216+gaaclarke@users.noreply.github.com)
Removes the int storage from Color
(https://github.com/flutter/engine/pull/54714)
2024-09-06 [chris@bracken.jp](mailto:chris@bracken.jp) iOS,macOS: Add
logging of duplicate codesign binaries
(https://github.com/flutter/engine/pull/54987)
2024-09-06
[skia-flutter-autoroll@skia.org](mailto:skia-flutter-autoroll@skia.org)
Roll Fuchsia Test Scripts from k4lKsecg0pdIp-U7c... to
D9INMR2u4wcyiZ750... (https://github.com/flutter/engine/pull/54984)
2024-09-05
[a-siva@users.noreply.github.com](mailto:a-siva@users.noreply.github.com)
Manual roll of Dart. (https://github.com/flutter/engine/pull/54983)
2024-09-05 [chris@bracken.jp](mailto:chris@bracken.jp) iOS,macOS: add
unsigned_binaries.txt (https://github.com/flutter/engine/pull/54977)
2024-09-05
[jason-simmons@users.noreply.github.com](mailto:jason-simmons@users.noreply.github.com)
Manual Skia roll to 809f868ded1c
(https://github.com/flutter/engine/pull/54972)
2024-09-05
[1961493+harryterkelsen@users.noreply.github.com](mailto:1961493+harryterkelsen@users.noreply.github.com)
[canvaskit] Fix incorrect calculation of ImageFilter paint bounds
(https://github.com/flutter/engine/pull/54980)
2024-09-05 [jonahwilliams@google.com](mailto:jonahwilliams@google.com)
[engine] always force platform channel responses to schedule a task.
(https://github.com/flutter/engine/pull/54975)
2024-09-05
[tugorez@users.noreply.github.com](mailto:tugorez@users.noreply.github.com)
Fix unexpected ViewFocus events when Text Editing utilities change focus
in the middle of a blur call.
(https://github.com/flutter/engine/pull/54965)

Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from xNv47d1TZmK9 to PBeI0gGvgFdX

---------

Co-authored-by: Christopher Fujino <christopherfujino@gmail.com>
Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com>
2024-09-06 15:42:07 -07:00
gaaclarke
d1385a4827
Adds wide gamut framework test (#153319)
issue: https://github.com/flutter/flutter/issues/127855

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2024-09-03 09:41:30 -07:00
Daco Harkes
6a47cdb6b5
[native assets] Roll dependencies (#154507)
Roll the dependencies from dart-lang/native.
2024-09-03 16:07:08 +00:00
flutter-pub-roller-bot
5e285635a8
Roll pub packages (#154352)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-08-29 17:46:09 +00:00
flutter-pub-roller-bot
f9351fae7e
Roll pub packages (#154267)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-08-29 16:28:08 +00:00
Polina Cherkasova
3379460596
Upgrade leak tracker. (#154157) 2024-08-28 05:23:18 +00:00
flutter-pub-roller-bot
1a5cbbfbe8
Roll pub packages (#154126)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-08-26 19:36:13 +00:00
auto-submit[bot]
6608936e6d
Reverts "Roll pub packages (#154044)" (#154113)
Reverts: flutter/flutter#154044
Initiated by: zanderso
Reason for reverting: Version does not exist.
Original PR Author: flutter-pub-roller-bot

Reviewed By: {fluttergithubbot}

This change reverts the following previous change:
This PR was generated by `flutter update-packages --force-upgrade`.
2024-08-26 15:49:25 +00:00
flutter-pub-roller-bot
9308a799c6
Roll pub packages (#154044)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-08-25 20:58:24 +00:00
Matan Lurey
5e194383af
Add a test of an Android platform view that draws a gradient (#153878)
Closes https://github.com/flutter/flutter/issues/152376.

The gradient, for posterity, looks like this:

<img src="https://github.com/user-attachments/assets/bed9599a-4e16-499c-af79-b51980095e89" width="150">

Let's see if CI agrees!

/cc @johnmccutchan
2024-08-23 18:25:40 +00:00
Michael Goderbauer
41c2f550ce
Manual pub roll (#153961)
Supersedes https://github.com/flutter/flutter/pull/153869
2024-08-22 22:28:19 +00:00
Gray Mackall
919bed6e0a
Reland "Update template/test compileSdk, targetSdk, ndk versions" (#153795)
Relands https://github.com/flutter/flutter/pull/152487.

The difference is in the two new commits:
-1354c6d77b
-931788aa5a, short version is that:
- I forgot that I need to override the compileSdkVersion in the AGP 8.0 [instance of this test](ef9cd32f5a/dev/devicelab/bin/tasks/android_java17_dependency_smoke_tests.dart (L19))
- A postsubmit integration test needed new lockfiles + the package attribute -> AGP namespace change.

These were the only two postsubmit failures: [dashboard](https://flutter-dashboard.appspot.com/#/build).
2024-08-21 18:27:00 +00:00
flutter-pub-roller-bot
fbed99fd4b
Roll pub packages (#153838)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-08-21 12:25:21 +00:00
auto-submit[bot]
7730f29024
Reverts "Update template/test compileSdk, targetSdk, ndk versions (#152487)" (#153793)
Reverts: flutter/flutter#152487
Initiated by: gmackall
Reason for reverting: I forgot that I need to override the compileSdkVersion in the AGP 8.0 [instance of this test](ef9cd32f5a/dev/devicelab/bin/tasks/android_java17_dependency_smoke_tests.dart (L19))
Original PR Author: gmackall

Reviewed By: {reidbaker}

This change reverts the following previous change:
Updates `compileSdk`, `targetSdk`, and `ndk` versions (former 2 to latest, latter to the version of the ndk we are hosting on CIPD).

Summary of changes:
- Updates mentioned template values
- `compileSdk` 35 requires AGP 8.0+, so updated to 8.1 in many places.
- This also necessitated Gradle upgrades in most places
- This also necessitated moving the `package` xml attribute to the AGP `namespace` field in a couple places (test + template).
- Some tests use the output of `flutter create` but then use intentionally lower AGP versions. [I downgraded the `compileSdk` in these tests.](fee34fd61a)
- [Stopped lockfile generation](82324a2570) script from hitting the `hello_world` example because it uses `.kts` gradle files.
- One test needed [some Gradle options we had already added to templates](6aa187b4b6).
2024-08-20 21:45:25 +00:00
Gray Mackall
ef9cd32f5a
Update template/test compileSdk, targetSdk, ndk versions (#152487)
Updates `compileSdk`, `targetSdk`, and `ndk` versions (former 2 to latest, latter to the version of the ndk we are hosting on CIPD).

Summary of changes:
- Updates mentioned template values
- `compileSdk` 35 requires AGP 8.0+, so updated to 8.1 in many places.
- This also necessitated Gradle upgrades in most places
- This also necessitated moving the `package` xml attribute to the AGP `namespace` field in a couple places (test + template).
- Some tests use the output of `flutter create` but then use intentionally lower AGP versions. [I downgraded the `compileSdk` in these tests.](fee34fd61a)
- [Stopped lockfile generation](82324a2570) script from hitting the `hello_world` example because it uses `.kts` gradle files.
- One test needed [some Gradle options we had already added to templates](6aa187b4b6).
2024-08-20 21:33:12 +00:00
flutter-pub-roller-bot
55b9c5a571
Roll pub packages (#153581)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-08-17 00:44:08 +00:00
flutter-pub-roller-bot
70460854d1
Roll pub packages (#153479)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-08-15 16:39:28 +00:00
Michael Goderbauer
2a4e004bc0
manual pub roll w/ gradle updates (#153403)
Follow-up to https://github.com/flutter/flutter/pull/153388.
2024-08-14 21:06:11 +00:00
flutter-pub-roller-bot
5f99d5782a
Roll pub packages (#153380)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-08-13 19:12:24 +00:00
flutter-pub-roller-bot
2f0415f37b
Roll pub packages (#153297)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-08-12 18:41:58 +00:00
Loïc Sharma
0edc468c78
Clean up .gitignore files (#153060)
This removes some unnecessary `.gitignore` files that are already covered by the top-level `.gitignore` file.

This ensures that `flutter run`ning examples in this repo doesn't result in modifications by the new Swift Package Manager migration.

Follow up to https://github.com/flutter/flutter/pull/152766

Part of https://github.com/flutter/flutter/issues/148018
2024-08-08 22:19:39 +00:00
Kevin Moore
a04ecb2b72
Roll pub packages [manual] (#153066) 2024-08-08 17:08:07 +00:00
Zachary Anderson
c4e19962bb
Fix Linux_android_emu tests late initialization errors (#152932)
This does not fix the issue underlying
https://github.com/flutter/flutter/issues/152684, but may prevent `adb
logcat` from ending before we've captured the logs that explain why the
app or emulator are potentially crashing.

Fixes Fixes https://github.com/flutter/flutter/issues/152899
2024-08-06 14:48:50 -07:00
flutter-pub-roller-bot
1e3a200637
Roll pub packages (#152956)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-08-06 21:08:55 +00:00
flutter-pub-roller-bot
772bf44691
Roll pub packages (#152945)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-08-06 19:08:37 +00:00
Kevin Moore
3612ba1fce
Manual dependency bump (#152881)
`package:collection` is 50+ days behind at this point which is blocking updates to a number of other packages `http_parser`, `shelf`, etc...
2024-08-06 02:40:27 +00:00
flutter-pub-roller-bot
51646d091b
Roll pub packages (#152127)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-08-05 20:14:23 +00:00
Matan Lurey
97996b07a2
Use print logging on LUCI. (#152776)
Work around https://github.com/flutter/flutter/issues/152775 diagnosing https://github.com/flutter/flutter/issues/152769.
2024-08-02 23:21:18 +00:00
Matan Lurey
4ff9462be8
Fix local testing, gradle XML errors, and enable on CI. (#152383)
TIL you cannot have XML comments before the initial `<?xml` declaration.

Follow-up to https://github.com/flutter/flutter/pull/152326.
2024-08-01 09:10:45 -07:00
Greg Spencer
b05c2fad0c
Add find.backButton finder and StandardComponentType enum to find components in tests. (#149349)
## Description

This adds `find.backButton()` in the Common Finders to allow finding different types of standard UI elements. It works by attaching a key made from an enum value in a new enum called `StandardComponentType` to all of the standard widgets that perform the associated function.

I also substituted the finder in several places where it is useful in tests.

This allows writing tests that want to find the "back" button without having to know exactly which icon the back button uses under what circumstances.  To do it correctly is actually quite complicated, since there are several adaptations that occur (based on platform, and whether it is web or not).

## Tests
 - Added tests.
2024-07-30 01:29:31 +00:00
Matan Lurey
7f8ad8a4cb
Add and use an integration test with native(ADB) screenshots (#152326)
Closes https://github.com/flutter/flutter/issues/152325.

This PR is large due to generate `flutter create --platforms android`. A quick summary:

- Moves the integration test from `packages/flutter_driver/test` to `dev/integration_tests`
- Created a sample Flutter app that draws a blue rectangle
- Forked a subset of `package:flutter_goldens` that will work on the standalone Dart VM
- Forked a subset of `goldens.dart` (from `flutter_test`) to `src/native/goldens.dart` (i.e. `matchesGoldenFile`)

This ... works locally, but as usual I have no idea if it will work on Skia Gold so let's roll some dice.
2024-07-26 16:09:29 +00:00
Jackson Gardner
8f0e77696f
Set dart defines properly while in debug mode. (#152262)
Turns out just supporting the right value for `kDebugMode` was a lot simpler than I thought. Debug builds used to never go through the build system code path when using `flutter run`, but now that we have wasm this can occur with the run command.

This should address https://github.com/flutter/flutter/issues/148850
2024-07-25 22:00:50 +00:00
flutter-pub-roller-bot
89c88ae8e8
Roll pub packages (#151992)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-07-19 10:11:32 +00:00
flutter-pub-roller-bot
8c17a747c9
Roll pub packages (#151946)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-07-18 10:57:41 +00:00
flutter-pub-roller-bot
1d816f58cb
Roll pub packages (#151904)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-07-18 09:52:29 +00:00
flutter-pub-roller-bot
bed034add2
Roll pub packages (#151816)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-07-16 12:34:24 +00:00
Daco Harkes
da48b34f50
[native_assets] Roll deps (#151662)
Roll deps to address:

* https://github.com/dart-lang/native/issues/1256

Cross-linking Dart standalone CL: https://dart-review.googlesource.com/c/sdk/+/375461 (no breaking API changes)
2024-07-13 05:37:24 +00:00
Chris Bracken
68f375fe38
[macOS] support secure restorable state by default (#151605)
By default, Flutter apps only do default AppKit app serialisation of
Window location etc. and by default, state serialisation in AppKit apps
is compatible with `NSSecureCoding`. AppKit apps generated since Xcode
13.2 include this method in the app delegate generated by the default
app template.

Background
==========

This method was added to opt into having [de]serialization require a
coder implementing the `NSSecureCoding` protocol. Apple wasn't able to
force this across the board, because `NSSecureCoding` limits certain
behaviours during deserialisation, which some third-party apps have have
previously relied on.

Specific background on the sorts of vulnerabilities that
`NSSecureCoding` was designed to prevent are described in the
`NSSecureCoding` documentation:

https://developer.apple.com/documentation/foundation/nssecurecoding?language=objc

A demonstration of a root privilege escalation and SIP bypass
vulnerability is described in the following blog post:
https://sector7.computest.nl/post/2022-08-process-injection-breaking-all-macos-security-layers-with-a-single-vulnerability/

Fixes: https://github.com/flutter/flutter/issues/150062

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2024-07-12 11:08:26 -07:00
Daco Harkes
cec2400658
[native_assets] Stop running link hooks in JIT mode (#151534)
Stop running link hooks in debug mode.

Rationale: link hooks only get access to tree-shaking info in release builds, so they can't do anything meaningful in debug builds. Debug builds should be fast as development cycle, so running less is better.

More details:

* https://github.com/dart-lang/native/issues/1252

Also: rolls packages to latest versions.

## Implementation details

The decision whether linking is enabled is made as follows:

* For normal builds `build_info.dart::BuildMode` is used to determine whether Dart is compiled in JIT or AOT mode.
* Testers always run in JIT, so no linking.
* Native asset dry runs only run for JIT builds (e.g only when hot reload and hot restart are enabled).

## Testing

The integration test is updated to output an asset for linking if `BuildConfig.linkingEnabled` is true, and to output an asset for bundling directly if linking is not enabled.
2024-07-12 06:44:23 +00:00
flutter-pub-roller-bot
5f7564d989
Roll pub packages (#151492)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-07-09 22:47:35 +00:00
Daco Harkes
9ab8b6e150
[deps] Roll dart-lang/native packages (#151403)
Pass in the minimum iOS and MacOS version.

Roll dart-lang/native deps.

Related issues:

* https://github.com/flutter/flutter/issues/145104
* Relevant discussion: https://github.com/flutter/flutter/pull/148504
2024-07-09 07:41:35 +00:00
flutter-pub-roller-bot
bf40ae3bc7
Roll pub packages (#151203)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-07-03 21:47:16 +00:00
Andrew Kolos
271e0427e3
[tool] remove some temporary printTrace calls (#151074)
Cleans up printTrace calls added while investigating https://github.com/flutter/flutter/issues/146879.

Also makes[ this `catch` clause ](https://github.com/flutter/flutter/pull/151074/files#diff-214723283174eb75e740a102252215723aa56716226ea92d084ef8a5bea4e931L578-R581)more precise.
2024-07-02 00:53:19 +00:00
flutter-pub-roller-bot
e8caee1a90
Roll pub packages (#151028)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-07-01 17:43:58 +00:00
flutter-pub-roller-bot
90f2c58d7f
Roll pub packages (#151022)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-06-29 02:17:17 +00:00
Gray Mackall
f23dbc50f0
Manual engine roll to ddd4814 (#150952)
Manual engine roll up to https://github.com/flutter/engine/pull/53592.

Manual roll because the change requires Gradle lockfiles to be re-generated.
2024-06-27 21:57:32 +00:00
Gray Mackall
0198afa1a4
Reland "Remove dual_screen from new_gallery integration test" (#150873)
Relands https://github.com/flutter/flutter/pull/150808

The original version of the pr [accidentally deleted the back button](https://github.com/flutter/flutter/pull/150808#discussion_r1655444210), which didn't block the app building but made the test hang because it couldn't back out of the demo pages.

Repro-ed the failure, and then tested that 
```
new_gallery_opengles_impeller__transition_perf
new_gallery__transition_perf
new_gallery_impeller_old_zoom__transition_perf
new_gallery__crane_perf
new_gallery_impeller__transition_perf
```

All pass on my pixel 7 pro, with ` dart bin/test_runner.dart test -t <test>`, after re-adding the mistakenly deleted content.

Did not test on an iOS device (I don't have one), but those tests were failing for the same reason from what I can tell:
```
> reply@study
[2024-06-26 12:49:21.884543] [STDOUT] stdout: [        ] scrolling to demo
[2024-06-26 12:49:22.412479] [STDOUT] stdout: [ +527 ms] tapping demo
[2024-06-26 12:49:28.075978] [STDOUT] stderr: [+5663 ms] VMServiceFlutterDriver: tap message is taking a long time to complete...
```
Which is the same error, and which makes sense - they got stuck because they couldn't back out of the page.

Sorry for the churn 🙏
2024-06-26 23:37:55 +00:00
auto-submit[bot]
43a8b6af53
Reverts "Remove dual_screen from new_gallery integration test (#150808)" (#150871)
Reverts: flutter/flutter#150808
Initiated by: gmackall
Reason for reverting: Causing the new_gallery tests to hang.

I can repro now though, so should be able to find a fix shortly
Original PR Author: gmackall

Reviewed By: {christopherfujino, johnmccutchan, jtmcdole, jonahwilliams}

This change reverts the following previous change:
Removes the `dual_screen` package from `new_gallery`. Unblocks the fourth attempt to land https://github.com/flutter/engine/pull/53001.
2024-06-26 19:47:18 +00:00
Gray Mackall
1d1367678a
Remove dual_screen from new_gallery integration test (#150808)
Removes the `dual_screen` package from `new_gallery`. Unblocks the fourth attempt to land https://github.com/flutter/engine/pull/53001.
2024-06-26 19:06:55 +00:00
auto-submit[bot]
778eaf6c1d
Reverts "Manual engine roll to 6884e83 (#150733)" (#150746)
Reverts: flutter/flutter#150733
Initiated by: gmackall
Reason for reverting: This breaks apps that use plugins that use `compileSdk` 31, some of which we use in our postsubmit (so it blocks the tree). 
Original PR Author: gmackall

Reviewed By: {jason-simmons}

This change reverts the following previous change:
Manual engine roll to https://github.com/flutter/engine/pull/53532, because the roll requires lockfile generation.
2024-06-25 01:20:29 +00:00
Gray Mackall
ca116ee535
Manual engine roll to 6884e83 (#150733)
Manual engine roll to https://github.com/flutter/engine/pull/53532, because the roll requires lockfile generation.
2024-06-25 00:52:07 +00:00
Jason Simmons
a27d013850
Manual engine roll to be7db94196fe (#150714)
Includes updates to Gradle lockfiles required by https://github.com/flutter/engine/pull/53280
2024-06-24 20:19:08 +00:00
Gray Mackall
4a84fb0fea
Remove discontinued device_info and connectivity plugins from flutter_gallery, roll pub packages (#150585)
Removes these two discontinued plugins from `dev/integration_tests/flutter_gallery`

[`device_info`](https://pub.dev/packages/device_info):
Apparently the video playback doesn't work on iOS simulators (I wasn't able to verify this, as I don't have an iOS simulator installed). I removed the guard against running on those simulators, and replaced with a note in the README.

[`connectivity`](https://pub.dev/packages/connectivity):
This plugin was used to play the bee video from the network. I changed the demo so that the bee video is instead also played from an asset (like its friend the butterfly), and then removed the use of the plugin.

Unblocks the re-land of https://github.com/flutter/engine/pull/53462 (itself a reland 🙂), because of https://github.com/flutter/flutter/pull/150465#issuecomment-2181403712.
2024-06-21 23:10:24 +00:00
Kate Lovett
62586dc09d
Update old wiki links (#149544)
Part of https://github.com/flutter/flutter/issues/145009

Finishes updating links in the repo that pointed to the old wiki
2024-06-17 17:26:08 +00:00
John McDole
e80bbd929e
Fix flaky complex_layout_scroll_perf__memory & flutter_gallery__memory_nav (#150368)
Initial tap is missing sometimes; either its never delivered or it is
delivered before gesture controller is hooked up.

1: Update MemoryTest to have option `requiresTapToStart` guarding the
   new paths
2: Update the two perf tests that appear to be flaky to output when
   TAPPED is received
3: Update the MemoryTest to keep tapping while waiting for TAPPED

Tested on devicelab:
* setting iterations=1
* removing the timeout before READY
* running tests in a while loop

Before this change, you could get the test to hang often. After this
change you'll see "tapping device... [x]" where x is the counter.

Fixes https://github.com/flutter/flutter/issues/150096
2024-06-17 17:14:47 +00:00
auto-submit[bot]
9fe71d99b9
Reverts "Fix flaky complex_layout_scroll_perf__memory test (#150287)" (#150293)
Reverts: flutter/flutter#150287
Initiated by: jtmcdole
Reason for reverting: other memperf tests don't wait for or send a TAPPED; so they fail.
Original PR Author: jtmcdole

Reviewed By: {gaaclarke}

This change reverts the following previous change:
Initial tap is missing sometimes; either its never delivered or it is delivered before gesture controller is hooked up.

1: Update the two perf tests to output when TAPPED is received
2: Update the MemoryTest to keep tapping while waiting for TAPPED

Tested on devicelab:
* setting iterations=1
* removing the timeout before READY
* running tests in a while loop

Before this change, you could get the test to hang often. After this change you'll see "tapping device... [x]" where x is the counter.

Fixes #150096
2024-06-15 03:27:28 +00:00
John McDole
499c84cbf8
Fix flaky complex_layout_scroll_perf__memory test (#150287)
Initial tap is missing sometimes; either its never delivered or it is delivered before gesture controller is hooked up.

1: Update the two perf tests to output when TAPPED is received
2: Update the MemoryTest to keep tapping while waiting for TAPPED

Tested on devicelab:
* setting iterations=1
* removing the timeout before READY
* running tests in a while loop

Before this change, you could get the test to hang often. After this change you'll see "tapping device... [x]" where x is the counter.

Fixes #150096
2024-06-15 00:55:05 +00:00
flutter-pub-roller-bot
e110fdd1c9
Roll pub packages (#150267)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-06-14 18:19:41 +00:00
Greg Spencer
d68e05bf36
Reland: Request focus if accessibility focus is given to a Focus widget (#142942) (#149840)
## Description

This attempts to re-land #142942 after being reverted in https://github.com/flutter/flutter/pull/149741 because it broke the iOS [platform view UI integration test](https://github.com/flutter/flutter/blob/master/dev/integration_tests/ios_platform_view_tests/ios/PlatformViewUITests/PlatformViewUITests.m?rgh-link-date=2024-06-06T19%3A47%3A27Z).

The changes here from the original are that in the Focus widget we no longer set the `onFocus` for the `Semantics` if the platform is iOS.  It was not intended to do anything on iOS anyhow.

Also, I updated the matchers to not actually do anything yet with the SemanticsAction.focus matching, so that this can be landed without breaking customer tests, and once they have been updated to correctly look for the focus action, we can land a PR that will turn it on.

## Related Issues
 - https://github.com/flutter/flutter/issues/149838
 - https://github.com/flutter/flutter/issues/83809
 - https://github.com/flutter/flutter/issues/149842

## Tests
 - Updated framework tests to look for the appropriate things using the matchers, even though it doesn't actually test for them yet.
2024-06-12 20:05:10 +00:00
flutter-pub-roller-bot
ad462e2783
Roll pub packages (#150070)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-06-12 05:40:31 +00:00
Michael Goderbauer
1b8d083ab6
Manual Pub Roll (#150025)
Supersedes https://github.com/flutter/flutter/pull/149908
2024-06-11 00:02:26 +00:00
Gray Mackall
b889e3a6f7
Unpin camera_android and remove its only usage (#150017)
Fixes https://github.com/flutter/flutter/issues/146004

The `camera_android`plugin had its version pinned when it was still used in the `gradle_deprecated_settings`. It has since been [replaced](https://github.com/flutter/flutter/pull/148426) by `camera_android_camerax`, and therefore isn't used in `flutter/flutter`. So it's pin should be fine to remove.
2024-06-10 22:13:00 +00:00
Jason Simmons
4e6e61dfd5
Retain the toString method for subclasses of Key in profile/release mode (#149926)
toString methods are removed in AOT builds by the optimization in https://github.com/flutter/flutter/pull/144763

This PR disables that for Key subclasses because some applications rely on the previous behavior.

Fixes https://github.com/flutter/flutter/issues/148983
2024-06-10 16:06:02 +00:00
flutter-pub-roller-bot
9a654cb5da
Roll pub packages (#149864)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-06-07 00:22:25 +00:00
flutter-pub-roller-bot
27972ebb48
Roll pub packages (#149852)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-06-06 22:35:15 +00:00
flutter-pub-roller-bot
50998a99f2
Roll pub packages (#149630)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-06-06 18:08:49 +00:00
Matan Lurey
d1e17c338b
Remove unused code from an older test artifact. (#149746)
This does nothing. Let's send it to the void!
2024-06-05 21:07:08 +00:00
auto-submit[bot]
ec9965bd89
Reverts "Request focus if SemanticsAction.focus is sent to a focusable widget (#142942)" (#149741)
Reverts: flutter/flutter#142942
Initiated by: zanderso
Reason for reverting: Seems to have affected iOS platform view focus: https://ci.chromium.org/ui/p/flutter/builders/prod/Mac_ios%20native_platform_view_ui_tests_ios/10626/overview
Original PR Author: gspencergoog

Reviewed By: {yjbanov, goderbauer, chunhtai}

This change reverts the following previous change:
## Description

This causes the `Focus` widget to request focus on its focus node if the accessibility system (screen reader) focuses a widget via the `SemanticsAction.focus` action.

## Related Issues
 - https://github.com/flutter/flutter/issues/83809

## Tests
 - Added a test to make sure that focus is requested when `SemanticsAction.focus` is sent by the engine.
2024-06-05 14:54:18 +00:00
Greg Spencer
dd700e6d7c
Request focus if SemanticsAction.focus is sent to a focusable widget (#142942)
## Description

This causes the `Focus` widget to request focus on its focus node if the accessibility system (screen reader) focuses a widget via the `SemanticsAction.focus` action.

## Related Issues
 - https://github.com/flutter/flutter/issues/83809

## Tests
 - Added a test to make sure that focus is requested when `SemanticsAction.focus` is sent by the engine.
2024-06-05 00:42:59 +00:00
flutter-pub-roller-bot
99cf2b6e5a
Roll pub packages (#149617)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-06-03 22:15:41 +00:00