Jonah Williams
253bd3d475
[framework] lerp images in a save layer. ( #131703 )
...
Without a saveLayer, the BlendMode.plus will add itself to the backdrop and not just the previous image. Pushing without tests to see if existing goldens fail, but otherwise I have some good examples locally.
This is necessary uncondtionally, and lerping lerped images has the same issue.
Fixes https://github.com/flutter/flutter/issues/131617
### Before

### After

2023-08-02 19:51:41 +00:00
Christopher Fujino
55bb3e5538
[flutter_tools] set terminal.singleCharMode to false after attach finishes ( #131723 )
...
Fixes https://github.com/flutter/flutter/issues/131511
Similar fix to 84c8abd0f6 (diff-38f3e3415d9806f22a78060fafb3206d1a006f74631fac04e7a680a64e06ccf0)
2023-08-02 17:42:52 +00:00
Dan Field
b3f99ffe61
Fix reentrancy with WidgetBindingObserver callbacks ( #131774 )
...
Part of https://github.com/flutter/flutter/issues/131678
Fixes up callsites for WidgetsBindingObserver related callbacks.
2023-08-02 17:29:50 +00:00
Kate Lovett
a120342922
Fix flex methods for min and max column widths ( #131724 )
...
Fixes https://github.com/flutter/flutter/issues/131467
An error in the flex methods of min and max column width would produce different results based on the position of the widths that were provided:
`MaxColumnWidth(a, b) != MaxColumnWidth(b, a)`
This fixes that.
2023-08-02 17:00:48 +00:00
gaaclarke
947367aaa2
Added standard deviation to rasterizer results. ( #131781 )
...
This calculation is important if you want to calculate the probability that one thing is better than another.
2023-08-02 16:40:07 +00:00
fzyzcjy
4b176a716c
Tiny remove outdated comments ( #130387 )
...
I get confused when reading this comment. It seems that this code never calls `AnimationController.fling` (but only things like `animateTo`). Therefore, I do not think discussing the duration of `AnimationController.fling` is helpful - maybe it is just an outdated comment?
2023-08-02 16:21:54 +00:00
Daniel Chevalier
f80ff55a76
Fix for endless recursion for getLayoutExplorerNode on a Tooltip ( #131486 )
...

Fixes https://github.com/flutter/devtools/issues/5946
While preparing DevTools for the Multi View changes, I noticed that
inspecting a Tooltip causes an stack overflow.
This PR addresses that issue by fixing the scope of the subtreeDepth variable and adding some other idiomatic fixes
2023-08-02 09:23:57 -04:00
LiangXiang Shen
c51aa3d2de
Update ThemeData's factory method documents ( #123984 )
...
Catch up document. As Material 3 actually use a purple theme.
d8cbaf6261/packages/flutter/lib/src/material/theme_data.dart (L2777-L2856)
2023-08-02 03:42:06 +00:00
Taha Tesser
2c71881f50
Fix Scrollable TabBar for Material 3 ( #131409 )
...
fixes [Material 3 `TabBar` does not take full width when `isScrollable: true`](https://github.com/flutter/flutter/issues/117722 )
### Description
1. Fixed the divider doesn't stretch to take all the available width in the scrollable tab bar in M3
2. Added `dividerHeight` property.
### Code sample
<details>
<summary>expand to view the code sample</summary>
```dart
import 'package:flutter/material.dart';
/// Flutter code sample for [TabBar].
void main() => runApp(const TabBarApp());
class TabBarApp extends StatelessWidget {
const TabBarApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
debugShowCheckedModeBanner: false,
home: TabBarExample(),
);
}
}
class TabBarExample extends StatefulWidget {
const TabBarExample({super.key});
@override
State<TabBarExample> createState() => _TabBarExampleState();
}
class _TabBarExampleState extends State<TabBarExample> {
bool rtl = false;
bool customColors = false;
bool removeDivider = false;
Color dividerColor = Colors.amber;
Color indicatorColor = Colors.red;
@override
Widget build(BuildContext context) {
return DefaultTabController(
initialIndex: 1,
length: 3,
child: Directionality(
textDirection: rtl ? TextDirection.rtl : TextDirection.ltr,
child: Scaffold(
appBar: AppBar(
title: const Text('TabBar Sample'),
actions: <Widget>[
IconButton.filledTonal(
tooltip: 'Switch direction',
icon: const Icon(Icons.swap_horiz),
onPressed: () {
setState(() {
rtl = !rtl;
});
},
),
IconButton.filledTonal(
tooltip: 'Use custom colors',
icon: const Icon(Icons.color_lens),
onPressed: () {
setState(() {
customColors = !customColors;
});
},
),
IconButton.filledTonal(
tooltip: 'Show/hide divider',
icon: const Icon(Icons.remove_rounded),
onPressed: () {
setState(() {
removeDivider = !removeDivider;
});
},
),
],
),
body: Column(
children: <Widget>[
const Spacer(),
const Text('Scrollable - TabAlignment.start'),
TabBar(
isScrollable: true,
tabAlignment: TabAlignment.start,
dividerColor: customColors ? dividerColor : null,
indicatorColor: customColors ? indicatorColor : null,
dividerHeight: removeDivider ? 0 : null,
tabs: const <Widget>[
Tab(
icon: Icon(Icons.cloud_outlined),
),
Tab(
icon: Icon(Icons.beach_access_sharp),
),
Tab(
icon: Icon(Icons.brightness_5_sharp),
),
],
),
const Text('Scrollable - TabAlignment.startOffset'),
TabBar(
isScrollable: true,
tabAlignment: TabAlignment.startOffset,
dividerColor: customColors ? dividerColor : null,
indicatorColor: customColors ? indicatorColor : null,
dividerHeight: removeDivider ? 0 : null,
tabs: const <Widget>[
Tab(
icon: Icon(Icons.cloud_outlined),
),
Tab(
icon: Icon(Icons.beach_access_sharp),
),
Tab(
icon: Icon(Icons.brightness_5_sharp),
),
],
),
const Text('Scrollable - TabAlignment.center'),
TabBar(
isScrollable: true,
tabAlignment: TabAlignment.center,
dividerColor: customColors ? dividerColor : null,
indicatorColor: customColors ? indicatorColor : null,
dividerHeight: removeDivider ? 0 : null,
tabs: const <Widget>[
Tab(
icon: Icon(Icons.cloud_outlined),
),
Tab(
icon: Icon(Icons.beach_access_sharp),
),
Tab(
icon: Icon(Icons.brightness_5_sharp),
),
],
),
const Spacer(),
const Text('Non-scrollable - TabAlignment.fill'),
TabBar(
tabAlignment: TabAlignment.fill,
dividerColor: customColors ? dividerColor : null,
indicatorColor: customColors ? indicatorColor : null,
dividerHeight: removeDivider ? 0 : null,
tabs: const <Widget>[
Tab(
icon: Icon(Icons.cloud_outlined),
),
Tab(
icon: Icon(Icons.beach_access_sharp),
),
Tab(
icon: Icon(Icons.brightness_5_sharp),
),
],
),
const Text('Non-scrollable - TabAlignment.center'),
TabBar(
tabAlignment: TabAlignment.center,
dividerColor: customColors ? dividerColor : null,
indicatorColor: customColors ? indicatorColor : null,
dividerHeight: removeDivider ? 0 : null,
tabs: const <Widget>[
Tab(
icon: Icon(Icons.cloud_outlined),
),
Tab(
icon: Icon(Icons.beach_access_sharp),
),
Tab(
icon: Icon(Icons.brightness_5_sharp),
),
],
),
const Spacer(),
const Text('Secondary - TabAlignment.fill'),
TabBar.secondary(
tabAlignment: TabAlignment.fill,
dividerColor: customColors ? dividerColor : null,
indicatorColor: customColors ? indicatorColor : null,
dividerHeight: removeDivider ? 0 : null,
tabs: const <Widget>[
Tab(
icon: Icon(Icons.cloud_outlined),
),
Tab(
icon: Icon(Icons.beach_access_sharp),
),
Tab(
icon: Icon(Icons.brightness_5_sharp),
),
],
),
const Text('Secondary - TabAlignment.center'),
TabBar.secondary(
tabAlignment: TabAlignment.center,
dividerColor: customColors ? dividerColor : null,
indicatorColor: customColors ? indicatorColor : null,
dividerHeight: removeDivider ? 0 : null,
tabs: const <Widget>[
Tab(
icon: Icon(Icons.cloud_outlined),
),
Tab(
icon: Icon(Icons.beach_access_sharp),
),
Tab(
icon: Icon(Icons.brightness_5_sharp),
),
],
),
const Spacer(),
],
),
),
),
);
}
}
```
</details>
### Before

### After

This also contains regression test for https://github.com/flutter/flutter/pull/125974#discussion_r1239089151
```dart
// This is a regression test for https://github.com/flutter/flutter/pull/125974#discussion_r1239089151 .
testWidgets('Divider can be constrained', (WidgetTester tester) async {
```

2023-08-02 00:48:06 +00:00
Ian Hickson
9c471a9499
ImageProvider.toString uses double.toStringAsFixed ( #131348 )
...
This provides consistency for web vs VM (and is more consistent with how we do doubles everywhere else in toStrings).
2023-08-02 00:38:06 +00:00
Polina Cherkasova
35213ceabd
Upgrade Flutter libraries. ( #131700 )
2023-08-01 12:59:47 -07:00
Dan Field
c57169835a
Avoid concurrent modification of persistent frame callbacks ( #131677 )
...
Fixes https://github.com/flutter/flutter/issues/131415
We should do an audit of all such cases though, filed https://github.com/flutter/flutter/issues/131678
2023-08-01 18:38:40 +00:00
Alex Li
f2db93df01
🐛 Treat empty ARB content as empty map when decoding ( #131242 )
...
Fixes #128932 .
2023-08-01 01:27:54 +00:00
Sumit Bikram Maity
1d59196baf
Appended period remove & Uri parsing fix. ( #131293 )
...
Fixed code for the Uri as it includes the period at the end as the part of Uri parsing previously.
As for example:
```
A crash report has been written to /Users/andrewkolos/Desktop/asset_transformers_test/flutter_03.log.
```
Many terminals are unable to follow the link because it includes the period in the end as part of it. This PR simply removes the period in the end so that it is clickable in many systems (e.g. by `alt` -clicking on it in an embedded bash terminal, VSCode).
```
A crash report has been written to /Users/andrewkolos/Desktop/asset_transformers_test/flutter_03.log
```
Fixes: #131166
2023-07-31 20:42:11 +00:00
Jay Mehta
efc9e16ea3
Fixed regex to show missing assets file error ( #131160 )
...
Added Regex to match error message from verbos build as suggested by @stuartmorgan [here](https://github.com/flutter/flutter/pull/98137#discussion_r810559589 ).
Modified Windows Build Test
Fixes #97065
2023-07-31 20:42:09 +00:00
Qun Cheng
3cf206ba2c
Update CheckboxListTile and CalendarDatePicker tests for M2/M3 ( #131363 )
2023-07-31 13:24:48 -07:00
Qun Cheng
71d96ddf9c
Add Expanded/Collapsed State for Semantics ( #131233 )
2023-07-31 12:09:27 -07:00
Qun Cheng
e0b6b6c451
Reland - "Update Unit Tests for M2/M3" ( #131504 )
...
Reverts flutter/flutter#131368
Original PR: https://github.com/flutter/flutter/pull/131292 . The
flutter mirror was out of date and tree was closed, so the original PR
was reverted. Now should be safe to have a reland.
2023-07-31 11:51:27 -07:00
gmackall
ae750e57f5
Upgrade compile and target sdk versions in tests and benchmarks ( #131428 )
...
Partially fixes/related to: https://github.com/flutter/flutter/issues/131425
2023-07-31 18:10:24 +00:00
Pierre-Louis
28ee558178
Fix dartdoc for ButtonSegment constructor ( #131400 )
...
https://github.com/flutter/flutter/issues/103529
2023-07-31 12:26:11 +00:00
Danny Tuppeny
0386f910d1
[flutter_tools/dap] Improve rendering of structured errors via DAP ( #131251 )
...
In the legacy VS Code DAP, we would deserialise the Flutter.Error event
and provide some basic colouring (eg. stack frames are faded if not from
user code and the text is split between stdout/stderr to allow the
client to colour it).
In the new DAPs we originally used `renderedErrorText` which didn't
support either of these. This change adds changes to use the structured
data (with some basic parsing because the source classes are in
package:flutter and not accessible here) to provide a similar
experience.
It would be nicer if we could use the real underlying Flutter classes
for this deserialisation, but extracting them from `package:flutter` and
removing all dependencies on Flutter is a much larger job and I don't
think should hold up providing improved error formatting for the new
DAPs.
Some comparisons:


2023-07-31 13:03:26 +01:00
Donghyun Kim
c05c3d3930
Use Flutter app project's NDK version from FFI plugin ( #131141 )
...
<img width="1119" alt="image" src="https://github.com/flutter/flutter/assets/66480156/e2e8eed1-3bef-436c-b21f-3891bdbe05bb ">
In most cases, a FFI plugin doesn't need its own specific Android NDK version. Just following the Flutter app project's NDK version is enough.
If a Flutter app project depends on multiple FFI plugins that use different Android NDK versions, it can be quite wasteful and use excessive disk space due to multiple NDK installations.
Using Flutter app project's NDK version is also less error-prone because upgrading the Flutter SDK would be enough when upgrading FFI plugins(If project's `ndkVersion` is `flutter.ndkVersion`), without messing with Android NDK installations.
This problem was discussed in some actual FFI plugin repositories, and they are striving to find their own solutions:
- https://github.com/superlistapp/super_native_extensions/issues/143#issuecomment-1646207706
- https://github.com/cunarist/rust-in-flutter/discussions/60#discussioncomment-6484218
- https://github.com/rive-app/rive-flutter/issues/320
- https://github.com/juicycleff/flutter-unity-view-widget/issues/832
2023-07-31 10:09:24 +00:00
Bruno Leroux
7b6af17f6e
Reland - Fix floating SnackBar throws when FAB is on the top ( #131475 )
...
## Description
This PR is a reland of https://github.com/flutter/flutter/pull/129274 with a fix and new test related to the revert (https://github.com/flutter/flutter/pull/131303 ).
It updates how a floating snack bar is positionned when a `Scaffold` defines a FAB with `Scaffold.floatingActionButtonLocation` sets to one of the top locations.
**Before this PR:**
- When a FAB location is set to the top of the `Scaffold`, a floating `SnackBar` can't be displayed and an assert throws in debug mode.
**After this PR:**
- When a FAB location is set to the top of the `Scaffold`, a floating `SnackBar` will be displayed at the bottom of the screen, above a `NavigationBar` for instance (the top FAB is ignored when computing the floating snack bar position).

## Motivation
This is a edge case related to a discrepancy between the Material spec and the Flutter `Scaffold` customizability:
- Material spec states that a floating `SnackBar` should be displayed above a FAB. But, in Material spec, FABs are expected to be on the bottom.
- Since https://github.com/flutter/flutter/issues/51465 , Flutter `Scaffold` makes it valid to show a FAB on the top of the `Scaffold`.
## Related Issue
fixes https://github.com/flutter/flutter/issues/128150
## Tests
Adds 2 tests.
2023-07-28 22:00:20 +00:00
Ian Hickson
3396ec7b88
Device discovery output cleanup ( #131223 )
...
Fixes https://github.com/flutter/flutter/issues/6538
2023-07-28 21:37:00 +00:00
Taha Tesser
48d47ade9d
Update BottomSheet.enableDrag & BottomSheet.showDragHandle docs for animation controller ( #131484 )
...
fixes [`AnimationController` must be provided when `BottomSheet.enableDrag` or `BottomSheet.showDragHandle` is true](https://github.com/flutter/flutter/issues/127093 )
2023-07-28 19:17:28 +00:00
Qun Cheng
3567140d9e
Deprecate useMaterial3 parameter in ThemeData.copyWith() ( #131455 )
2023-07-28 10:31:53 -07:00
Taha Tesser
038ec62b28
Add CheckedPopupMenuItem.labelTextStyle and update default text style for Material 3 ( #131060 )
...
fixes [Update `CheckedPopupMenuItemâ` for Material 3](https://github.com/flutter/flutter/issues/128576 )
### Description
- This adds the missing ``CheckedPopupMenuItemâ.labelTextStyle` parameter
- Fixes default text style for `CheckedPopupMenuItemâ`.
It used `ListTile`'s `bodyLarge` instead of `LabelLarge` similar to `PopupMenuItem`.
### Code sample
<details>
<summary>expand to view the code sample</summary>
```dart
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
useMaterial3: true,
textTheme: const TextTheme(
labelLarge: TextStyle(
fontWeight: FontWeight.bold,
fontStyle: FontStyle.italic,
letterSpacing: 5.0,
),
),
),
home: const Example(),
);
}
}
class Example extends StatelessWidget {
const Example({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Sample'),
actions: <Widget>[
PopupMenuButton<String>(
icon: const Icon(Icons.more_vert),
itemBuilder: (BuildContext context) => <PopupMenuEntry<String>>[
const CheckedPopupMenuItem<String>(
// labelTextStyle: MaterialStateProperty.resolveWith(
// (Set<MaterialState> states) {
// if (states.contains(MaterialState.selected)) {
// return const TextStyle(
// color: Colors.red,
// fontStyle: FontStyle.italic,
// fontWeight: FontWeight.bold,
// );
// }
// return const TextStyle(
// color: Colors.amber,
// fontStyle: FontStyle.italic,
// fontWeight: FontWeight.bold,
// );
// }),
child: Text('Mild'),
),
const CheckedPopupMenuItem<String>(
checked: true,
// labelTextStyle: MaterialStateProperty.resolveWith(
// (Set<MaterialState> states) {
// if (states.contains(MaterialState.selected)) {
// return const TextStyle(
// color: Colors.red,
// fontStyle: FontStyle.italic,
// fontWeight: FontWeight.bold,
// );
// }
// return const TextStyle(
// color: Colors.amber,
// fontStyle: FontStyle.italic,
// fontWeight: FontWeight.bold,
// );
// }),
child: Text('Spicy'),
),
const PopupMenuDivider(),
const PopupMenuItem<String>(
value: 'Close',
child: Text('Close'),
),
],
)
],
),
);
}
}
```
</details>
### Customized `textTheme.labelLarge` text theme.
| Before | After |
| --------------- | --------------- |
| <img src="https://github.com/flutter/flutter/assets/48603081/2672438d-b2da-479b-a5d3-d239ef646365 " /> | <img src="https://github.com/flutter/flutter/assets/48603081/b9f83719-dede-4c2f-8247-18f74e63eb29 " /> |
### New `CheckedPopupMenuItemâ.labelTextStyle` parameter with material states support
<img src="https://github.com/flutter/flutter/assets/48603081/ef0a88aa-9811-42b1-a3aa-53b90c8d43fb " height="450" />
2023-07-28 17:16:04 +00:00
Daniel Chevalier
f0163c0cd0
Shared state to support multi screen inspection ( #129452 )
...

Fixes https://github.com/flutter/devtools/issues/5931
With Multi View applications on the way, we need to be able to manage
the state of multiple Inspector widgets in a consistent way.
Previously each Widget inspector would manage the state of it's own
inspection. This made for a confusing and inconsistent experience when
clicking on the widget inspector of different views.
This PR changes the state management to the WidgetInspectorService
static instance so that all widget inspectors can share that state.
# Demo
https://github.com/flutter/flutter/assets/1386322/70fd18dc-5827-4dcd-8cb7-ef20e6221291
2023-07-28 11:53:26 -04:00
Taha Tesser
058f1660e7
Update Card.color documentation for Material 3 ( #131468 )
...
fixes [Card color parameter not respected while using Material 3](https://github.com/flutter/flutter/issues/122177 )
2023-07-28 15:28:11 +00:00
Taha Tesser
7d89617a92
Fix TimePicker defaults for hourMinuteTextStyle and dayPeriodTextColor for Material 3 ( #131253 )
...
fixes [`TimePicker` color and visual issues](https://github.com/flutter/flutter/issues/127035 )
## Description
- fixes default text style for `TimePicker`s `hourMinuteTextStyle` and added a todo for https://github.com/flutter/flutter/issues/131247
- fixes correct default color not being accessed for `dayPeriodTextColor`
- Updates tests
### Code sample
<details>
<summary>expand to view the code sample</summary>
```dart
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(useMaterial3: true),
home: const Example(),
);
}
}
class Example extends StatelessWidget {
const Example({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Sample'),
),
body: Center(
child: ElevatedButton(
onPressed: () {
showTimePicker(
context: context,
orientation: Orientation.portrait,
initialEntryMode: TimePickerEntryMode.input,
initialTime: TimeOfDay.now(),
builder: (BuildContext context, Widget? child) {
return MediaQuery(
data: MediaQuery.of(context)
.copyWith(alwaysUse24HourFormat: true),
child: child!,
);
},
);
},
child: const Text('Open Time Picker'),
),
),
);
}
}
```
</details>
### Before

### After

2023-07-28 14:11:23 +00:00
Jonah Williams
46d074014b
[framework] clean up image provider documentation. ( #131416 )
...
Fixes https://github.com/flutter/flutter/issues/130524
loadBuffer was superseded by loadImage
2023-07-27 23:25:04 +00:00
David
80c7dd7245
Fix template app documentation ( #131125 )
...
The PR fixes template app documentation
2023-07-27 22:42:16 +00:00
Alex Li
7d64c676dd
⚡ ️ Add ssh://git@github.com/flutter/flutter.git as a standard remote ( #131333 )
...
Resolves #98020 .
2023-07-27 22:09:03 +00:00
Alex Li
eab2087a0f
🐛 Only format Dart files for gen-l10n ( #131232 )
...
Improves #119596 . The tests remain valid, so no tests were updated in the request.
This does not resolve issue #128932 , it's handled by another part of the code.
2023-07-27 20:04:07 +00:00
Qun Cheng
16826e062b
Preliminary PR for engine changes for Expanded/Collapsed Submenu button ( #131359 )
...
This PR is to skip some unit tests in order to merging an [engine
change](https://github.com/flutter/engine/pull/43983 ).
2023-07-27 12:23:42 -07:00
Jason Simmons
8a84437989
Manual roll to engine commit 9b14c382 using Dart SDK version 3.2.x ( #131371 )
...
Dart SDK 3.2.x requires a new version of the dart_internal package.
2023-07-27 17:33:07 +00:00
Seiya Kokushi
dd9764ec34
Proposal to add barrier configs for showDatePicker, showTimePicker and showAboutDialog. ( #131306 )
...
Can configure modal barriers in Flutter's built-in dialogs.
2023-07-27 09:57:27 -07:00
Ian Hickson
48f08e3db2
IgnoreBaseline widget ( #131220 )
...
Fixes https://github.com/flutter/flutter/issues/7037
2023-07-27 05:59:17 +00:00
Chris Evans
2240649358
Add 'vm:keep-name' pragmas to platform channel classes ( #131271 )
...
Pragma will allow future proofing Dart snapshot utilities to work by preserving the names of important classes used in platform channel communication
@Hixie
2023-07-27 01:30:23 +00:00
Ian Hickson
33e9fd8934
ImageDecoration.lerp ( #130533 ) ( #131349 )
...
This primarily implements DecorationImage.lerp().
It also makes some minor tweaks, the main one of which is defering to dart:ui for `clampDouble` instead of duplicating it in package:foundation.
Fixes https://github.com/flutter/flutter/issues/12452
This was first landed in https://github.com/flutter/flutter/pull/130533 and reverted in https://github.com/flutter/flutter/pull/131347 .
2023-07-26 23:48:08 +00:00
Kate Lovett
bb0c3172f8
Minor adjustments on 2D APIs ( #131358 )
...
These tweaks came from https://github.com/flutter/packages/pull/4536
- The TwoDimensionalChildBuilderDelegate asserts that maxXIndex and maxYIndex are null or >= 0
- The TwoDimensionalChildDelegate setter in RenderTwoDimensionalViewport has a covariant to allow type safety for subclasses of RenderTwoDimensionalViewport implementing with other subclasses of TwoDimensionalChildDelegate
I'd like to cherry pick this so https://github.com/flutter/packages/pull/4536 will not have to wait for it to reach stable.
2023-07-26 23:21:05 +00:00
Loïc Sharma
f359d9e27a
Revert "Update Unit Tests for M2/M3" ( #131368 )
...
Reverts flutter/flutter#131292
This PR is affected by https://g-issues.skia.org/issues/40045533 .
See @Piinks's [explanation](https://discord.com/channels/608014603317936148/613398423093116959/1133885989358678076 ):
> The mirror is probably out of sync. The failing commit introduced new changes, but they have not been updated yet. I would revert the PR until we can check the mirror. Last week it went 2+ hours out of sync so rerunning it may not green the tree for a while.
2023-07-26 22:46:20 +00:00
Qun Cheng
5d76d1a561
Update Unit Tests for M2/M3 ( #131292 )
...
Updated golden tests in
* ink_sparkle_test.dart
* material_test.dart
* page_test.dart
* progress_indicator_test.dart
to have M2 and M3 versions.
More info in #127064
2023-07-26 21:24:29 +00:00
Ian Hickson
27e912316f
Revert "ImageDecoration.lerp" ( #131347 )
...
Reverts flutter/flutter#130533
Tree breakage.
2023-07-26 11:09:59 -07:00
Ian Hickson
bae1ac2f6f
ImageDecoration.lerp ( #130533 )
...
This primarily implements DecorationImage.lerp().
It also makes some minor tweaks, the main one of which is defering to dart:ui for `clampDouble` instead of duplicating it in package:foundation.
Fixes https://github.com/flutter/flutter/issues/12452
2023-07-26 17:31:23 +00:00
Ian Hickson
552700999d
Document the Flow/Opacity/hit-test issues ( #131239 )
...
Closes https://github.com/flutter/flutter/issues/6100 .
2023-07-26 17:31:21 +00:00
Xilai Zhang
9bd87ec984
[flutter roll] Revert "Fix floating SnackBar throws when FAB is on the top" ( #131303 )
...
Reverts flutter/flutter#129274
temporarily putting up a revert in case a fix is difficult
context: [b/293202068](http://b/293202068 ) youtube integration tests failed
2023-07-26 13:31:29 +00:00
Caffeinix
a4f7906692
Reorders menu item button shortcuts on Mac-like platforms ( #129309 )
...
The Apple Human Interface Guidelines give a specific ordering of the symbols
used as modifier keys in menu shortcuts. These guidelines are encoded into
the native Cocoa or UIKit menu classes, and are intended to ensure that symbols
are always aligned into columns of like symbols and do not move around in the
case of dynamic menu items (for example, holding Option will transform certain
menu items into different versions that take the Option key, so the Option key
symbol appears to the left of most other symbols to avoid reordering).
The Material spec says to use symbols for modifier keys on Mac and iOS, as this
is what users there are familiar with. It stands to reason that we should
follow the platform guidelines fully, so this changes the MenuItemButton class
to honor the HIG-compliant symbol ordering on Mac and iOS.
Fixed : #129308
2023-07-26 03:07:27 +00:00
Dan Field
efa69ba95b
Add example for locking screen orientation in a letterboxing environment ( #131266 )
...
Android may choose to letterbox applications that lock orientation. This gets particularly bad on foldable devices, where a developer may want to lock orientation when the devices is folded and unlock when unfolded. However, if the app is letterboxed when unfolded, the `MediaQuery.of(context).size` will never report the full display size, only the letterboxed window size. This may result in an application getting "stuck" in portrait mode.
/cc @TytaniumDev
2023-07-25 23:07:51 +00:00
Bruno Leroux
eb4891226e
Update BottomAppBar and BottomAppBarTheme tests for M3 ( #130983 )
...
This PR updates `BottomAppBar` and `BottomAppBarTheme` tests for M3 migration.
More info in https://github.com/flutter/flutter/issues/127064
- Some tests are M2 or M3 only.
- Added several M3 tests.
- One golden change.
2023-07-25 22:56:49 +00:00