- 29 Apr, 2023 1 commit
-
-
Dan Field authored
We were failing to dispose of animation controllers created by `animateTo` when `didUpdateWidget` happens and we null out the `_attachedController`. This would cause the listener added here to fail on a null assertion: https://github.com/flutter/flutter/blob/fef41cfce0e3582907f6846cf2385470bb17ecd1/packages/flutter/lib/src/widgets/draggable_scrollable_sheet.dart#L135 Without the code change, the test ends up throwing exceptions related to that line. I don't have a great way to verify what this does visually though, hoping for help on that from internal customer. b/279930163 See cl/527868355 as well. Fixes https://github.com/flutter/flutter/issues/125709
-
- 28 Apr, 2023 5 commits
-
-
Tae Hyung Kim authored
This widget implements the ability to place slivers side by side in a single ScrollView so that they scroll together. The design document for `SliverCrossAxisGroup` can be found [here](https://docs.google.com/document/d/1e2bdLSYV_Dq2h8aHpF8mda67aOmZocPiMyjCcTTZhTg/edit?resourcekey=0-Xj2X2XA3CAFae22Sv3hAiA). Fixes #56756.
-
Bruno Leroux authored
## Description This PR adds a new channel to query the engine keyboard state. See https://github.com/flutter/flutter/issues/87391#issuecomment-1228975571 for motivation. ## Related Issue Framework side implementation for https://github.com/flutter/flutter/issues/87391. Once approved the framework will try to query the initial keyboard state from the engine. PRs will be needed on the engine side to answer the framework query. ## Tests Adds 1 test.
-
Qun Cheng authored
`Checkbox.fillColor` should be applied to checkbox's background color when it is unchecked. (#125643)
-
fzyzcjy authored
Background: I am adding logging to things like dialogs, bottom sheets and menus. Then I realized that, showMenu does not allow users to provide RouteSettings, while showDialog and showModalBottomSheet both allow. Therefore, IMHO a consistent API design may need to add this to showMenu. I will add tests if this proposal looks OK :)
-
arvin authored
-
- 27 Apr, 2023 2 commits
-
-
Taha Tesser authored
fixes https://github.com/flutter/flutter/issues/125619 ### Before ![Screenshot 2023-04-27 at 14 08 05](https://user-images.githubusercontent.com/48603081/234853490-0a9c4e18-20aa-40f7-a6b0-efb278f515eb.png) ### After ![Screenshot 2023-04-27 at 14 00 44](https://user-images.githubusercontent.com/48603081/234853470-c69c20d3-124d-438a-9312-2d17492c5606.png)
-
Pierre-Louis authored
This PR constrains M3 bottom sheets to 640dp max width by default. `constraints` can be used to provide different `minWidth` and `maxWidth`. This is not a breaking change per the breaking change policy. Part of https://github.com/flutter/flutter/issues/118619 Part of https://github.com/flutter/flutter/issues/111448 ## 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] 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
-
- 25 Apr, 2023 4 commits
-
-
chunhtai authored
fixes https://github.com/flutter/flutter/issues/125495 The iOS will announce 'Selected, \<label\>, button' for selected radio button after this change
-
Srujan Gaddam authored
toDart exists on the latter, not the former. Fixing https://github.com/flutter/flutter/pull/125220. ## 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] All existing and new tests are passing.
-
Justin McCandless authored
When using a Material TextField on iOS, the spell check selection style now defaults to the red iOS-style, not Android's blue.
-
Taha Tesser authored
fixes https://github.com/flutter/flutter/issues/114340 <details> <summary>code sample</summary> ```dart import 'package:flutter/material.dart'; /// Flutter code sample for [SliverAppBar.medium]. void main() { runApp(const AppBarMediumApp()); } class AppBarMediumApp extends StatelessWidget { const AppBarMediumApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( theme: ThemeData( useMaterial3: true, ), home: MediaQuery( data: MediaQuery.of(context).copyWith(textScaleFactor: 3.0), child: Material( child: CustomScrollView( slivers: <Widget>[ SliverAppBar.medium( leading: IconButton(icon: const Icon(Icons.menu), onPressed: () {}), title: const Text('Medium App Bar'), actions: <Widget>[ IconButton(icon: const Icon(Icons.more_vert), onPressed: () {}), ], ), // SliverAppBar.large( // leading: // IconButton(icon: const Icon(Icons.menu), onPressed: () {}), // title: const Text('Large App Bar'), // actions: <Widget>[ // IconButton( // icon: const Icon(Icons.more_vert), onPressed: () {}), // ], // ), // Just some content big enough to have something to scroll. SliverToBoxAdapter( child: Card( child: SizedBox( height: 1200, child: Padding( padding: const EdgeInsets.fromLTRB(8, 100, 8, 100), child: Text( 'Here be scrolling content...', style: Theme.of(context).textTheme.headlineSmall, ), ), ), ), ), ], ), ), ), ); } } ``` </details> ### Before | Medium App Bar - `textScaleFactor: 3.0` | Large App Bar - `textScaleFactor.30` | | --------------- | --------------- | | <img src="https://user-images.githubusercontent.com/48603081/232815191-ab42523b-d710-4c93-a889-e9c92ca472c8.png" height="450" /> | <img src="https://user-images.githubusercontent.com/48603081/232815232-104c208d-f1dd-404e-9218-5dfb61244d56.png" height="450" /> | ### After | Medium App Bar - `textScaleFactor: 3.0` | Large App Bar - `textScaleFactor.30` | | --------------- | --------------- | | <img src="https://user-images.githubusercontent.com/48603081/232815733-8b8af94f-197f-427a-bbb9-bc6cd0173658.png" height="450" /> | <img src="https://user-images.githubusercontent.com/48603081/232815758-2c336d14-085b-4e91-8b93-748a40822ea6.png" height="450" /> |
-
- 24 Apr, 2023 8 commits
-
-
Tirth authored
-
Tae Hyung Kim authored
Reimplements what we reverted here: #125233.
-
Bernardo Ferrari authored
Split from https://github.com/flutter/flutter/pull/122664 so it gets easier to review, as this is now unrelated to the `preferRound`. I'm one step from adding a width attribute, lol. <img width="474" alt="image" src="https://user-images.githubusercontent.com/351125/226083798-71e529e9-4ae9-41de-a500-0412b989a273.png"> cc @Piinks
-
Srujan Gaddam authored
Types are being reified in the JS backends, so these need to be addressed. Fixes two issues: - @staticInterop types need to be casted to JS types - JS functions need to be cast to JSFunction before conversion Enables landing of https://dart-review.googlesource.com/c/sdk/+/295105. ## 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] All existing and new tests are passing.
-
Taha Tesser authored
Fix `OutlinedButton`, `TextButton`, and `IconButton` throw exception when passing only one cursor to `styleFrom` (#125204) fixes https://github.com/flutter/flutter/issues/118071
-
Renzo Olivares authored
Before this change on a quick touch drag the cursor, where the touch is not on the previous collapsed selection, the cursor would move to the tapped position. After this change on a quick touch drag the cursor does not move unless the touch is on the previously collapsed selection. This is inline with native behavior. Before|After|Native --|--|-- <video src="https://user-images.githubusercontent.com/948037/233224775-f33b42b5-5638-416c-9278-39ecd964e3bb.mov" />|<video src="https://user-images.githubusercontent.com/948037/233224760-2d1af657-8d99-45fc-8499-9567f17d533e.mov" />|<video src="https://user-images.githubusercontent.com/948037/233224790-f5997cfa-7370-4891-8952-11ef8057a729.mov" />
-
chunhtai authored
Related https://github.com/flutter/flutter/issues/100624 The goal is to make sure the engine can send a location string in either the existing format or a complete uri string to the framework, and the framework will still work as usual.
-
Justin McCandless authored
The spell check menu now appears directly below the misspelled word on Android.
-
- 22 Apr, 2023 1 commit
-
-
Callum Moffat authored
Include rects with any overlap instead of only when top-left or bottom-right included. The previous criteria didn't send any selection rects when text was taller than the text box and scroll offset was not zero. Part of #30476
-
- 21 Apr, 2023 4 commits
-
-
Luccas Clezar authored
Visual fidelity of the right-click context menu on MacOS.
-
chunhtai authored
fixes https://github.com/flutter/flutter/issues/99360
-
Justin McCandless authored
iOS now hides the selection handles and shows red selection when tapping a misspelled word, like native.
-
Bruno Leroux authored
## Description This PR introduces `DefaultSelectionStyle.mouseCursor` to configure the mouse cursor over selectable text. It also applies this solution to `InkResponse` to make the mouse cursor win over the default one provided by selectable `Text` for many Material components (such as buttons). ### Before https://user-images.githubusercontent.com/840911/233627729-ddf98e2a-444d-4c6d-a6d5-f521982f48dd.mov ### After https://user-images.githubusercontent.com/840911/233627718-8871a68f-d33c-44cf-b4a1-91bb1fcdf076.mov ## Related Issue Fixes https://github.com/flutter/flutter/issues/104595 ## Tests Adds 6 tests.
-
- 20 Apr, 2023 7 commits
-
-
Renzo Olivares authored
#125151 introduced the magnifier on touch drag gestures, but when showing the magnifier the toolbar is implicitly hidden, this change makes the toolbar re-appear on drag end for double tap + drag.
-
Tae Hyung Kim authored
Going to make some changes to the implementation so I'll revert in the meantime. Reverts flutter/flutter#124337
-
9oya authored
-
Justin McCandless authored
Even in TextField using the Material library, iOS devices will still show the iOS-style spell check toolbar by default when using spell check.
-
xubaolin authored
Fixes https://github.com/flutter/flutter/issues/120567
-
Qun Cheng authored
Fixes #124426 This PR is to make the search view shape clip the view content. Before: the highlight and the "i" of "item 9" are not clipped by the shape. <img width="350" alt="Screenshot 2023-04-19 at 12 09 48 PM" src="https://user-images.githubusercontent.com/36861262/233201222-468820a9-8717-4b6c-8528-8125a40fc161.png"> After: <img width="350" alt="Screenshot 2023-04-19 at 2 13 52 PM" src="https://user-images.githubusercontent.com/36861262/233201609-81f5a942-2390-4081-a9c7-c9523a7f9e72.png">
-
Renzo Olivares authored
This change shows the magnifier on touch drag gestures for Android and iOS and hides it when the drag ends. Fixes #118268
-
- 19 Apr, 2023 5 commits
-
-
xubaolin authored
-
chunhtai authored
The regression was caused by the previous pr https://github.com/flutter/flutter/pull/124624 changes postframecallback to scheduleframecallback. The reason is that if a new postframecallback was scheduled when running a postframecallback. The newly added postframecallback will be execute on the next frame. However, adding postframecallback will not schedule a new frame. So if there isn't other widget that schedule a new frame, the newly added postframecallback will never gets run. After changing to scheduleframecallback, it causes an issue that transient callback may be called when rendering tree contains dirty layout information that are waiting to be rebuilt. Therefore, I use microtask to get around of the postframecallback issue instead of scheduleframecallback. fixes https://github.com/flutter/flutter/issues/125065
-
Qun Cheng authored
-
chunhtai authored
as title ## 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
-
Justin McCandless authored
Fixes https://github.com/flutter/flutter/issues/124247 | Native | Flutter before | Flutter after | | --- | --- | --- | | <img width="248" alt="Screenshot 2023-04-05 at 9 26 16 AM" src="https://user-images.githubusercontent.com/389558/230177116-154999e8-eef3-441d-9fe9-7063839a6b99.png"> | <img width="240" alt="Screenshot 2023-04-05 at 11 18 01 AM" src="https://user-images.githubusercontent.com/389558/230177125-1680e851-223e-4956-b5b6-1a24e11dc22a.png"> | <img width="226" alt="Screenshot 2023-04-05 at 11 17 36 AM" src="https://user-images.githubusercontent.com/389558/230177123-bde82134-67e1-4ce2-8eec-719eeb779bf4.png"> | Also, it's now possible for anyone to create disabled buttons like this by setting ContextMenuButtonItem.onPressed to `null`.
-
- 18 Apr, 2023 3 commits
-
-
Mitchell Goodwin authored
Fixes #102811. Adds an adaptive constructor to AlertDialog, along with the adaptive function showAdaptiveDialog. <img width="357" alt="Screenshot 2023-04-06 at 10 40 18 AM" src="https://user-images.githubusercontent.com/58190796/230455412-31100922-cfc5-4252-b8c6-6f076353f29e.png"> <img width="350" alt="Screenshot 2023-04-06 at 10 42 50 AM" src="https://user-images.githubusercontent.com/58190796/230455454-363dd37e-c44e-4aca-b6a0-cfa1d959f606.png">
-
Srujan Gaddam authored
dart:js_interop and package:js will start conflicting, since they both have an `@JS` annotation. Until we're ready to only use dart:js_interop (which will require updating the SDK constraints of every package), we should hide the `@JS` annotation from dart:js_interop. Due to shadowing, this is the behavior today, so there should be no functional change. Unblocks https://dart-review.googlesource.com/c/sdk/+/294130/8 and prevents confusing shadowing of dart:js_interop annotations like we do today. - [Mentioned CL that is unblocked] I listed at least one issue that this PR fixes in the description above. - [Need test-exemption] I added new tests to check the change I am making, or this PR is [test-exempt]. - [Need to run] All existing and new tests are passing.
-
Greg Spencer authored
## Description This adds an optional argument to the `SubmenuButton` that allows the creator to supply a `MenuController` for controlling the menu. ## Related Issues - Fixes https://github.com/flutter/flutter/issues/124988 ## Tests - Added tests for new argument.
-