Commit Graph

26 Commits

Author SHA1 Message Date
Elias Yishak
48187028c1
Add commandHasTerminal parameter + apple usage event + sendException events for package:unified_analytics (#138806)
Relates to tracker issue:
- https://github.com/flutter/flutter/issues/128251

This PR includes 3 major updates:
- Adding the `commandHasTerminal` parameter for `Event.flutterCommandResult`
  - In `packages/flutter_tools/lib/src/runner/flutter_command.dart`
- Adding the new event for `sendException` from package:usage to be `Event.exception` (this event can be used by all dash tools)
  - In `packages/flutter_tools/lib/runner.dart`
- Migrating the generic `UsageEvent` which was only used for Apple related workflows for iOS and macOS. I did an initial analysis in this [sheet](https://docs.google.com/spreadsheets/d/11KJLkHXFpECMX7tw-trNkYSr5MHDG15XNGv6TgLjfQs/edit?resourcekey=0-j4qdvsOEEg3wQW79YlY1-g#gid=0) to identify all the call sites
  - Found in several files, highlighted in the sheet above
2023-11-22 12:25:10 +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
Victoria Ashworth
25e98b54d7
Fix duplicate devices from xcdevice with iOS 17 (#128802)
This PR fixes issue of duplicate entries from `xcdevice list` cause devices to not show in `flutter devices`, `flutter run`, etc.

When a duplicate entry is found, use the entry without errors as the authority. If both have errors, use the one with the higher SDK as the authority.

Fixes https://github.com/flutter/flutter/issues/128719.
2023-06-20 18:16:27 +00:00
LouiseHsu
e345a830ba
Show warning when attempting to flutter run on an ios device with developer mode turned off (#125710)
This PR adds a warning when a user attempt to `flutter run -d <device id>` on a device without developer mode enabled.
<img width="738" alt="Screenshot 2023-05-09 at 3 53 18 AM" src="https://github.com/flutter/flutter/assets/36148254/6f473a6a-5a0d-438b-9e6f-06d09eb1f3a9">

Also handles multiple partial matches.
<img width="788" alt="Screenshot 2023-05-09 at 3 52 24 AM" src="https://github.com/flutter/flutter/assets/36148254/60c82b3c-d501-4a01-95ad-d6309fe39576">

Fixes https://github.com/flutter/flutter/issues/111988
2023-05-22 22:06:15 +00:00
Kevin Moore
f9d455134a
tool: replace top-level functions with enum properties (#126167) 2023-05-05 19:10:07 +00:00
Victoria Ashworth
34d2c8d030
Better support for wireless devices in IDEs (#123716)
Better support for wireless devices in IDEs
2023-04-04 20:39:38 +00:00
Victoria Ashworth
fa01649a59
Update device selection to wait for wireless devices to load (#122932)
Update device selection to wait for wireless devices to load
2023-03-29 17:58:07 +00:00
Victoria Ashworth
27248d4b64
Separate attached and wireless devices (#122615)
Separate attached and wireless devices
2023-03-15 16:35:05 +00:00
Victoria Ashworth
a07e8a6ac4
[reland] Support wireless debugging (#118895)
* Reland "Support iOS wireless debugging (#118104)"

This reverts commit cbf2e16892.

* Remove device loading status
2023-01-20 19:02:37 +00:00
Jenn Magder
cbf2e16892
Revert "Support iOS wireless debugging (#118104)" (#118826)
This reverts commit 5cd2d4c61e.
2023-01-19 12:31:53 -08:00
Victoria Ashworth
5cd2d4c61e
Support iOS wireless debugging (#118104)
* setup wireless debugging to use device IP

* fix tests

* fix unused var and missing annotation

* remove unneeded try catch

* remove commented out line, change null to package id

* better way to get package id

* update mDNS lookup to continously check for server, add messaging if takes too long to find observatory url, update flutter drive to enable publish-port if using network device

* Refactor mDNS Discovery to poll for observatories and better handle multiple instances of the same app. Update drive command to make publish-port more stable. Update attach for iOS to only use Protocol Discovery if applicable, run mDNS and Protocol Discovery simultaneously, handle --debug-port/--debug-url/--device-vmservice-port, continously poll for obseravtories with mDNS, include port in error message when mutliple available

* add and update comments, use logger spinner intead of timer in flutter attach, other small improvements

* add newline to message so next log won't be on same line

* fix install/waiting for permission status progress so it doens't double print the time it took.

* only print backtrace if observatory times out on a physical usb connected device

* fix test

* Update related references from Observatory to Dart VM Service

* fix test
2023-01-19 20:00:21 +00:00
Jenn Magder
aba0c4e6f6
Do not show diagnostic warning for disconnected iOS devices (#105971) 2022-06-18 01:52:07 +00:00
Jenn Magder
c6ced845e3
Remove custom unawaited, prefer dart:async version (#103212) 2022-05-07 08:49:04 -07:00
Alexandre Ardhuin
07f1c20474
add missing trailing commas in list/set/map literals (#102585) 2022-04-27 09:15:35 +02:00
Tomasz Gucio
e4351ff053
Enable use_if_null_to_convert_nulls_to_bools lint (#98753) 2022-02-22 14:39:20 -08:00
Greg Spencer
52ae102f18
Adds tool warning log level and command line options to fail on warning/error output (#92031) 2021-11-10 16:13:04 -08:00
Jenn Magder
9e88fe328e
Remove globals_null_migrated.dart, move into globals.dart (#92861) 2021-11-01 17:18:03 -07:00
Jenn Magder
8474f41e90
Migrate xcdevice and ios devices to null safety (#92056) 2021-10-19 12:23:03 -07:00
Jenn Magder
a82c50f1f6
Revert "Migrate xcdevice and ios devices to null safety (#91704)" (#91912)
This reverts commit 0065873670.
2021-10-15 09:48:08 -07:00
Jenn Magder
0065873670
Migrate xcdevice and ios devices to null safety (#91704) 2021-10-14 22:28:02 -07:00
Jenn Magder
8930e9b892
Catch FormatException parsing XCDevice._getAllDevices (#90967) 2021-10-08 13:08:04 -07:00
Jenn Magder
57efbd5310
Rename IOSDeviceInterface to IOSDeviceConnectionInterface (#88144) 2021-08-16 10:27:03 -07:00
Balvinder Singh Gambhir
604c59e522
adds build number of ios device in flutter devices command (#84512) 2021-06-23 11:31:03 -07:00
Greg Spencer
88f3811055
Turn on avoid_dynamic_calls lint, except packages/flutter tests, make appropriate changes. (#84476)
This adds avoid_dynamic_calls to the list of lints, and fixes all instances where it was violated.

Importantly, this lint is NOT turned on for flutter/packages/test, because those changes are happening in another PR: #84478
2021-06-14 14:16:57 -07:00
Jenn Magder
72976f552c
Migrate xcodeproj to null safety (#80549) 2021-04-16 17:22:46 -07:00
Jenn Magder
ddc1c296a1
Pull XCDevice out of xcode.dart (#80324) 2021-04-13 18:10:21 -07:00