auto-submit[bot]
c2cd71309f
Reverts "Add feature flags to the framework ( #168437 )" ( #171542 )
...
<!-- start_original_pr_link -->
Reverts: flutter/flutter#168437
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: chingjun
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: broke internal customers
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: loic-sharma
<!-- end_original_pr_author -->
<!-- start_reviewers -->
Reviewed By: {bkonyi, justinmc, matanlurey}
<!-- end_reviewers -->
<!-- start_revert_body -->
This change reverts the following previous change:
## Motivation
We'd like to let users opt-in to experimental features so that they can
give early feedback while we iterate on the feature. For example:
Example feature flags:
1. Android sensitive content:
https://github.com/flutter/flutter/pull/158473 . When enabled, Flutter
will tell Android when the view contains sensitive content like a
password.
2. Desktop multi-window. When enabled, Flutter will use child windows to
allow things like a context menu to "escape" outside of the current
window.
### Use case
Users will be able to turn on features by:
* **Option 1**: Run `flutter config --enable-my-feature`. This enables
the feature for all projects on the machine
* **Option 2**: Add `enable-my-feature: true` in their `pubspec.yaml`,
under the `flutter` section. This would enable the for a single project
on the machine.
Turning on a feature affects _both_ development-time (`flutter run`) and
deployment-time (`flutter build x`). For example, I can `flutter build
windows` to create an `.exe` with multi-window features enabled.
## How this works
This adds a new
[`runtimeId`](https://github.com/flutter/flutter/pull/168437/files#diff-0ded384225f19a4c34d43c7c11f7cb084ff3db947cfa82d8d52fc94c112bb2a7R243-R247 )
property to the tool's `Feature` class. If a feature is on and has a
`runtimeId`, its `runtimeId` will be [stamped into the Dart application
as a Dart
define](https://github.com/flutter/flutter/pull/168437/files#diff-bd662448bdc2e6f50e47cd3b20b22b41a828561bce65cb4d54ea4f5011cc604eR293-R327 ).
The framework uses this Dart define to [determine which features are
enabled](https://github.com/flutter/flutter/pull/168437/files#diff-c8dbd5cd3103bc5be53c4ac5be8bdb9bf73e10cd5d8e4ac34e737fd1f8602d45 ).
### Multi-window example
https://github.com/flutter/flutter/pull/168697 shows how this new
feature flag system can be used to add a multi-window feature flag:
1. It adds a new [multi-window
feature](https://github.com/flutter/flutter/pull/168697/files#diff-0ded384225f19a4c34d43c7c11f7cb084ff3db947cfa82d8d52fc94c112bb2a7R189-R198 )
to the Flutter tool. This can be turned on using `flutter config
--enable-multi-window` or by putting `enable-multi-window: true` in an
app's .pubspec, under the `flutter` section.
2. It adds a new
[`isMultiWindowEnabled`](https://github.com/flutter/flutter/pull/168697/files#diff-c8dbd5cd3103bc5be53c4ac5be8bdb9bf73e10cd5d8e4ac34e737fd1f8602d45R7-R11 )
property to the framework.
3. The Material library can use this new property to determine whether
it should create a new window.
[Example](https://github.com/flutter/flutter/pull/168697/files#diff-2cbc1634ed6b61d61dfa090e7bfbbb7c60b74c8abc3a28df6f79eee691fd1b73 ).
## Limitations
### Tool and framework only
For now, these feature flags are available only to the Flutter tool and
Flutter framework. The flags are not automatically available to the
embedder or the engine.
For example, embedders need to configure their surfaces differently if
Impeller is enabled. This configuration must happen before the Dart
isolate is launched. As a result, the framework's feature flags is not a
viable solution for this scenario for now. For these kinds of scenarios,
we should continue to use platform-specific configuration like the
`AndroidManifest.xml` or `Info.plist` files.
This is a fixable limitation, we just need to invest in this plumbing :)
### Tree shaking
Feature flags are not designed to help tree shaking. For example, you
cannot conditionally import Dart code depending on the enabled feature
flags. Code that is feature flagged off will still be imported into
user's apps.
## 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
<!-- end_revert_body -->
Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-07-02 20:31:18 +00:00
Loïc Sharma
c6f9e801b2
Add feature flags to the framework ( #168437 )
...
## Motivation
We'd like to let users opt-in to experimental features so that they can
give early feedback while we iterate on the feature. For example:
Example feature flags:
1. Android sensitive content:
https://github.com/flutter/flutter/pull/158473 . When enabled, Flutter
will tell Android when the view contains sensitive content like a
password.
2. Desktop multi-window. When enabled, Flutter will use child windows to
allow things like a context menu to "escape" outside of the current
window.
### Use case
Users will be able to turn on features by:
* **Option 1**: Run `flutter config --enable-my-feature`. This enables
the feature for all projects on the machine
* **Option 2**: Add `enable-my-feature: true` in their `pubspec.yaml`,
under the `flutter` section. This would enable the for a single project
on the machine.
Turning on a feature affects _both_ development-time (`flutter run`) and
deployment-time (`flutter build x`). For example, I can `flutter build
windows` to create an `.exe` with multi-window features enabled.
## How this works
This adds a new
[`runtimeId`](https://github.com/flutter/flutter/pull/168437/files#diff-0ded384225f19a4c34d43c7c11f7cb084ff3db947cfa82d8d52fc94c112bb2a7R243-R247 )
property to the tool's `Feature` class. If a feature is on and has a
`runtimeId`, its `runtimeId` will be [stamped into the Dart application
as a Dart
define](https://github.com/flutter/flutter/pull/168437/files#diff-bd662448bdc2e6f50e47cd3b20b22b41a828561bce65cb4d54ea4f5011cc604eR293-R327 ).
The framework uses this Dart define to [determine which features are
enabled](https://github.com/flutter/flutter/pull/168437/files#diff-c8dbd5cd3103bc5be53c4ac5be8bdb9bf73e10cd5d8e4ac34e737fd1f8602d45 ).
### Multi-window example
https://github.com/flutter/flutter/pull/168697 shows how this new
feature flag system can be used to add a multi-window feature flag:
1. It adds a new [multi-window
feature](https://github.com/flutter/flutter/pull/168697/files#diff-0ded384225f19a4c34d43c7c11f7cb084ff3db947cfa82d8d52fc94c112bb2a7R189-R198 )
to the Flutter tool. This can be turned on using `flutter config
--enable-multi-window` or by putting `enable-multi-window: true` in an
app's .pubspec, under the `flutter` section.
2. It adds a new
[`isMultiWindowEnabled`](https://github.com/flutter/flutter/pull/168697/files#diff-c8dbd5cd3103bc5be53c4ac5be8bdb9bf73e10cd5d8e4ac34e737fd1f8602d45R7-R11 )
property to the framework.
3. The Material library can use this new property to determine whether
it should create a new window.
[Example](https://github.com/flutter/flutter/pull/168697/files#diff-2cbc1634ed6b61d61dfa090e7bfbbb7c60b74c8abc3a28df6f79eee691fd1b73 ).
## Limitations
### Tool and framework only
For now, these feature flags are available only to the Flutter tool and
Flutter framework. The flags are not automatically available to the
embedder or the engine.
For example, embedders need to configure their surfaces differently if
Impeller is enabled. This configuration must happen before the Dart
isolate is launched. As a result, the framework's feature flags is not a
viable solution for this scenario for now. For these kinds of scenarios,
we should continue to use platform-specific configuration like the
`AndroidManifest.xml` or `Info.plist` files.
This is a fixable limitation, we just need to invest in this plumbing :)
### Tree shaking
Feature flags are not designed to help tree shaking. For example, you
cannot conditionally import Dart code depending on the enabled feature
flags. Code that is feature flagged off will still be imported into
user's apps.
## 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
2025-07-02 17:13:53 +00:00
Victoria Ashworth
8d100a6416
Get flavor/scheme in assemble command from the build configuration ( #162907 )
...
This moves the logic for `FLUTTER_APP_FLAVOR` into `flutter assemble`,
so that it also works when ran through Xcode and not just through the
Flutter CLI.
However, there's no definitive way to get the the flavor/scheme in
`flutter assemble`, so this makes a best effort to get it by parsing it
out of the `CONFIGURATION`. `CONFIGURATION` should have the name of the
scheme in it, although, this is only
[semi-enforced](1d85de0fc8/packages/flutter_tools/lib/src/ios/mac.dart (L201-L203) ),
so may not always work. If it's unable to get the scheme name from the
`CONFIGURATION`, it falls back to using the `FLAVOR` environment
variable, which is set by the Flutter CLI and used currently.
Verified `Mac_ios flavors_test_ios` passes:
https://ci.chromium.org/ui/p/flutter/builders/prod.shadow/Mac_ios%20flavors_test_ios/7/overview
Verified `Mac flavors_test_macos` passes:
https://ci.chromium.org/ui/p/flutter/builders/try.shadow/Mac%20flavors_test_macos/2/overview
Fixes https://github.com/flutter/flutter/issues/155951 .
## 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
2025-02-19 20:37:35 +00:00
Reid Baker
0f5d669acb
Trigger display_cutout_rotation flutter driver test in ci. ( #162641 )
...
Fixes https://github.com/flutter/flutter/issues/162615
Can test 2 different ways.
On a mac (or linux machine) with adb on the path (or android sdk set in
ANDROID_HOME) and an emulator running (or physical device attached) that
is api 30 or higher.
```
cd dev/devicelab
dart bin/test_runner.dart test -t android_display_cutout
```
OR
```
dev/integration_tests/display_cutout_rotation
flutter drive integration_test/display_cutout_test.dart
```
Proof the test ran successfully
```
[2025-02-12 08:08:22.069817] [STDOUT] Removing Synthetic notch...
[2025-02-12 08:08:22.071147] [STDOUT] Executing "/b/s/w/ir/cache/android/sdk/platform-tools/adb -s emulator-5554 shell cmd overlay disable com.android.internal.display.cutout.emulation.tall" in "/b/s/w/ir/x/w/rc/tmpk3k3yhhp/flutter sdk/dev/integration_tests/display_cutout_rotation/" with environment {BOT: true, LANG: en_US.UTF-8}
[2025-02-12 08:08:22.862219] [STDOUT] Checking for reboot
[android_defines_test] Process terminated with exit code 0.
Task result:
{
"success": true,
"data": null,
"detailFiles": [],
"benchmarkScoreKeys": [],
"reason": "success"
}
```
https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8723125792202374961/+/u/run_android_defines_test/stdout
All checks passed
https://github.com/flutter/flutter/pull/162641/checks?check_run_id=36991537539
## 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.
2025-02-12 19:42:39 +00:00
Michael Goderbauer
5491c8c146
Auto-format Framework ( #160545 )
...
This auto-formats all *.dart files in the repository outside of the
`engine` subdirectory and enforces that these files stay formatted with
a presubmit check.
**Reviewers:** Please carefully review all the commits except for the
one titled "formatted". The "formatted" commit was auto-generated by
running `dev/tools/format.sh -a -f`. The other commits were hand-crafted
to prepare the repo for the formatting change. I recommend reviewing the
commits one-by-one via the "Commits" tab and avoiding Github's "Files
changed" tab as it will likely slow down your browser because of the
size of this PR.
---------
Co-authored-by: Kate Lovett <katelovett@google.com>
Co-authored-by: LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>
2024-12-19 20:06:21 +00:00
Jonah Williams
1050959d19
[flutter_driver] use mostly public screenshot API. ( #157888 )
...
Instead of completely private. This has been broken for Impeller for years, which shows how much this method is getting used.
Fixes https://github.com/flutter/flutter/issues/130461
2024-10-31 21:31:07 +00:00
Jonah Williams
d3beaae07f
disable Impeller on external texture test. ( #149292 )
...
This is failing with Impeller:
https://ci.chromium.org/ui/p/flutter/builders/try/Linux_android_emu%20external_textures_integration_test/1414/overview
Needs investigation.
2024-05-29 20:43:48 -07:00
auto-submit[bot]
65d5d36759
Reverts "Try to be more consistent about deleting test apps in devicelab logic ( #146931 )" ( #146947 )
...
Reverts: flutter/flutter#146931
Initiated by: Hixie
Reason for reverting: more failures
Original PR Author: Hixie
Reviewed By: {reidbaker}
This change reverts the following previous change:
Fixes #137555 .
This is an updated version of https://github.com/flutter/flutter/pull/146856 , which was reverted in https://github.com/flutter/flutter/pull/146927 . The first commit is identical to the original PR, and subsequent commits are the fixes to address failures detected in devicelab post-commit.
2024-04-17 21:08:47 +00:00
Ian Hickson
fb7e8b0653
Try to be more consistent about deleting test apps in devicelab logic ( #146931 )
...
Fixes #137555 .
This is an updated version of https://github.com/flutter/flutter/pull/146856 , which was reverted in https://github.com/flutter/flutter/pull/146927 . The first commit is identical to the original PR, and subsequent commits are the fixes to address failures detected in devicelab post-commit.
2024-04-17 20:19:42 +00:00
auto-submit[bot]
f8c3e52776
Reverts "Try to be more consistent about deleting test apps in devicelab logic. ( #146856 )" ( #146927 )
...
Reverts: flutter/flutter#146856
Initiated by: Hixie
Reason for reverting: breaking tree
Original PR Author: Hixie
Reviewed By: {reidbaker}
This change reverts the following previous change:
Fixes https://github.com/flutter/flutter/issues/137555 .
2024-04-17 17:41:16 +00:00
Ian Hickson
0301c8dfa4
Try to be more consistent about deleting test apps in devicelab logic. ( #146856 )
...
Fixes https://github.com/flutter/flutter/issues/137555 .
2024-04-17 17:18:26 +00:00
Matan Lurey
2f6fdf2650
Start renaming by adding a new bringup: true as an Android emulator. ( #142257 )
...
Part 2 of https://github.com/flutter/flutter/issues/142178 .
Supersedes https://github.com/flutter/flutter/pull/142078 .
Feedback welcome to avoid reverts!
2024-01-26 01:07:08 +00:00
auto-submit[bot]
db25540919
Reverts "Reverts "Rename integration_tests/external_ui but do not touch anything else..."" ( #142268 )
...
Reverts flutter/flutter#142265
Initiated by: matanlurey
This change reverts the following previous change:
Original Description:
Reverts flutter/flutter#142238
Initiated by: eliasyishak
This change reverts the following previous change:
Original Description:
Part of https://github.com/flutter/flutter/issues/142178 .
2024-01-25 22:28:27 +00:00
auto-submit[bot]
f8544df0ea
Reverts "Rename integration_tests/external_ui but do not touch anything else..." ( #142265 )
...
Reverts flutter/flutter#142238
Initiated by: eliasyishak
This change reverts the following previous change:
Original Description:
Part of https://github.com/flutter/flutter/issues/142178 .
2024-01-25 22:10:17 +00:00
Matan Lurey
f61d2f53c6
Rename integration_tests/external_ui but do not touch anything else... ( #142238 )
...
Part of https://github.com/flutter/flutter/issues/142178 .
2024-01-25 13:08:16 -08:00
Matan Lurey
b3da19f879
Refactor external_ui without making any name changes (I think) ( #142192 )
...
Work towards https://github.com/flutter/flutter/issues/142178 .
---
This PR makes no _behavioral_ changes to executed code, and instead
focuses on organization and naming:
1. Extended the README to explain the intent of the test, as well as how
to run it
1. Renamed `main.dart` and `main_test.dart` to `frame_rate_main.dart`
and `frame_rate_test.dart` (we'll add more)
1. Did some refactoring of the test to make it more obvious what is
being asserted (i.e. `widgetBuilds` and friends)
2024-01-24 17:14:16 -08:00
auto-submit[bot]
54e9f2dbe6
Reverts "Refactor external_ui → external_textures" ( #142173 )
...
Reverts flutter/flutter#142062
Initiated by: eliasyishak
This change reverts the following previous change:
Original Description:
This PR makes no _behavioral_ changes to executed code, and instead focuses on organization and naming:
1. Almost[^1] anything named `external_ui` is renamed `external_textures`
1. Extended the README to explain the intent of the test, as well as how to run it
1. Renamed `main.dart` and `main_test.dart` to `frame_rate_main.dart` and `frame_rate_test.dart` (we'll add more)
1. Did some refactoring of the test to make it more obvious what is being asserted (i.e. `widgetBuilds` and friends)
Given how complex (and in-flux) this directory is, I'm also requesting either John, Jonah or I review any changes.
[^1]: Except the name of the `.ci.yaml` task, i.e. `name: Linux_pixel_7pro external_ui_integration_test` because I'm apparently not able to change that without creating a new task as `bringup: true` and playing a bit of a dance. Maybe that's worth doing though (in future PRs)?
2024-01-24 21:41:17 +00:00
Matan Lurey
2e2042ff8e
Refactor external_ui → external_textures ( #142062 )
...
This PR makes no _behavioral_ changes to executed code, and instead
focuses on organization and naming:
1. Almost[^1] anything named `external_ui` is renamed
`external_textures`
1. Extended the README to explain the intent of the test, as well as how
to run it
1. Renamed `main.dart` and `main_test.dart` to `frame_rate_main.dart`
and `frame_rate_test.dart` (we'll add more)
1. Did some refactoring of the test to make it more obvious what is
being asserted (i.e. `widgetBuilds` and friends)
Given how complex (and in-flux) this directory is, I'm also requesting
either John, Jonah or I review any changes.
[^1]: Except the name of the `.ci.yaml` task, i.e. `name:
Linux_pixel_7pro external_ui_integration_test` because I'm apparently
not able to change that without creating a new task as `bringup: true`
and playing a bit of a dance. Maybe that's worth doing though (in future
PRs)?
2024-01-24 12:44:31 -08:00
Victoria Ashworth
5dd2a4e0aa
Ensure Xcode project is setup to start debugger ( #136977 )
...
Some users have their Xcode settings set to not debug (see example here https://github.com/flutter/flutter/issues/136197#issuecomment-1766834195 ). This will cause the [engine check for a debugger](22ce5c6a45/runtime/ptrace_check.cc (L56-L71) ) to fail, which will cause an error and cause the app to crash.
This PR parses the scheme file to ensure the scheme is set to start a debugger and warn the user if it's not.
Fixes https://github.com/flutter/flutter/issues/136197 .
2023-10-25 17:08:57 +00:00
Victoria Ashworth
d631b26285
New tooling for iOS 17 physical devices ( #131865 )
...
This PR includes the following changes. These changes only apply to iOS 17 physical devices.
| Command | Change Description | Changes to User Experience |
| ------------- | ------------- | ------------- |
| `flutter run --release` | Uses `devicectl` to install and launch application in release mode. | No change. |
| `flutter run` | Uses Xcode via automation scripting to run application in debug and profile mode. | Xcode will be opened in the background. Errors/crashes may be caught in Xcode and therefore may not show in terminal. |
| `flutter run --use-application-binary=xxxx` | Creates temporary empty Xcode project and use Xcode to run via automation scripting in debug and profile. | Xcode will be opened in the background. Errors/crashes may be caught in Xcode and therefore may not show in terminal. |
| `flutter install` | Uses `devicectl` to check installed apps, install app, uninstall app. | No change. |
| `flutter screenshot` | Will return error. | Will return error. |
Other changes include:
* Using `devicectl` to get information about the device
* Using `idevicesyslog` and Dart VM logging for device logs
Note:
Xcode automation scripting (used in `flutter run` for debug and profile) does not work in a headless (without a UI) interface. No known workaround.
Fixes https://github.com/flutter/flutter/issues/128827 , https://github.com/flutter/flutter/issues/128531 .
2023-08-09 19:25:12 +00:00
chunhtai
c687dcd56f
Migrates android semanitcs integration to integration test ( #127128 )
...
I think the flake is due to setclipboard or semantics update race condition. I migrated the test to use integration test package which relies less on timing
fixes https://github.com/flutter/flutter/issues/124636
2023-05-23 22:33:19 +00:00
Michael Goderbauer
34102ca3bb
Migrate channels to pkg:integration _test ( #120833 )
...
* migrate to integration_test framework
* Update embedding
2023-02-16 18:55:32 +00:00
gaaclarke
ddebe833b0
Added integration test for wide gamut support. ( #119657 )
...
* Added integration test for wide gamut support.
* cleaned up
* deleted files that can be generated
* switched back to standard flutter in the shell script
* added devicelab task
* removed analysis options
* analyzer
* Fixed task
* made local_run.sh not executable
* analyzer
* removed the logo asset
* added task to ci
* updated pubspec
* analysis errors fixed
* updated pubspec
2023-02-13 22:33:19 +00:00
Michael Goderbauer
fdd2d7d64a
Sync analysis_options.yaml & cleanups ( #117327 )
2022-12-20 14:15:39 -08:00
Loïc Sharma
4898f1f5c5
[Windows] Add app startup integration test ( #110114 )
...
Add a basic integration test for the Windows's app startup. In a subsequent change (https://github.com/flutter/flutter/pull/109816 ), this test will be updated to verify the app's window isn't visible until after the first frame has been drawn.
Part of https://github.com/flutter/flutter/issues/41980
2022-08-25 18:54:20 -07:00
Camille Simon
7db25c36ad
Re-land Add Spell Check to EditableText ( #109643 )
2022-08-17 16:16:02 +00:00
Jonah Williams
0ba88d8b43
Revert "Add Spellcheck to EditableText (Android) ( #109334 )" ( #109631 )
...
This reverts commit ff9fe35682e10d1067d918770048d28a1f462e0f.
2022-08-16 14:30:03 -07:00
Camille Simon
ff9fe35682
Add Spellcheck to EditableText (Android) ( #109334 )
2022-08-16 18:22:45 +00:00
stuartmorgan
6c6ae06381
Add Windows to the platform_channels example ( #106754 )
2022-06-30 14:54:07 +00:00
hellohuanlin
0dd0c2edca
[platform_view]Send platform message when platform view is focused ( #105050 )
2022-06-23 00:01:07 +00:00
Core
d8034538bd
feat: enable flavor option on test command ( #89045 )
2021-11-11 09:23:02 -08:00
Jenn Magder
f673c5c58f
Remove obsolete codegen_integration tests ( #86962 )
2021-07-23 14:56:04 -07:00
Kaushik Iska
df3fe587e8
Validate that min frame number is numeric ( #86498 )
2021-07-15 17:11:09 -07:00
Darren Austin
ef5ffd08f6
Migrate devicelab framework code to null safety. ( #86325 )
...
(Attempt to reland #85993 )
2021-07-13 12:14:50 -07:00
Darren Austin
08ef7752d5
Revert "Migrate core devicelab framework to null safety. ( #85993 )" ( #86269 )
...
This reverts commit 2175e64e4fdb387c5f01242c9a82779d3423e531.
2021-07-11 23:25:25 -07:00
Darren Austin
2175e64e4f
Migrate core devicelab framework to null safety. ( #85993 )
...
Migrate core devicelab framework to null safety.
2021-07-11 18:36:30 -07:00
Jenn Magder
1d2f6c5296
Revert "Set up iOS native integration_tests in ui example project ( #84890 )" ( #84892 )
...
This reverts commit 05d55157326193917090d3eff68684b36a858086.
2021-06-18 18:05:00 -07:00
Jenn Magder
05d5515732
Set up iOS native integration_tests in ui example project ( #84890 )
2021-06-18 17:45:11 -07:00
Jenn Magder
03034e9e4a
Audit devicelab log streaming for nullability ( #84820 )
2021-06-18 00:14:03 -07:00
Jenn Magder
697928d21f
Revert "Set up iOS native integration_tests in ui example project ( #84596 )" ( #84641 )
...
This reverts commit ef2879a46f5a8b3f294e72b66e1f58508d277a28.
2021-06-15 10:09:41 -07:00
Jenn Magder
ef2879a46f
Set up iOS native integration_tests in ui example project ( #84596 )
2021-06-14 18:04:02 -07:00
Dan Field
5cc7b6c3ea
Add option to stream logs to file for flutter logs and way to use it in devicelab runs ( #84008 )
2021-06-07 10:33:00 -07:00
Jenn Magder
94a41cde83
Mixed null safety in dev/devicelab ( #84017 )
2021-06-05 02:29:03 -07:00
Jia Hao
8158b478d7
Add tests for integration tests to devicelab ( #79258 )
2021-03-30 22:29:03 -07:00
Jenn Magder
3463946448
Take screenshot when drive fails ( #78822 )
2021-03-22 19:06:28 -07:00
Jenn Magder
d69e2f10d8
Remove unused android_splash_screens integration test ( #76429 )
2021-02-22 14:46:04 -08:00
Jenn Magder
7cd99db0e4
Remove unused image_loading integration test ( #76430 )
2021-02-22 10:51:53 -08:00
Jonah Williams
7ee910b0a8
[flutter_tools] ensure --dart-define can parse args with commas ( #73798 )
2021-01-15 13:51:32 -08:00
Jonah Williams
03db9bf918
[devicelab] migrate defines test to DriverTest ( #68407 )
...
Removes one-off handling for defines test and forces it to run through the DriverTest interface
2020-10-19 12:28:43 -07:00
Jonah Williams
223df0c351
[devicelab] split end to end tests into driver targets ( #68410 )
...
Split the integration_ui target into individual driver tests. Remove disabled screenshot tests
2020-10-19 12:28:13 -07:00