[all] Omit obvious local types (#10511)
Makes the analysis options changes described in
https://github.com/flutter/flutter/issues/178827:
- Adding
[omit_obvious_local_variable_types](https://dart.dev/tools/linter-rules/omit_obvious_local_variable_types)
- Adding
[specify_nonobvious_local_variable_types](https://dart.dev/tools/linter-rules/specify_nonobvious_local_variable_types)
- Adding
[specify_nonobvious_property_types](https://dart.dev/tools/linter-rules/specify_nonobvious_property_types)
- Adding
[type_annotate_public_apis](https://dart.dev/tools/linter-rules/type_annotate_public_apis)
- Removing
[always_specify_types](https://dart.dev/tools/linter-rules/always_specify_types)
After those changes, makes the following repo-wide changes:
- dart fix --apply in all packages and in script/tool/
- dart format in all packages and in script/tool/
- update-excerpts repo tooling command to update excerpts based on the
changes to their sources
Also updates the min Flutter/Dart SDK version to 3.35/3.9 for the
following packages, to avoid analyze failures in the N-2 legacy
analysis run due to what appears to be a 3.9 change in what the Dart
analyzer continues to be an obvious local type in loop iterations:
- go_router
- google_fonts
- google_identity_services_web
- google_maps_flutter_web
- local_auth_platform_interface
- metrics_center
- multicast_dns
- pigeon
- rfw
- shared_preferences
- two_dimensional_scrollables
- vector_graphics_compiler
- mustache_template
- path_parsing
Because this is causing a significant amount of format churn already, I
took this opportunity to update the repository tooling to a min Dart SDK
of 3.8 (the N-2 stable version, so the earliest version we need the
tooling to support) to pick up the new format style, so the amount of
automated formatter change is higher in script/tool/ than in the
packages.
This does contain two manual changes (other than the repo tooling min
version):
-
https://github.com/flutter/packages/commit/d700b45c7df3a79f66dc119ad36dd2bc1e042acf
changes dynamic to Object? in a few places where dynamic caused
analyzer warnings under the new rule set.
- Updates the repo tooling to ignore .dart_tool/ when looking for
unexpected local analysis_options.yaml files, to fix issues running
the repo tool's analyze command locally based on recent changes in
dart behavior.
This does not include any CHANGELOG or version updates; even though we
normally version any changes to production code, mass automated changes
like this aren't worth the churn of releasing. This includes changes to
lib/example/main.dart and to README.md excerpts; while the style changes
will be user-visible on pub.dev, it's fine for those changes to wait for
the next release of each package.
Part of https://github.com/flutter/flutter/issues/178827
[camera_avfoundation] Wrappers swift migration - part 4 (#10440)
Migrates camera wrappers as part of https://github.com/flutter/flutter/issues/119109
This PR migrates wrappers to Swift:
* FLTCaptureConnection
* FLTCaptureDeviceFormat
* FLTAssetWriter
In line with Swift conventions, the FLT prefixes are removed. The Default class implementations are replaced with protocol conformance on base AV classes.
## Pre-Review Checklist
**Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.
[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
[all] Omit obvious local types (#10511)
Makes the analysis options changes described in
https://github.com/flutter/flutter/issues/178827:
- Adding
[omit_obvious_local_variable_types](https://dart.dev/tools/linter-rules/omit_obvious_local_variable_types)
- Adding
[specify_nonobvious_local_variable_types](https://dart.dev/tools/linter-rules/specify_nonobvious_local_variable_types)
- Adding
[specify_nonobvious_property_types](https://dart.dev/tools/linter-rules/specify_nonobvious_property_types)
- Adding
[type_annotate_public_apis](https://dart.dev/tools/linter-rules/type_annotate_public_apis)
- Removing
[always_specify_types](https://dart.dev/tools/linter-rules/always_specify_types)
After those changes, makes the following repo-wide changes:
- dart fix --apply in all packages and in script/tool/
- dart format in all packages and in script/tool/
- update-excerpts repo tooling command to update excerpts based on the
changes to their sources
Also updates the min Flutter/Dart SDK version to 3.35/3.9 for the
following packages, to avoid analyze failures in the N-2 legacy
analysis run due to what appears to be a 3.9 change in what the Dart
analyzer continues to be an obvious local type in loop iterations:
- go_router
- google_fonts
- google_identity_services_web
- google_maps_flutter_web
- local_auth_platform_interface
- metrics_center
- multicast_dns
- pigeon
- rfw
- shared_preferences
- two_dimensional_scrollables
- vector_graphics_compiler
- mustache_template
- path_parsing
Because this is causing a significant amount of format churn already, I
took this opportunity to update the repository tooling to a min Dart SDK
of 3.8 (the N-2 stable version, so the earliest version we need the
tooling to support) to pick up the new format style, so the amount of
automated formatter change is higher in script/tool/ than in the
packages.
This does contain two manual changes (other than the repo tooling min
version):
-
https://github.com/flutter/packages/commit/d700b45c7df3a79f66dc119ad36dd2bc1e042acf
changes dynamic to Object? in a few places where dynamic caused
analyzer warnings under the new rule set.
- Updates the repo tooling to ignore .dart_tool/ when looking for
unexpected local analysis_options.yaml files, to fix issues running
the repo tool's analyze command locally based on recent changes in
dart behavior.
This does not include any CHANGELOG or version updates; even though we
normally version any changes to production code, mass automated changes
like this aren't worth the churn of releasing. This includes changes to
lib/example/main.dart and to README.md excerpts; while the style changes
will be user-visible on pub.dev, it's fine for those changes to wait for
the next release of each package.
Part of https://github.com/flutter/flutter/issues/178827
Remove "All right reserved" from all files (#10066)
Per guidance from legal on current preferred practice, remove "All rights reserved" from all LICENSE files and header blocks, and update the repo tool check accordingly.
[Camera] Add lens type information (iOS) (#7653)
This PR adds lens type information. The goal is to identify whether the lens type is wide, ultra-wide, telephoto, etc., as discussed in https://github.com/flutter/flutter/issues/119908. The iOS implementation is complete, so lens data will now be populated on iOS.
- Introduces a new CameraLensType enum to provide lens type information about the camera (e.g.: ultra-wide, telephoto, ...)
- Adds lensType in the PlatformCameraDescription and CameraDescription classes
- Implements utility functions to convert between PlatformCameraLensType and CameraLensType.
- Updates auto-generated code (using Pigeon) to reflect these changes.
**Current CameraDescription for iPhone 11**
```
[
CameraDescription(
com.apple.avfoundation.avcapturedevice.built-in_video:0,
CameraLensDirection.back,
90
),
CameraDescription(
com.apple.avfoundation.avcapturedevice.built-in_video:1,
CameraLensDirection.front,
90
),
CameraDescription(
com.apple.avfoundation.avcapturedevice.built-in_video:5,
CameraLensDirection.back,
90
)
]
```
**New CameraDescription for iPhone 11**
```
[
CameraDescription(
com.apple.avfoundation.avcapturedevice.built-in_video:0,
CameraLensDirection.back,
90,
CameraLensType.wide
),
CameraDescription(
com.apple.avfoundation.avcapturedevice.built-in_video:1,
CameraLensDirection.front,
90,
CameraLensType.wide
),
CameraDescription(
com.apple.avfoundation.avcapturedevice.built-in_video:5,
CameraLensDirection.back,
90,
CameraLensType.ultraWide
)
]
```
Fixes https://github.com/flutter/flutter/issues/174390