23862 Commits

Author SHA1 Message Date
Dimil Kalathiya
620d1ea729
Expose long press in ``CupertinoButton`` (#154052)
Adds long press as per https://github.com/flutter/flutter/issues/153956 request

Fixes #153956
2024-08-30 18:56:00 +00:00
hangyu
0d8247eb7d
Add a RegExp for iOS domain when reading domains from xcodeProject (#154201)
Append the string `?mode=<alternate mode>` to the associated domain to
enable alternate mode in some use cases is recommended in apple
developer guide
(https://developer.apple.com/documentation/xcode/configuring-an-associated-domain#Enable-alternate-mode-for-unreachable-servers)

So when reading these domains from xcode settings, we should consider
this case and trim it.













## 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].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2024-08-30 11:17:29 -07:00
Dishank Jindal
01e8ecaea6
Added support for elevation on refresh indicator (#154182)
Refresh Indicator Elevation:

- Added elevation to the refresh indicator using elevation attribute.
- This change improves the indicator's visibility against various background colors and enhances overall UI consistency.
- If we want to get rid of shadow effect from the indicator itself.

The refresh indicator did not provide the control over depth of the progress indicator. This change addresses that issue by adding elevation to the indicator, creating a subtle depth effect that makes it more visually prominent and provides better feedback to the user.

No breaking changes.

| Before | After |
| --- | --- |
| ![337189619-885559b5-3046-4926-aea0-66be8f5d58c8](https://github.com/user-attachments/assets/24bd5b26-c776-4131-b5ca-1054e2cc90e8) | ![337189633-5c4d2d67-0729-4d1d-86a0-1402d1ac009e](https://github.com/user-attachments/assets/02d655f6-851b-4cd5-b2ae-1c3a496f9189) |

Pre-launch Checklist
2024-08-30 17:50:08 +00:00
Justin McCandless
995a1da104
Android predictive back should work after returning to the app from a notification (#154313)
Fixes a bug where the app would exit on a back gesture when there were still routes in the navigation stack after returning to the app from a notification.
2024-08-30 09:36:10 -07:00
Andrew Kolos
a8528c70b6
catch StateError thrown from Chromium.close (#154366)
Fixes crasher https://github.com/flutter/flutter/issues/154203.

Also does a little refactoring to move exception handling into the `getChromeTabGuarded` utility function.

I plan on cherry-picking a subset of this change. This would be included in the custom CP patch for https://github.com/flutter/flutter/issues/153064.
2024-08-30 00:01:12 +00:00
Mairramer
680f33d238
fix:: elevation and scrollUnderElevation depends on scrolling drawers on issue #120083 (#150793)
fixes https://github.com/flutter/flutter/issues/120083

Description
This PR addresses the following issues:
- Resolves the unexpected scrolledUnderElevation trigger that occurs when scrolling within the Drawer and NavigationDrawer.
2024-08-29 23:06:20 +00:00
Matan Lurey
712cf654d1
Remove --disable-dart-dev across flutter/flutter. (#154280)
As per the Dart CLI team and @bkonyi, this is no longer providing value and we shouldn't cargo-cult it.

Work towards https://github.com/flutter/flutter/issues/154268.
2024-08-29 22:50:04 +00:00
Christopher Fujino
eed0b71c20
unpin path_provider_android (#154369)
Fixes https://github.com/flutter/flutter/issues/140796
2024-08-29 22:46:19 +00:00
Qun Cheng
1501e9eee0
CupertinoSlidingSegmentedControl is able to have proportional layout based on segment content (#153125) 2024-08-29 15:06:44 -07:00
Michael Goderbauer
de3d174050
Make ViewAnchor a LookupBoundary (#154300)
So, uhm, 2 years ago in https://github.com/flutter/flutter/pull/116429 we introduced this concept of a lookup boundary to hide certain InheritedWidgets in widget subtrees who belong to a different render tree than the InheritedWidget itself. This is for example needed for the Material widget: Buttons reach out to their Material ancestor to draw ink splashes on its associated render object. This only produces the desired effect if the button render object is a descendant of the Material render object (the two need to be in the same render tree). Overlay widgets have a similar problem. 

Lookup boundaries were specifically designed for multi view support, where a sub view would be powered by a separate and independent render tree. Ergo, widgets in the sub view shouldn't see these InheritedWidgets if they are part of the parent view. After all, it would be strange if clicking on a button in a subview draws the ink splash effect into the parent view. Unfortunately, we (and by that I really mean I) forgot to put a LayoutBoundary into the relevant multi view widgets when those were introduced in https://github.com/flutter/flutter/pull/125003. This PR addresses that by wrapping the `ViewAnchor.view` child in a LookupBoundary so that its subtree (which bootstraps a separate render tree) cannot see these InheritedWidgets in the parent view.
2024-08-29 21:49:25 +00:00
Ben Konyi
04595bc088
Launch DDS using DartDevelopmentServiceLauncher (#154015)
`DartDevelopmentServiceLauncher` was created to share the DDS launch
logic from flutter_tools with other Dart tooling.

---------

Co-authored-by: Andrew Kolos <andrewrkolos@gmail.com>
2024-08-29 16:16:27 -04:00
flutter-pub-roller-bot
055350f84a
Roll pub packages (#154360)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-08-29 14:56:39 -04:00
PurplePolyhedron
48b7a5a38f
Make Scrollable.ensureVisible document clearer that it would scroll all enclosing Scrollable (#154321)
Current documentation for `Scrollable.ensureVisible` could sometimes be misunderstood as if it only scroll the closest `Scrollable`.
2024-08-29 17:14:11 +00:00
Jason Simmons
9bf7d7bb35
Do not paint a description label when rendering an integration test (#153875)
Fixes https://github.com/flutter/flutter/issues/153624
2024-08-29 17:08:38 +00:00
jesswrd
05c454c28c
Agp Java Compatability Custom Error (#154142)
Catches gradle error and throws a helpful error message that indicates
an incompatability between Java and AGP versions and how to fix the
issue.

Related issue:
[128524](https://github.com/flutter/flutter/issues/128524)

## 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] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.
2024-08-29 10:06:48 -07:00
flutter-pub-roller-bot
f9351fae7e
Roll pub packages (#154267)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-08-29 16:28:08 +00:00
Gabriel Terwesten
f0860d83f5
[native assets] Rewrite install names for relocated native libraries (#153054)
Native libraries that are contributed by native asset builders can depend on each other. For macOS and iOS, native libraries are repackaged into Frameworks, which renders install names that have been written into dependent libraries invalid. 

With this change, a mapping between old and new install names is maintained, and install names in dependent libraries are rewritten as a final step.

Related to https://github.com/dart-lang/native/issues/190
2024-08-29 14:51:23 +00:00
Tirth
a73ab15fbf
Minor Formatting (#154210)
Minor Formatting.
2024-08-29 13:04:18 +00:00
Taha Tesser
9d971fada1
Fix IconButton doesn't show Tooltip when hovering within the button area but outside the Icon (#153691)
Fixes [Tooltip is not shown consistently on entire IconButton](https://github.com/flutter/flutter/issues/153544)

### Code sample

<details>
<summary>expand to view the code sample</summary> 

```dart
import 'package:flutter/material.dart';

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        body: Center(
          child: Row(
            spacing: 20.0,
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              IconButton(
                padding: const EdgeInsets.all(20.0),
                icon: const ColoredBox(
                  color: Color(0xFFFF0000),
                  child: Icon(Icons.add),
                ),
                onPressed: () {},
                tooltip: 'Tooltip',
              ),
              IconButton.filled(
                padding: const EdgeInsets.all(20.0),
                icon: const ColoredBox(
                  color: Color(0xFFFF0000),
                  child: Icon(Icons.add),
                ),
                onPressed: () {},
                tooltip: 'Tooltip',
              ),
              IconButton.filledTonal(
                padding: const EdgeInsets.all(20.0),
                icon: const ColoredBox(
                  color: Color(0xFFFF0000),
                  child: Icon(Icons.add),
                ),
                onPressed: () {},
                tooltip: 'Tooltip',
              ),
              IconButton.outlined(
                padding: const EdgeInsets.all(20.0),
                icon: const ColoredBox(
                  color: Color(0xFFFF0000),
                  child: Icon(Icons.add),
                ),
                onPressed: () {},
                tooltip: 'Tooltip',
              ),
            ],
          ),
        ),
      ),
    ),
  );
}
```

</details>

### Before (Hover outside the red box but within the `IconButton`)

<img width="579" alt="Screenshot 2024-08-19 at 15 30 35" src="https://github.com/user-attachments/assets/fd2a65f1-f30d-4907-a2d9-c11dc59efb2b">

### Before (Hover outside the red box but within the `IconButton`)

<img width="579" alt="Screenshot 2024-08-19 at 15 30 09" src="https://github.com/user-attachments/assets/b2b4dba7-4d0a-44c9-b1e1-742a900ffd8a">

### Demo

https://github.com/user-attachments/assets/129eb8ee-e132-45c9-80b7-165486c02951
2024-08-29 07:02:23 +00:00
Nate Wilson
e1f0083c78
Fix Drawer prematurely snapping (#153955)
This regression is due to the fact that `animationController.isAnimating` and `animationController.status.isAnimating` sometimes return opposite values.

This PR implements & tests the bugfix, and also adds documentation to explain this behavior.

<br>

fixes https://github.com/flutter/flutter/issues/153851

cc @azeunkn0wn @huycozy
2024-08-29 02:23:19 +00:00
LongCatIsLooong
24194e5631
Defer overlay child layout if the target overlay is currently laying out its size-determining child (#154222)
Fixes #153903
2024-08-29 01:59:34 +00:00
Jackson Gardner
b95548e31c
Don't remove toString implementations while in debug mode. (#154216)
This matches the behavior of AOT/VM compilation.
2024-08-28 20:19:48 +00:00
Taha Tesser
d147e52d6a
Add missing tests for requestFocus routes parameter in Material and Cupertino libraries (#154005)
Fixes [Add missing tests for  `requestFocus` routes parameter](https://github.com/flutter/flutter/issues/153999)
2024-08-28 18:40:05 +00:00
Victor Sanni
446be11037
Scroll CupertinoContextMenu if items overflow (#154133)
Fixes https://github.com/flutter/flutter/issues/55025
Fixes https://github.com/flutter/flutter/issues/154040

### Native Context menu

https://github.com/user-attachments/assets/4ebed3e3-ab4f-4e94-8b47-e9c957f245ef

### Flutter iOS Context menu

https://github.com/user-attachments/assets/ad8426b4-ff18-40e1-9a4f-c61d7620b069

### Flutter macOS Context menu

https://github.com/user-attachments/assets/7374a8b2-ee8d-447b-9cd4-a7f2e7674fc2
2024-08-28 17:20:12 +00:00
Reid Baker
75190cba3b
Add warning if changing flutterEmbedding string. (#154181)
No bug
2024-08-28 16:15:21 +00:00
SuicaLondon
ee0fdae631
Add comment document to fontFamily in the IconData (#154150)
I’ve added a comment document for the `fontFamily` property of `IconData`. The purpose of this is to provide developers with a hint when importing a custom icon. It only includes the change made in the comment.

The original issue was: 
[154144](https://github.com/flutter/flutter/issues/154144)
It was marked as closed so I created a new issues for proposal:
Fixes #154149

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*
2024-08-28 08:38:06 +00:00
Polina Cherkasova
3379460596
Upgrade leak tracker. (#154157) 2024-08-28 05:23:18 +00:00
chunhtai
88bee39f54
Refactored HeroController logic to handle complex cases (#150027)
previous pr https://github.com/flutter/flutter/pull/140675

fixes https://github.com/flutter/flutter/issues/115358
fixes https://github.com/flutter/flutter/issues/110426
fixes https://github.com/flutter/flutter/issues/88578

most of the issue here is that herocontroller try to deal with multiple push/pops in one frame. This pr introduce a new navigator observer api didChangeTop, which fired when the top most route change regardless the sequence of the operations.

One of the uncertainty is how to infer the hero flight direction, but the current logic in this PR seems to be cover all the test cases
2024-08-28 01:53:24 +00:00
Mohammad Hamdan
e1eaad17ad
[Doc] [Enhancement] Add more clarification to initial value documentation for form (#153757)
When you change the `initialValue` of a `TextFormField`, it will not trigger a widget rebuild, which is the intended behavior. This PR is meant to clarify that. https://github.com/flutter/flutter/issues/152816
2024-08-28 01:42:10 +00:00
hangyu
4056639a52
Change flag internalAddSemanticForOnTap default value to true (#153193)
This is a follow up on https://github.com/flutter/flutter/pull/152526 

1. Make changes with an additional parameter ( bool internalAddSemanticForOnTap = false) (https://github.com/flutter/flutter/pull/152526 )
2. Send regular CLs in google3 to pass internalAddSemanticForOnTap: true, and update the tests / text goldens 3. accordingly.  g3 fix sent:  cl/661353802
3. Send a PR to flip the default value to true. (This PR)
4. Send CLs internally to remove internalAddSemanticForOnTap: true.
5. Send another PR to remove the now-redundant internalAddSemanticForOnTap flag.
(<----This PR is step 3)
2024-08-28 01:36:20 +00:00
Gray Mackall
dad93209ab
Make sure usesUnsupportedDependencyVersions property exists before checking it (#154121)
Make sure `usesUnsupportedDependencyVersions` property exists before checking it in the Flutter Gradle plugin.

Related to: https://github.com/flutter/flutter/issues/153668 (doesn't fix, will need to cherry pick to fix).
2024-08-28 01:30:24 +00:00
Yegor
93dc40916c
[web:tools] disable search engine choice screen in flutter run (#154059)
The choice screen is irrelevant when debugging apps locally. `flutter run` creates a separate user profile for testing only. It doesn't touch users' browser settings.

Fixes https://github.com/flutter/flutter/issues/153928
2024-08-27 17:00:13 +00:00
Andrew Kolos
9ec2588fd0
handle IOExceptions coming from ChromeTab.connect (#153978)
Fixes https://github.com/flutter/flutter/issues/153972  (unless the cause of https://github.com/flutter/flutter/issues/153064#issuecomment-2305662791 happens to also prevent this fix from working).

In this PR, I've looked for all non-test call sites of `ChromeConnection.getTabs` and made sure are all wrapped in `try` blocks that handle `IOException` (`HttpException` is what we see in crash reporting, but I figure any `IOException` might as well be the same for all intents and purposes).

I plan on cherry-picking this the stable branch.
2024-08-27 16:19:28 +00:00
Taha Tesser
e17d535305
Fix AlertDialog.adaptive clipBehavior is non-nullable (#154173)
Fixes https://github.com/flutter/flutter/issues/153983
2024-08-27 13:23:06 +00:00
LongCatIsLooong
b4c9a226cd
fix getFullHeightForCaret when strut is disabled. (#154039)
Fixes https://github.com/flutter/flutter/issues/150638
2024-08-26 23:34:17 +00:00
Callum Moffat
418fa9d626
Optimize out LayoutBuilder from ReorderableList children (#153987)
PR #147863 used a `LayoutBuilder` to ensure `ReorderableList` proxy items are built with the same constraints as their normal counterparts. However we don't actually need the `LayoutBuilder`, we can just grab the constraints from the `RenderBox` at proxy-creation-time.
2024-08-26 22:32:22 +00:00
Sikandar Sadaqat
9920a8727d
added ability to disable blur in CupertinoNavigationBar with transparent background (#153633)
This PR is enabling the CupertinoNavigationBar and CupertinoSliverNavigationBar to disable blur effect if background color is transparent.

Issues:
Fixes https://github.com/flutter/flutter/issues/151716

Before

![Simulator_Screenshot_-_iPhone_15_Pro_Max_-_2024-08-17_at_18 30 43](https://github.com/user-attachments/assets/9297e176-374c-4a4d-b6df-fa81f1b89ae2)

After

![simulator_screenshot_8587DA9F-E18B-4ED4-AFFB-1DA52FF5C0D2](https://github.com/user-attachments/assets/ac6eadbc-be9a-4c4c-9fb4-06e58055bab7)

<details>
  <summary>Demo App Code</summary>

```dart
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

void main() => runApp(const NavBarApp());

class NavBarApp extends StatelessWidget {
  const NavBarApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const CupertinoApp(
      theme: CupertinoThemeData(brightness: Brightness.light),
      home: NavBarExample(),
    );
  }
}

class NavBarExample extends StatefulWidget {
  const NavBarExample({super.key});

  @override
  State<NavBarExample> createState() => _NavBarExampleState();
}

class _NavBarExampleState extends State<NavBarExample> {
  @override
  Widget build(BuildContext context) {
    return const CupertinoPageScaffold(
      navigationBar: CupertinoNavigationBar(
        backgroundColor: Colors.transparent,
        automaticBackgroundVisibility: false,
        disableBackgroundFilterBlur: true,
        middle: Text(
          'CupertinoNavigationBar Sample',
          style: TextStyle(color: CupertinoColors.activeBlue),
        ),
      ),
      child: Column(
        children: [
          Image(
            image: NetworkImage(
                'https://flutter.github.io/assets-for-api-docs/assets/widgets/owl.jpg'),
          ),
        ],
      ),
    );
  }
} 
```

</details>
2024-08-26 21:40:47 +00:00
Reid Baker
114dd89bbb
Update flutter build apk -h to indicate that target arch is not supported in debug mode. (#154111)
Part of #153359
2024-08-26 19:48:46 +00:00
flutter-pub-roller-bot
1a5cbbfbe8
Roll pub packages (#154126)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-08-26 19:36:13 +00:00
Bruno Leroux
309ae21448
Add M3 Intrinsic width tests for InputDecoration (#154098)
## Description

This PR migrates InputDecorator intrinsic width tests to M3.

## Related Issue

Part of https://github.com/flutter/flutter/issues/139076
2024-08-26 18:40:55 +00:00
Loïc Sharma
ebfaa45c7d
[Windows] Improve symlink ERROR_ACCESS_DENIED error message (#154030)
Currently, if creating a symlink on Windows fails due to `ERROR_ACCESS_DENIED`, you'll get an error message like:

```
Error: ERROR_ACCESS_DENIED file system exception thrown while trying to create a symlink from source to dest
```

The `source` and `dest` paths are incorrect.

This will help us debug: https://github.com/flutter/flutter/issues/153758
2024-08-26 17:52:11 +00:00
Lau Ching Jun
9032717eac
Add ability to provide selectableDayPredicate for showDateRangePicker (#154090)
This PR is a reland of #150355

The PR was reverted due to a failing test, but it was later determined that the test was flaky.
2024-08-26 17:52:08 +00:00
auto-submit[bot]
a7eaca934d
Reverts "Add ability to provide selectableDayPredicate for showDateRangePicker (#150355)" (#154089)
Reverts: flutter/flutter#150355
Initiated by: chingjun
Reason for reverting: this is breaking an internal test.
Original PR Author: Chuckame

Reviewed By: {victorsanni, MitchellGoodwin}

This change reverts the following previous change:
- Closes #63973
- Now able to provide a `selectableDayPredicate`
- No breaking change (same behavior as before if not set)
- Reuse the same feature as the DatePicker: non-selectable days are greyed and not clickable
- Reuse the same error message as if the user set a wrong date range
- Made public `CalendarDateRangePicker`, actually the same for `CalendarDatePicker`, to allow using the range picker outside the `showDateRangePicker` bottom sheet modal

## Examples
- Disable days after the next non selectable day when start day has been selected

https://github.com/flutter/flutter/assets/16419143/2a2be325-1e2f-470c-8b17-b4ed5b2ad43e

- Select a range including non-selectable days

<img width="363" alt="image" src="https://github.com/flutter/flutter/assets/16419143/21e32def-46f0-41d6-974f-281a0405e28e">
2024-08-26 04:33:30 +00:00
Chuckame
950af9515a
Add ability to provide selectableDayPredicate for showDateRangePicker (#150355)
- Closes #63973
- Now able to provide a `selectableDayPredicate`
- No breaking change (same behavior as before if not set)
- Reuse the same feature as the DatePicker: non-selectable days are greyed and not clickable
- Reuse the same error message as if the user set a wrong date range
- Made public `CalendarDateRangePicker`, actually the same for `CalendarDatePicker`, to allow using the range picker outside the `showDateRangePicker` bottom sheet modal

## Examples
- Disable days after the next non selectable day when start day has been selected

https://github.com/flutter/flutter/assets/16419143/2a2be325-1e2f-470c-8b17-b4ed5b2ad43e

- Select a range including non-selectable days

<img width="363" alt="image" src="https://github.com/flutter/flutter/assets/16419143/21e32def-46f0-41d6-974f-281a0405e28e">
2024-08-25 20:14:06 +00:00
Chris Bracken
11ab37ee81
macOS: Copy macOS framwork dSYM into build outputs (#153975)
As of Xcode 16, App Store validation now requires that apps uploaded to the App store bundle dSYM debug information bundles for each Framework they embed.

dSYM bundles are packaged in the FlutterMacOS.xcframework shipped in the `darwin-x64-release` tools archive as of engine patches:
* https://github.com/flutter/engine/pull/54696

This copies the FlutterMacOS.framework.dSYM bundle from the tools cache to the build outputs produced by `flutter build macOS`.

Fixes: https://github.com/flutter/flutter/issues/153879
2024-08-24 00:14:15 +00:00
flutter-pub-roller-bot
53805d5ba9
Roll pub packages (#154026)
This PR was generated by `flutter update-packages --force-upgrade`.
2024-08-23 21:46:04 +00:00
yim
37ba70cef5
Fix Cupertino route animation. (#153765)
Fixes: #48225 
Fixes: #73026 
Fixes: #62848

After some research, I found that the issue might simply be that our animation curve is too steep, causing the animation to continue while the page visually appears very close to popping. This PR modifies the animation curve and duration after the drag gesture is released (iOS native animation duration is not related to swipe distance). I recorded a video comparing the curves. From top to bottom, the video shows the iOS native curve, the curve modified by this PR, and the original curve. The animation duration is slowed down by 10 times.

1/2

https://github.com/user-attachments/assets/77d0a782-b56d-431b-b925-8ff4e825c14a

1/4

https://github.com/user-attachments/assets/a4c50219-e86d-4cce-8a92-b266eb6260a8

forward  1/2

https://github.com/user-attachments/assets/067fffc2-203b-4686-ba4c-3b61a2c98cf8

forward  1/4

https://github.com/user-attachments/assets/c1ae938f-76ab-42f8-a832-d2d0e6c0758d
2024-08-23 20:45:22 +00:00
Pavlo Kochylo
a4b0d973fb
Added new constructor RefreshIndicator.noSpinner() (#152075)
This PR adds a new constructor to the RefreshIndicator's class, which is `noSpinner`.
The purpose of this new constructor is to create a RefreshIndicator that doesn't show a spinner when the user arms it by pulling.

The work is based on a partial that is here: https://github.com/flutter/flutter/pull/133507

I addressed the following issues reported in the PR above:
- in the example for `noSpinner`, arming the RefreshIndicator now shows a CircularProgressIndicator, instead of just printing text to the console;
- added a test for the new example;
- added a doc comment on the new constructor;

Fixes https://github.com/flutter/flutter/issues/132775
2024-08-23 20:37:24 +00:00
Matan Lurey
5e194383af
Add a test of an Android platform view that draws a gradient (#153878)
Closes https://github.com/flutter/flutter/issues/152376.

The gradient, for posterity, looks like this:

<img src="https://github.com/user-attachments/assets/bed9599a-4e16-499c-af79-b51980095e89" width="150">

Let's see if CI agrees!

/cc @johnmccutchan
2024-08-23 18:25:40 +00:00
Andrew Kolos
327193af9a
override Analytics in TestBed defaults (#153990)
Fixes https://github.com/flutter/flutter/issues/150663
2024-08-23 18:13:10 +00:00