- 17 Jul, 2023 1 commit
-
-
LongCatIsLooong authored
Deprecate `textScaleFactor` in favor of `textScaler`, in preparation for Android 14 [Non-linear font scaling to 200%](https://developer.android.com/about/versions/14/features#non-linear-font-scaling). The `TextScaler` class can be moved to `dart:ui` in the future, if we decide to use the Android platform API or AndroidX to get the scaling curve instead of hard coding the curve in the framework. I haven't put the Flutter version in the deprecation message so the analyzer checks are failing. Will do so after I finish the migration guide. **Why `TextScaler.textScaleFactor`** The author of a `TextScaler` subclass should provide a fallback `textScaleFactor`. By making `TextScaler` also contain the `textScaleFactor` information it also makes it easier to migrate: if a widget overrides `MediaQueryData.textScaler` in the tree, for unmigrated widgets in the subtree it would also have to override `MediaQueryData.textScaleFactor`, and that makes it difficult to remove `MediaQueryData.textScaleFactor` in the future. ## A full list of affected APIs in this PR Deprecated: The method/getter/setter/argument is annotated with a `@Deprecated()` annotation in this PR, and the caller should replace it with `textScaler` instead. Unless otherwise specified there will be a Flutter fix available to help with migration but it's still recommended to migrate case-by-case. **Replaced**: The method this `textScaleFactor` argument belongs to is rarely called directly by user code and is not overridden by any of the registered custom tests, so the argument is directly replaced by `TextScaler`. **To Be Deprecated**: The method/getter/setter/argument can't be deprecated in this PR because a registered customer test depends on it and a Flutter fix isn't available (or the test was run without applying flutter fixes first). This method/getter/setter/argument will be deprecated in a followup PR once the registered test is migrated. ### `Painting` Library | Affected API | State of `textScaleFactor` | Comment | | --- | --- | --- | | `InlineSpan.build({ double textScaleFactor = 1.0 })` argument | **Replaced** | | | `TextStyle.getParagraphStyle({ double TextScaleFactor = 1.0 })` argument | **Replaced** | | | `TextStyle.getTextStyle({ double TextScaleFactor = 1.0 })` argument| Deprecated | Can't replace: https://github.com/superlistapp/super_editor/blob/c47fd38dca4b7f43611690913b551a1773c563d7/super_editor/lib/src/infrastructure/super_textfield/desktop/desktop_textfield.dart#L1903-L1905| | `TextPainter({ double TextScaleFactor = 1.0 })` constructor argument | Deprecated | | | `TextPainter.textScaleFactor` getter and setter | Deprecated | No Flutter Fix, not expressible yet | | `TextPainter.computeWidth({ double TextScaleFactor = 1.0 })` argument | Deprecated | | | `TextPainter.computeMaxIntrinsicWidth({ double TextScaleFactor = 1.0 })` argument | Deprecated | | ### `Rendering` Library | Affected API | State of `textScaleFactor` | Comment | | --- | --- | --- | | `RenderEditable({ double TextScaleFactor = 1.0 })` constructor argument | Deprecated | | | `RenderEditable.textScaleFactor` getter and setter | Deprecated | No Flutter Fix, not expressible yet | | `RenderParagraph({ double TextScaleFactor = 1.0 })` constructor argument | Deprecated | | | `RenderParagraph.textScaleFactor` getter and setter | Deprecated | No Flutter Fix, not expressible yet | ### `Widgets` Library | Affected API | State of `textScaleFactor` | Comment | | --- | --- | --- | | `MediaQueryData({ double TextScaleFactor = 1.0 })` constructor argument | **To Be Deprecated** | https://github.com/flutter/packages/blob/cd7b93532e5cb605a42735e20f1de70fc00adae7/packages/flutter_markdown/test/text_scale_factor_test.dart#LL39C21-L39C35 | | `MediaQueryData.textScaleFactor` getter | Deprecated | | | `MediaQueryData.copyWith({ double? TextScaleFactor })` argument | Deprecated | | | `MediaQuery.maybeTextScaleFactorOf(BuildContext context)` static method | Deprecated | No Flutter Fix, not expressible yet | | `MediaQuery.textScaleFactorOf(BuildContext context)` static method | **To Be Deprecated** | https://github.com/flutter/packages/blob/cd7b93532e5cb605a42735e20f1de70fc00adae7/packages/flutter_markdown/lib/src/_functions_io.dart#L68-L70, No Flutter Fix, not expressible yet | | `RichText({ double TextScaleFactor = 1.0 })` constructor argument | **To Be Deprecated** | https://github.com/flutter/packages/blob/cd7b93532e5cb605a42735e20f1de70fc00adae7/packages/flutter_markdown/lib/src/builder.dart#L829-L843 | | `RichText.textScaleFactor` getter | **To Be Deprecated** | A constructor argument can't be deprecated right away| | `Text({ double? TextScaleFactor = 1.0 })` constructor argument | **To Be Deprecated** | https://github.com/flutter/packages/blob/914d120da12fba458c020210727831c31bd71041/packages/rfw/lib/src/flutter/core_widgets.dart#L647 , No Flutter Fix because of https://github.com/dart-lang/sdk/issues/52664 | | `Text.rich({ double? TextScaleFactor = 1.0 })` constructor argument | **To Be Deprecated** | The default constructor has an argument that can't be deprecated right away. No Flutter Fix because of https://github.com/dart-lang/sdk/issues/52664 | | `Text.textScaleFactor` getter | **To Be Deprecated** | A constructor argument can't be deprecated right away | | `EditableText({ double? TextScaleFactor = 1.0 })` constructor argument | Deprecated | No Flutter Fix because of https://github.com/dart-lang/sdk/issues/52664 | | `EditableText.textScaleFactor` getter | Deprecated | | ### `Material` Library | Affected API | State of `textScaleFactor` | Comment | | --- | --- | --- | | `SelectableText({ double? TextScaleFactor = 1.0 })` constructor argument | **To Be Deprecated** | https://github.com/flutter/packages/blob/cd7b93532e5cb605a42735e20f1de70fc00adae7/packages/flutter_markdown/lib/src/builder.dart#L829-L843, No Flutter Fix because of https://github.com/dart-lang/sdk/issues/52664 | | `SelectableText.rich({ double? TextScaleFactor = 1.0 })` constructor argument | **To Be Deprecated** | The default constructor has an argument that can't be deprecated right away. No Flutter Fix because of https://github.com/dart-lang/sdk/issues/52664 | | `SelectableText.textScaleFactor` getter | **To Be Deprecated** | A constructor argument can't be deprecated right away | A lot of material widgets (`Slider`, `RangeSlider`, `TimePicker`, and different types of buttons) also change their layout based on `textScaleFactor`. These need to be handled in a case-by-case fashion and will be migrated in follow-up PRs.
-
- 26 May, 2023 1 commit
-
-
LongCatIsLooong authored
To opt-in, run the tests with: `SKPARAGRAPH_REMOVE_ROUNDING_HACK=1 flutter test --dart-define=SKPARAGRAPH_REMOVE_ROUNDING_HACK=1 ` Migration plans: 1. Turn the flags on in CI, migrate customer tests if needed 1. Migrate internal customers 2. Remove the flag from skparagraph. Remove the framework flag with a manual engine roll. Also fixes https://github.com/flutter/flutter/issues/52038
-
- 23 Feb, 2023 2 commits
-
-
Hans Muller authored
-
Lioness100 authored
* Fix typos * lowercase animated & opacity * Undo typo fix --------- Co-authored-by:
Michael Goderbauer <goderbauer@google.com>
-
- 21 Jan, 2023 1 commit
-
-
Michael Goderbauer authored
-
- 13 Jan, 2023 1 commit
-
-
Dennis Kugelmann authored
* Add test to check that package prefix of font fallback is not duplicated * Fix duplicate package prefix of font family fallback * Add test to check that package prefix of font fallback is not duplicated * Fix duplicate package prefix of font family fallback
-
- 03 Dec, 2022 1 commit
-
-
Todd Volkert authored
(and remove one video that was listed twice with the same widget)
-
- 07 Oct, 2022 1 commit
-
-
LongCatIsLooong authored
-
- 12 Sep, 2022 1 commit
-
-
Greg Spencer authored
-
- 07 Sep, 2022 1 commit
-
-
Jason Simmons authored
-
- 02 Sep, 2022 1 commit
-
-
Pierre-Louis authored
-
- 10 Aug, 2022 1 commit
-
-
Ian Hickson authored
-
- 18 Jul, 2022 1 commit
-
-
Alexandre Ardhuin authored
-
- 06 Jul, 2022 2 commits
-
-
LongCatIsLooong authored
-
Goddchen authored
-
- 06 Jun, 2022 1 commit
-
-
Nils Reichardt authored
-
- 25 May, 2022 1 commit
-
-
Pierre-Louis authored
Use `curly_braces_in_flow_control_structures` for `foundation`, `gestures`, `painting`, `physics` (#104610) * Use `curly_braces_in_flow_control_structures` for `foundation` * Use `curly_braces_in_flow_control_structures` for `gestures` * Use `curly_braces_in_flow_control_structures` for `painting` * Use `curly_braces_in_flow_control_structures` for `physics` * fix comments * remove trailing space * fix TODO style
-
- 18 May, 2022 1 commit
-
-
gaaclarke authored
-
- 06 May, 2022 1 commit
-
-
Nils Reichardt authored
-
- 05 May, 2022 1 commit
-
-
Nils Reichardt authored
-
- 12 Apr, 2022 1 commit
-
-
Jason Simmons authored
-
- 01 Mar, 2022 1 commit
-
-
Viren Khatri authored
* migrates lib/foundation and lib/widgets * migrates lib/painting and lib/material * migrates lib/cupertino, lib/gestures, lib/services, lib/semantics and lib/rendering * fixes failing tests * migrates test/ * improves hashing of lists
-
- 04 Dec, 2021 1 commit
-
-
Ian Hickson authored
-
- 29 Sep, 2021 1 commit
-
-
Hans Muller authored
-
- 01 Jun, 2021 1 commit
-
-
omchiii authored
-
- 28 Apr, 2021 1 commit
-
-
Alexandre Ardhuin authored
-
- 14 Apr, 2021 1 commit
-
-
Pedro Massango authored
-
- 31 Mar, 2021 1 commit
-
-
LongCatIsLooong authored
-
- 12 Mar, 2021 1 commit
-
-
Greg Spencer authored
Update samples to use repo analysis options, Fix sample templates and a ton of analyzer issues (#77868)
-
- 09 Mar, 2021 1 commit
-
-
LongCatIsLooong authored
-
- 05 Mar, 2021 1 commit
-
-
Bharat Biradar authored
-
- 20 Jan, 2021 1 commit
-
-
Ian Hickson authored
Update the alt text to match recommendations in https://html.spec.whatwg.org/multipage/images.html#alt (#74089)
-
- 23 Dec, 2020 1 commit
-
-
Kate Lovett authored
-
- 11 Dec, 2020 1 commit
-
-
Michael Goderbauer authored
-
- 23 Sep, 2020 1 commit
-
-
Gary Qian authored
-
- 28 Aug, 2020 1 commit
-
-
Paul Berry authored
-
- 20 Aug, 2020 1 commit
-
-
Paul Berry authored
-
- 14 Aug, 2020 2 commits
-
-
Paul Berry authored
Now that https://github.com/dart-lang/sdk/issues/41985 is fixed, the analyzer detects dead code due to "unnecessary" null checks. Since we want to retain null checks in Flutter even when they appear unnecessary (in order to preserve runtime behavior in weak mode), we need to suppress these dead code hints. Note that one assertion is removed by this PR (`heightFactor != null || (heightFactor == 1.0 && heightDelta == 0.0)`). This is because `heightFactor == 1.0 && heightDelta == 0.0` can only be true if `heightFactor != null`, so this assertion is equivalent to simply asserting that `heightFactor != null`, which is already asserted two lines above.
-
Alexandre Ardhuin authored
* migrate painting to nullsafety * address review comments
-
- 11 Aug, 2020 1 commit
-
-
Filip Hracek authored
-