- 15 Dec, 2023 2 commits
-
-
Polina Cherkasova authored
Contributes to https://github.com/flutter/flutter/issues/135856
-
Mitchell Goodwin authored
Fixes #123107 Adds a customizable semantic label so that the clear button on the Cupertino text field will be picked up by screen readers. https://github.com/flutter/flutter/assets/58190796/de31d9dd-923c-402f-a55b-e5cc77ea68bb
-
- 14 Dec, 2023 9 commits
-
-
lsaudon authored
Add onTapAlwaysCalled in TextFormField *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].*
-
yim authored
This PR fixes reorderable_list drop animation. Fixes #138994
-
Shashi authored
This PR wraps the `label` with `IntrinsicWidth` and then `Flexible` which allows DefaulTextStyle `TextOverflow.ellipsis` to work. Wrapping `label` directly with `Flexible` brings more space between `icon` and `label`. `IntrinsicWidth` fixes this by giving reasonable width. Fixes #112163
-
Lau Ching Jun authored
Reverts flutter/flutter#138648 This caused the app to be stuck in the splash screen on certain phone models. Context: b/316244317
-
Akito Nishiyama authored
## Overview Fixed the implementation of CupertionActionSheet based on [Apple Design Resource](https://www.figma.com/community/file/1248375255495415511). I also deleted devicePixelRatio because Flutter uses logical pixels based on https://api.flutter.dev/flutter/dart-ui/FlutterView/devicePixelRatio.html. ISSUE: #134539 UPDATED GOLDEN: https://flutter-gold.skia.org/search?issue=134345&crs=github&patchsets=3&corpus=flutter ### Before <img src="https://github.com/flutter/flutter/assets/40790076/8492fe5f-582f-4623-86eb-c60cb88d81a1" width=300> ### After <img src="https://github.com/flutter/flutter/assets/40790076/fcdd7f7e-6ab5-4b68-a7b0-27a6fc2975b8" width=300>
-
LongCatIsLooong authored
I did not include the `'// flutter_ignore_for_file: stopwatch (see analyze.dart)'` directive since it's currently not used, and adding that shouldn't be too difficult.
-
Michael Goderbauer authored
Fixes https://github.com/flutter/flutter/issues/137875. Unfortunately, we cannot auto-detect which OverlayEntry should be sizing the Overlay in unconstrained environment. So, this PR adds a special flag to annotate the Overlay Entry that should be used.
-
Renzo Olivares authored
Part of: https://github.com/flutter/flutter/issues/139243
-
hgraceb authored
## Description Similar to #119877, but with more cases that I could find in `packages/flutter`. Although there is already a [proposal](https://github.com/dart-lang/linter/issues/4102), it is uncertain how long it will take to be implemented. ![[image-20200711205959042](https://user-images.githubusercontent.com/72788825/216486897-b56453d2-b309-47ea-885b-b0ec6ed1b648.png)](https://user-images.githubusercontent.com/72788825/216486897-b56453d2-b309-47ea-885b-b0ec6ed1b648.png)
-
- 13 Dec, 2023 3 commits
-
-
Mitchell Goodwin authored
Fixes #128555. Changes the back icon for the Material app bar when running on Apple devices from `arrow_back_ios` to `arrow_back_ios_new_rounded`, as the old version of the icon wasn't centered (https://github.com/google/material-design-icons/issues/824) and the native back icon, as well as the one in Cupertino, are rounded. | Before | After | | ------------- | ------------- | | <img width="295" alt="Screenshot 2023-09-14 at 11 24 10 AM" src="https://github.com/flutter/flutter/assets/58190796/242e5fae-1107-4e1d-9749-a988462e7767"> | <img width="285" alt="Screenshot 2023-09-14 at 11 23 50 AM" src="https://github.com/flutter/flutter/assets/58190796/4df1ecaa-4313-4eb3-9cf3-335a777e133f"> | New icon works as expected with RTL: <img width="283" alt="Screenshot 2023-09-14 at 10 57 34 AM" src="https://github.com/flutter/flutter/assets/58190796/ae92fb35-40fd-4ee0-be60-cd452f16b2e3">
-
auto-submit[bot] authored
Reverts "Make tests more resilient to Skia gold failures and refactor flutter_goldens for extensive technical debt removal" (#140085) Reverts flutter/flutter#139549 Initiated by: Piinks This change reverts the following previous change: Original Description: * Remove all use of global variables. * Always pass in all dependencies, only create them in main or in tests. * Pass in the "print" primitive. * Make all network traffic retry (except when run locally, when it just auto-passes). * Enable tests to be run in random order.
-
Ian Hickson authored
Make tests more resilient to Skia gold failures and refactor flutter_goldens for extensive technical debt removal (#139549) * Remove all use of global variables. * Always pass in all dependencies, only create them in main or in tests. * Pass in the "print" primitive. * Make all network traffic retry (except when run locally, when it just auto-passes). * Enable tests to be run in random order.
-
- 12 Dec, 2023 2 commits
-
-
Tirth authored
Added missing reference to `CupertinoApp.showSemanticsDebugger`. Fixes #139897
-
Greg Spencer authored
## Description This fixes the handling of `dayPeriodColor` on the `TimePicker` so that if it's a non-`MaterialStateColor`, it only applies the color to the selected state, but otherwise uses the given `MaterialStateColor` to get custom behavior. ## Related Issues - Fixes https://github.com/flutter/flutter/issues/139445 ## Tests - Added tests for both non-`MaterialStateColor` and `MaterialStateColor` cases.
-
- 11 Dec, 2023 9 commits
-
-
Tim Maffett authored
The doc comment for `useInheritedMediaQuery` has a typo of 'not' instead of 'now' and it is confusing at the `@Deprecated()` message clearly states it is *now* ignored. (and indeed checking the code you can verify that it *is* indeed ignored) existing code before PR: ```dart /// {@template flutter.widgets.widgetsApp.useInheritedMediaQuery} /// Deprecated. This setting is not ignored. /// ^^^ /// The widget never introduces its own [MediaQuery]; the [View] widget takes /// care of that. /// {@endtemplate} @Deprecated( 'This setting is now ignored. ' 'WidgetsApp never introduces its own MediaQuery; the View widget takes care of that. ' 'This feature was deprecated after v3.7.0-29.0.pre.' ) final bool useInheritedMediaQuery; ``` - [X ] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
-
Nate authored
Thanks so much for approving the previous PR (#139048) a couple weeks ago! This one is the same, except it's covering files in `examples/` and `packages/flutter/lib/src/animation/`. (solving issue #136139)
-
Greg Spencer authored
## Description This starts the deprecation of the `RawKeyEvent`/`RawKeyboard` event system that has been replaced by the `KeyEvent`/`HardwareKeyboard` event system. Migration guide is available here: https://docs.flutter.dev/release/breaking-changes/key-event-migration ## Related Issues - https://github.com/flutter/flutter/issues/136419 ## Related PRs - https://github.com/flutter/website/pull/9889
-
Renzo Olivares authored
This change fixes issues with screen order comparison logic when rects are encompassed within each other. This was causing issues when trying to select text that includes inline `WidgetSpan`s inside of a `SelectionArea`. * Adds `boundingBoxes` to `Selectable` for a more precise hit testing region. Fixes #132821 Fixes updating selection edge by word boundary when widget spans are involved. Fixes crash when sending select word selection event to an unselectable element.
-
LongCatIsLooong authored
Extacted from #130101, dropped the `@_debugAssert` stuff from that PR so it's easier to review.
-
hangyu authored
Fix #137033 This happens when go_router updates the navigator pages during a user gesture. ## Pre-launch Checklist - [ ] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [ ] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [ ] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [ ] I signed the [CLA]. - [ ] I listed at least one issue that this PR fixes in the description above. - [ ] 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]. - [ ] 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/wiki/Tree-hygiene#overview [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene [test-exempt]: https://github.com/flutter/flutter/wiki/Tree-hygiene#tests [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [Features we expect every widget to implement]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#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/wiki/Tree-hygiene#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/wiki/Chat --------- Co-authored-by: chunhtai <47866232+chunhtai@users.noreply.github.com>
-
Bartek Pacia authored
This PR adds `String? identifier` to `Semantics` and `SemanticsProperties`. The `identifier` will be exposed on Android as `resource-id` and on iOS as `accessibilityIdentifier`. Mainly targeted at #17988 Initial Engine PR with Android support: https://github.com/flutter/engine/pull/47961 iOS Engine PR: https://github.com/flutter/engine/pull/48858 ### Migration This change breaks the SemanticsUpdateBuilder API which is on the Framework<-->Engine border. For more details see [engine PR](https://github.com/flutter/engine/pull/47961). Steps: part 1: [engine] add `SemanticsUpdateBuilderNew` https://github.com/flutter/engine/pull/47961 **part 2: [flutter] use `SemanticsUpdateBuilderNew`** <-- we are here part 3: [engine] update `SemanticsUpdateBuilder` to be the same as `SemanticsUpdateBuilderNew`* part 4: [flutter] use (now updated) `SemanticsUpdateBuilder` again. part 5: [engine] remove `SemanticsBuilderNew`
-
hgraceb authored
The previous test for #128137 does not effectively regress and verify #123313 because the issue is specific to desktop platforms.
-
Mateus Felipe C. C. Pinto authored
Adds an `enabled` property to `ExpansionTile` that allows the user to disable the internal `ListTile`, so that we can prevent user interaction. Fixes #135770.
-
- 08 Dec, 2023 3 commits
-
-
Michael Goderbauer authored
Towards https://github.com/flutter/flutter/issues/137875. The convenient `Overlay.wrap` function makes it easy to wrap a child with an Overlay so other visual elements can float on top of the child. This is useful if you want to get things like text selection working (i.e. with a SelectionArea) without using a Navigator.
-
Bruno Leroux authored
## Description This PR adds the 'Share' button to the text selection toolbar on Android. ## Related Issue Fixes https://github.com/flutter/flutter/issues/138728 ## Tests Refactor a lot of existing tests in order to: - make them more readable (avoid duplication by introducing helper functions, specify explictly check which buttons are expected). - make them more accurate (check that expected buttons are visible instead of just checking the number of buttons). For instance, previous tests contained sections such as: ```dart // Collapsed toolbar shows 3 buttons. expect( find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : isTargetPlatformIOS ? findsNWidgets(6) : findsNWidgets(3) ); ``` Where the comment is obsolete, the two cases (6 widgets and 3 widgets) are not explicit (which buttons are expected?), and not accurate (will pass if the number of buttons is right but the buttons are the wrong ones).
-
Ian Hickson authored
Fixes https://github.com/flutter/flutter/issues/105120 I also exposed the relevant dart:ui types which had the effect of removing a large number of dart:ui imports from examples.
-
- 07 Dec, 2023 8 commits
-
-
Kostia Sokolovskyi authored
-
Jasper van Riet authored
This PR introduces a new property `exitDuration` to Tooltip, the counterpart to `waitDuration`. The need for this is shown by #136586. This changes the behaviour of `showDuration` on mouse pointer devices. This is because the use cases for the current behaviour on touch screen devices vs mouse pointer devices is fundamentally different. <details> <summary>Demo: tooltip with showDuration set</summary> Tooltip disappears after 100 ms when moving away the mouse. Tooltip will not disappear when hovered. https://github.com/flutter/flutter/assets/5138348/81d36dc9-78e0-4723-a84b-2552843ee181 </details> Currently, when `showDuration` is set, this adjusts the time it takes for the tooltip to hide _after_ a mouse pointer has left the tooltip. This is not the same use case as its effect on touch screen devices, where it dictates how long the tooltip stays on screen after a long press. That is needed because the tooltip takes up screen space and there is not an intuitive way to hide it, whereas when using a mouse users expect to simply have to hover somewhere else. Having the tooltip stay around will look broken. Thus, this PR splits the two use cases. `showDuration` no longer affects mouse pointer devices at all*. There is a precedent for such mouse pointer-only behaviour in `waitDuration`. Instead, I have split up the two use cases and created the new property `exitDuration`, which will still allow for tweaking the time it takes for the tooltip to hide after the user has moved their mouse pointer somewhere else. *Note: Should `showDuration` affect [this line](https://github.com/flutter/flutter/blob/e33d4b86270e3c012ba13d68d6e90f2eabc4912b/packages/flutter/lib/src/material/tooltip.dart#L610)? Fixes #136586. Note: I noticed that when I made the change, no tests were broken. Hopefully, the tests added here help that in the future. I also noticed that in the _existing_ tests, the `waitDuration` tests contain assertions that implicate that it is the role of `waitDuration` to change this behaviour, but that's not currently (nor in the new behaviour) true, so I have fixed those tests.
-
Kostia Sokolovskyi authored
-
Kostia Sokolovskyi authored
-
Kostia Sokolovskyi authored
-
hangyu authored
fixes:https://github.com/flutter/flutter/issues/138105 ## Pre-launch Checklist - [ ] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [ ] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [ ] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [ ] I signed the [CLA]. - [ ] I listed at least one issue that this PR fixes in the description above. - [ ] 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]. - [ ] 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/wiki/Tree-hygiene#overview [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene [test-exempt]: https://github.com/flutter/flutter/wiki/Tree-hygiene#tests [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [Features we expect every widget to implement]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#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/wiki/Tree-hygiene#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/wiki/Chat --------- Co-authored-by: Qun Cheng <36861262+QuncCccccc@users.noreply.github.com>
-
Kate Lovett authored
This deprecation period is being renewed after we found it affected many IDE plugins that had not yet migrated, but did not receive a warning during the deprecation period. We also expected to have a migration guide since the migration is not always to simply rename to addPubRootDirectories. This will give another 1+ year for the migration to be completed. Part of https://github.com/flutter/flutter/issues/139243 Will update announcement at flutter-announce to reflect this API will remain for a while longer.
-
Qun Cheng authored
Fixes #139409 `SubmenuButton.onFocusChange` is not implemented. This PR is just add one line fix to assign this property to `TextButton.onFocusChange` which is used in `SubmenuButton`:)
-
- 06 Dec, 2023 4 commits
-
-
Qun Cheng authored
Remove deprecated parameters from `ElevatedButton.styleFrom()`, `OutlinedButton.styleFrom()`, and `TextButton.styleFrom()` (#139267)
-
Ian Hickson authored
test-exempt: rolling dependencies
-
Taha Tesser authored
fixes [Expose animation parameters for the [ExpansionTile] widget](https://github.com/flutter/flutter/issues/138047) ### Description Add `AnimationStyle` to the `ExpansionTile` widget to override the default expand and close animation. Syntax: ```dart child: ExpansionTile( title: const Text('Tap to expand'), expansionAnimationStyle: AnimationStyle( duration: Durations.extralong1, curve: Easing.emphasizedAccelerate, ), children: const <Widget>[FlutterLogo(size: 200)], ), ``` ### Code sample <details> <summary>expand to view the code sample</summary> ```dart // Copyright 2014 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'package:flutter/material.dart'; /// Flutter code sample for [ExpansionTile] and [AnimationStyle]. void main() { runApp(const ExpansionTileAnimationStyleApp()); } enum AnimationStyles { defaultStyle, custom, none } const List<(AnimationStyles, String)> animationStyleSegments = <(AnimationStyles, String)>[ (AnimationStyles.defaultStyle, 'Default'), (AnimationStyles.custom, 'Custom'), (AnimationStyles.none, 'None'), ]; class ExpansionTileAnimationStyleApp extends StatefulWidget { const ExpansionTileAnimationStyleApp({super.key}); @override State<ExpansionTileAnimationStyleApp> createState() => _ExpansionTileAnimationStyleAppState(); } class _ExpansionTileAnimationStyleAppState extends State<ExpansionTileAnimationStyleApp> { Set<AnimationStyles> _animationStyleSelection = <AnimationStyles>{AnimationStyles.defaultStyle}; AnimationStyle? _animationStyle; @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: SafeArea( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ SegmentedButton<AnimationStyles>( selected: _animationStyleSelection, onSelectionChanged: (Set<AnimationStyles> styles) { setState(() { _animationStyleSelection = styles; switch (styles.first) { case AnimationStyles.defaultStyle: _animationStyle = null; case AnimationStyles.custom: _animationStyle = AnimationStyle( curve: Easing.emphasizedAccelerate, duration: Durations.extralong1, ); case AnimationStyles.none: _animationStyle = AnimationStyle.noAnimation; } }); }, segments: animationStyleSegments .map<ButtonSegment<AnimationStyles>>(((AnimationStyles, String) shirt) { return ButtonSegment<AnimationStyles>(value: shirt.$1, label: Text(shirt.$2)); }) .toList(), ), const SizedBox(height: 20), ExpansionTile( expansionAnimationStyle: _animationStyle, title: const Text('ExpansionTile'), children: const <Widget>[ ListTile(title: Text('Expanded Item 1')), ListTile(title: Text('Expanded Item 2')), ], ) ], ), ), ), ); } } ``` </details> Related to https://github.com/flutter/flutter/pull/138721.
-
Taha Tesser authored
Updated unit tests for `Tooltip` to have M2 and M3 versions. More info in #139076
-