diff --git a/.github/workflows/dart_code_metrics.yaml b/.github/workflows/dart_code_metrics.yaml index a5ffc54d..54f9025e 100644 --- a/.github/workflows/dart_code_metrics.yaml +++ b/.github/workflows/dart_code_metrics.yaml @@ -1,7 +1,7 @@ name: Dart Code Metrics env: - flutter_version: "3.7.0" + flutter_version: "3.10.0" folders: "lib, test" on: diff --git a/.github/workflows/stream_flutter_workflow.yml b/.github/workflows/stream_flutter_workflow.yml index b63933bb..03c7c49c 100644 --- a/.github/workflows/stream_flutter_workflow.yml +++ b/.github/workflows/stream_flutter_workflow.yml @@ -2,7 +2,7 @@ name: stream_flutter_workflow env: ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' - flutter_version: "3.7.0" + flutter_version: "3.10.0" on: pull_request: diff --git a/melos.yaml b/melos.yaml index 23289dff..6b93f812 100644 --- a/melos.yaml +++ b/melos.yaml @@ -26,9 +26,9 @@ scripts: - Note: you can also rely on your IDEs Dart Analysis / Issues window. format: - run: flutter format --set-exit-if-changed . + run: dart format --set-exit-if-changed . description: | - Run `flutter format --set-exit-if-changed .` in all packages. + Run `dart format --set-exit-if-changed .` in all packages. metrics: run: | diff --git a/packages/stream_chat_flutter/example/lib/split_view.dart b/packages/stream_chat_flutter/example/lib/split_view.dart index bbfe6301..4a83a450 100644 --- a/packages/stream_chat_flutter/example/lib/split_view.dart +++ b/packages/stream_chat_flutter/example/lib/split_view.dart @@ -128,12 +128,12 @@ class ChannelPage extends StatelessWidget { @override Widget build(BuildContext context) => Navigator( onGenerateRoute: (settings) => MaterialPageRoute( - builder: (context) => Scaffold( - appBar: const StreamChannelHeader( + builder: (context) => const Scaffold( + appBar: StreamChannelHeader( showBackButton: false, ), body: Column( - children: const [ + children: [ Expanded( child: StreamMessageListView(), ), diff --git a/packages/stream_chat_flutter/example/lib/tutorial_part_1.dart b/packages/stream_chat_flutter/example/lib/tutorial_part_1.dart index d847fa3a..ac6908e3 100644 --- a/packages/stream_chat_flutter/example/lib/tutorial_part_1.dart +++ b/packages/stream_chat_flutter/example/lib/tutorial_part_1.dart @@ -91,10 +91,10 @@ class ChannelPage extends StatelessWidget { @override // ignore: prefer_expression_function_bodies Widget build(BuildContext context) { - return Scaffold( - appBar: const StreamChannelHeader(), + return const Scaffold( + appBar: StreamChannelHeader(), body: Column( - children: const [ + children: [ Expanded( child: StreamMessageListView(), ), diff --git a/packages/stream_chat_flutter/example/lib/tutorial_part_2.dart b/packages/stream_chat_flutter/example/lib/tutorial_part_2.dart index 0c509b51..d6b972fc 100644 --- a/packages/stream_chat_flutter/example/lib/tutorial_part_2.dart +++ b/packages/stream_chat_flutter/example/lib/tutorial_part_2.dart @@ -126,10 +126,10 @@ class ChannelPage extends StatelessWidget { @override Widget build(BuildContext context) { - return Scaffold( - appBar: const StreamChannelHeader(), + return const Scaffold( + appBar: StreamChannelHeader(), body: Column( - children: const [ + children: [ Expanded( child: StreamMessageListView(), ), diff --git a/packages/stream_chat_flutter/example/lib/tutorial_part_3.dart b/packages/stream_chat_flutter/example/lib/tutorial_part_3.dart index 39dca5fa..fa42566a 100644 --- a/packages/stream_chat_flutter/example/lib/tutorial_part_3.dart +++ b/packages/stream_chat_flutter/example/lib/tutorial_part_3.dart @@ -168,10 +168,10 @@ class ChannelPage extends StatelessWidget { @override Widget build(BuildContext context) { - return Scaffold( - appBar: const StreamChannelHeader(), + return const Scaffold( + appBar: StreamChannelHeader(), body: Column( - children: const [ + children: [ Expanded( child: StreamMessageListView(), ), diff --git a/packages/stream_chat_flutter/lib/src/misc/reaction_icon.dart b/packages/stream_chat_flutter/lib/src/misc/reaction_icon.dart index c1f6c144..60ac8fe9 100644 --- a/packages/stream_chat_flutter/lib/src/misc/reaction_icon.dart +++ b/packages/stream_chat_flutter/lib/src/misc/reaction_icon.dart @@ -5,6 +5,7 @@ import 'package:flutter/material.dart'; /// {@endtemplate} typedef ReactionIconBuilder = Widget Function( BuildContext context, + // ignore: avoid_positional_boolean_parameters bool isHighlighted, double iconSize, ); diff --git a/packages/stream_chat_flutter/lib/src/scroll_view/photo_gallery/stream_photo_gallery_tile.dart b/packages/stream_chat_flutter/lib/src/scroll_view/photo_gallery/stream_photo_gallery_tile.dart index 1be65741..b93686d0 100644 --- a/packages/stream_chat_flutter/lib/src/scroll_view/photo_gallery/stream_photo_gallery_tile.dart +++ b/packages/stream_chat_flutter/lib/src/scroll_view/photo_gallery/stream_photo_gallery_tile.dart @@ -202,9 +202,9 @@ class MediaThumbnailProvider extends ImageProvider { } @override - ImageStreamCompleter loadBuffer( + ImageStreamCompleter loadImage( MediaThumbnailProvider key, - DecoderBufferCallback decode, + ImageDecoderCallback decode, ) { return MultiFrameImageStreamCompleter( codec: _loadAsync(key, decode), @@ -221,7 +221,7 @@ class MediaThumbnailProvider extends ImageProvider { Future _loadAsync( MediaThumbnailProvider key, - DecoderBufferCallback decode, + ImageDecoderCallback decode, ) async { assert(key == this, '$key is not $this'); final bytes = await media.thumbnailDataWithSize( diff --git a/packages/stream_chat_flutter/lib/src/utils/typedefs.dart b/packages/stream_chat_flutter/lib/src/utils/typedefs.dart index 6cc581bf..db69e94e 100644 --- a/packages/stream_chat_flutter/lib/src/utils/typedefs.dart +++ b/packages/stream_chat_flutter/lib/src/utils/typedefs.dart @@ -348,6 +348,7 @@ typedef KeyEventPredicate = bool Function(FocusNode, KeyEvent); /// {@template userItemBuilder} /// Builder used to create a custom [ListUserItem] from a [User] /// {@endtemplate} +// ignore: avoid_positional_boolean_parameters typedef UserItemBuilder = Widget Function(BuildContext, User, bool); /// The action to perform when the "scroll to bottom" button is pressed diff --git a/packages/stream_chat_flutter/test/scrollable_positioned_list/horizontal_scrollable_positioned_list_test.dart b/packages/stream_chat_flutter/test/scrollable_positioned_list/horizontal_scrollable_positioned_list_test.dart index 73568c19..085abd22 100644 --- a/packages/stream_chat_flutter/test/scrollable_positioned_list/horizontal_scrollable_positioned_list_test.dart +++ b/packages/stream_chat_flutter/test/scrollable_positioned_list/horizontal_scrollable_positioned_list_test.dart @@ -22,9 +22,8 @@ void main() { EdgeInsets? padding, int initialScrollIndex = 0, }) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); await tester.pumpWidget( MaterialApp( diff --git a/packages/stream_chat_flutter/test/scrollable_positioned_list/positioned_list_test.dart b/packages/stream_chat_flutter/test/scrollable_positioned_list/positioned_list_test.dart index 96e10a4c..887165a5 100644 --- a/packages/stream_chat_flutter/test/scrollable_positioned_list/positioned_list_test.dart +++ b/packages/stream_chat_flutter/test/scrollable_positioned_list/positioned_list_test.dart @@ -24,9 +24,8 @@ void main() { double anchor = 0, int itemCount = defaultItemCount, }) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); await tester.pumpWidget( MaterialApp( diff --git a/packages/stream_chat_flutter/test/scrollable_positioned_list/reversed_positioned_list_test.dart b/packages/stream_chat_flutter/test/scrollable_positioned_list/reversed_positioned_list_test.dart index 272e2459..828f17e3 100644 --- a/packages/stream_chat_flutter/test/scrollable_positioned_list/reversed_positioned_list_test.dart +++ b/packages/stream_chat_flutter/test/scrollable_positioned_list/reversed_positioned_list_test.dart @@ -23,9 +23,8 @@ void main() { double anchor = 0, int itemCount = defaultItemCount, }) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); await tester.pumpWidget( MaterialApp( diff --git a/packages/stream_chat_flutter/test/scrollable_positioned_list/reversed_scrollable_positioned_list_test.dart b/packages/stream_chat_flutter/test/scrollable_positioned_list/reversed_scrollable_positioned_list_test.dart index cb8d07e3..3888ac91 100644 --- a/packages/stream_chat_flutter/test/scrollable_positioned_list/reversed_scrollable_positioned_list_test.dart +++ b/packages/stream_chat_flutter/test/scrollable_positioned_list/reversed_scrollable_positioned_list_test.dart @@ -21,9 +21,8 @@ void main() { EdgeInsets? padding, int initialIndex = 0, }) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); await tester.pumpWidget( MaterialApp( diff --git a/packages/stream_chat_flutter/test/scrollable_positioned_list/scrollable_positioned_list_test.dart b/packages/stream_chat_flutter/test/scrollable_positioned_list/scrollable_positioned_list_test.dart index 55fe0c7e..0b44f7d8 100644 --- a/packages/stream_chat_flutter/test/scrollable_positioned_list/scrollable_positioned_list_test.dart +++ b/packages/stream_chat_flutter/test/scrollable_positioned_list/scrollable_positioned_list_test.dart @@ -37,9 +37,8 @@ void main() { double? minCacheExtent, bool variableHeight = false, }) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); await tester.pumpWidget( MaterialApp( @@ -105,9 +104,8 @@ void main() { testWidgets('List positioned with 0 at top - use default values', (WidgetTester tester) async { final itemPositionsListener = ItemPositionsListener.create(); - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); await tester.pumpWidget( MaterialApp( @@ -1543,9 +1541,8 @@ void main() { final itemPositionsListener = ItemPositionsListener.create(); final itemScrollController = ItemScrollController(); - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); await tester.pumpWidget( MaterialApp( @@ -1600,9 +1597,8 @@ void main() { final itemPositionsListener = ItemPositionsListener.create(); final itemScrollController = ItemScrollController(); - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); await tester.pumpWidget( MaterialApp( @@ -1661,9 +1657,8 @@ void main() { final itemPositionsListener = ItemPositionsListener.create(); final itemScrollController = ItemScrollController(); - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); await tester.pumpWidget( MaterialApp( @@ -1732,9 +1727,8 @@ void main() { testWidgets('Jump to 100 then set itemCount to 0', (WidgetTester tester) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); final itemScrollController = ItemScrollController(); final itemPositionsListener = ItemPositionsListener.create(); @@ -1781,9 +1775,8 @@ void main() { testWidgets('List positioned with 100 at top then set itemCount to 100', (WidgetTester tester) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); final itemCount = ValueNotifier(defaultItemCount); @@ -1823,9 +1816,8 @@ void main() { testWidgets('List positioned with 499 at bottom then set itemCount to 100', (WidgetTester tester) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); final itemCount = ValueNotifier(defaultItemCount); @@ -1943,9 +1935,8 @@ void main() { }); testWidgets('Rebuild with scroll controller', (WidgetTester tester) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); final key = ValueNotifier(const ValueKey('key')); final itemScrollController = ItemScrollController(); @@ -1986,9 +1977,8 @@ void main() { testWidgets('Double rebuild with scroll controller', (WidgetTester tester) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); final outerKey = ValueNotifier(const ValueKey('outerKey')); final innerKey = GlobalKey(); final listKey = ValueNotifier(const ValueKey(null)); @@ -2036,9 +2026,8 @@ void main() { }); testWidgets('Key change with scroll controller', (WidgetTester tester) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); final key = ValueNotifier(const ValueKey('key')); final itemScrollController = ItemScrollController(); @@ -2070,9 +2059,8 @@ void main() { }); testWidgets('Scroll after rebuild', (WidgetTester tester) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); final key = ValueNotifier(const ValueKey('key')); final itemScrollController = ItemScrollController(); @@ -2113,9 +2101,8 @@ void main() { testWidgets('Scroll after rebuild when resusing state', (WidgetTester tester) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); final containerKey = ValueNotifier(const ValueKey('key')); final scrollKey = GlobalKey(); final itemScrollController = ItemScrollController(); @@ -2158,9 +2145,8 @@ void main() { testWidgets('Scroll after changing scroll controller', (WidgetTester tester) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); final itemScrollController0 = ItemScrollController(); final itemScrollController1 = ItemScrollController(); @@ -2205,9 +2191,8 @@ void main() { testWidgets('Scroll after swapping scroll controllers', (WidgetTester tester) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); final itemScrollController0 = ItemScrollController(); final itemScrollController1 = ItemScrollController(); diff --git a/packages/stream_chat_flutter/test/scrollable_positioned_list/separated_positioned_list_test.dart b/packages/stream_chat_flutter/test/scrollable_positioned_list/separated_positioned_list_test.dart index 47f75a5e..f6dc2b5c 100644 --- a/packages/stream_chat_flutter/test/scrollable_positioned_list/separated_positioned_list_test.dart +++ b/packages/stream_chat_flutter/test/scrollable_positioned_list/separated_positioned_list_test.dart @@ -25,9 +25,8 @@ void main() { double anchor = 0, int itemCount = defaultItemCount, }) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); await tester.pumpWidget( MaterialApp( diff --git a/packages/stream_chat_flutter/test/scrollable_positioned_list/separated_scrollable_positioned_list_test.dart b/packages/stream_chat_flutter/test/scrollable_positioned_list/separated_scrollable_positioned_list_test.dart index c7439d5c..c1d00df0 100644 --- a/packages/stream_chat_flutter/test/scrollable_positioned_list/separated_scrollable_positioned_list_test.dart +++ b/packages/stream_chat_flutter/test/scrollable_positioned_list/separated_scrollable_positioned_list_test.dart @@ -33,9 +33,8 @@ void main() { bool addRepaintBoundaries = true, bool addAutomaticKeepAlives = true, }) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); await tester.pumpWidget( MaterialApp( @@ -100,9 +99,8 @@ void main() { testWidgets('List positioned with 0 at top - use default values', (WidgetTester tester) async { final itemPositionsListener = ItemPositionsListener.create(); - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); await tester.pumpWidget( MaterialApp( @@ -484,9 +482,8 @@ void main() { testWidgets('Empty list then update to single item list', (WidgetTester tester) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); final itemScrollController = ItemScrollController(); final itemPositionsListener = ItemPositionsListener.create(); @@ -526,9 +523,8 @@ void main() { testWidgets('ItemPositions: Empty list then update to 10 items list', (WidgetTester tester) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); final itemScrollController = ItemScrollController(); final itemPositionsListener = ItemPositionsListener.create(); diff --git a/packages/stream_chat_flutter/test/scrollable_positioned_list/seperated_horizontal_scrollable_positioned_list_test.dart b/packages/stream_chat_flutter/test/scrollable_positioned_list/seperated_horizontal_scrollable_positioned_list_test.dart index f92c9903..c1276c10 100644 --- a/packages/stream_chat_flutter/test/scrollable_positioned_list/seperated_horizontal_scrollable_positioned_list_test.dart +++ b/packages/stream_chat_flutter/test/scrollable_positioned_list/seperated_horizontal_scrollable_positioned_list_test.dart @@ -24,9 +24,8 @@ void main() { EdgeInsets? padding, int initialScrollIndex = 0, }) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); await tester.pumpWidget( MaterialApp( diff --git a/packages/stream_chat_flutter/test/scrollable_positioned_list/shrink_wrap_position_list_test.dart b/packages/stream_chat_flutter/test/scrollable_positioned_list/shrink_wrap_position_list_test.dart index c5d94670..8cf4303c 100644 --- a/packages/stream_chat_flutter/test/scrollable_positioned_list/shrink_wrap_position_list_test.dart +++ b/packages/stream_chat_flutter/test/scrollable_positioned_list/shrink_wrap_position_list_test.dart @@ -25,9 +25,8 @@ void main() { int itemCount = defaultItemCount, bool reverse = false, }) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); await tester.pumpWidget( MaterialApp( @@ -421,9 +420,8 @@ void main() { testWidgets('test nested positioned list', (WidgetTester tester) async { const itemCount = 50; const key = Key('short_list'); - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); await tester.pumpWidget( MaterialApp( diff --git a/packages/stream_chat_flutter/test/scrollable_positioned_list/shrink_wrap_scrollable_position_list_test.dart b/packages/stream_chat_flutter/test/scrollable_positioned_list/shrink_wrap_scrollable_position_list_test.dart index cc3725aa..c324d217 100644 --- a/packages/stream_chat_flutter/test/scrollable_positioned_list/shrink_wrap_scrollable_position_list_test.dart +++ b/packages/stream_chat_flutter/test/scrollable_positioned_list/shrink_wrap_scrollable_position_list_test.dart @@ -21,9 +21,8 @@ void main() { EdgeInsets? padding, int initialIndex = 0, }) async { - tester.binding.window.devicePixelRatioTestValue = 1.0; - tester.binding.window.physicalSizeTestValue = - const Size(screenWidth, screenHeight); + tester.view.devicePixelRatio = 1.0; + tester.view.physicalSize = const Size(screenWidth, screenHeight); await tester.pumpWidget( MaterialApp( diff --git a/packages/stream_chat_flutter/test/src/avatars/group_avatar_test.dart b/packages/stream_chat_flutter/test/src/avatars/group_avatar_test.dart index 5ae770ce..eec8326d 100644 --- a/packages/stream_chat_flutter/test/src/avatars/group_avatar_test.dart +++ b/packages/stream_chat_flutter/test/src/avatars/group_avatar_test.dart @@ -39,20 +39,27 @@ void main() { }); setUp(() { - methodChannel.setMockMethodCallHandler((MethodCall methodCall) async { - if (methodCall.method == 'listen') { - try { - await ServicesBinding.instance.defaultBinaryMessenger - .handlePlatformMessage( - methodChannel.name, - methodChannel.codec.encodeSuccessEnvelope('wifi'), - (_) {}, - ); - } catch (e) { - print(e); + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger + .setMockMethodCallHandler( + methodChannel, + (MethodCall methodCall) async { + if (methodCall.method == 'listen') { + try { + await TestDefaultBinaryMessengerBinding + .instance.defaultBinaryMessenger + .handlePlatformMessage( + methodChannel.name, + methodChannel.codec.encodeSuccessEnvelope('wifi'), + (_) {}, + ); + } catch (e) { + print(e); + } } - } - }); + + return null; + }, + ); }); testWidgets( @@ -118,7 +125,8 @@ void main() { ); tearDown(() { - methodChannel.setMockMethodCallHandler(null); + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger + .setMockMethodCallHandler(methodChannel, null); }); /*testGoldens( diff --git a/packages/stream_chat_flutter/test/src/bottom_sheets/edit_message_sheet_test.dart b/packages/stream_chat_flutter/test/src/bottom_sheets/edit_message_sheet_test.dart index 828c40d1..48ccde03 100644 --- a/packages/stream_chat_flutter/test/src/bottom_sheets/edit_message_sheet_test.dart +++ b/packages/stream_chat_flutter/test/src/bottom_sheets/edit_message_sheet_test.dart @@ -11,10 +11,13 @@ void main() { const methodChannel = MethodChannel('dev.fluttercommunity.plus/connectivity_status'); setUp(() { - methodChannel.setMockMethodCallHandler((MethodCall methodCall) async { + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger + .setMockMethodCallHandler(methodChannel, + (MethodCall methodCall) async { if (methodCall.method == 'listen') { try { - await ServicesBinding.instance.defaultBinaryMessenger + await TestDefaultBinaryMessengerBinding + .instance.defaultBinaryMessenger .handlePlatformMessage( methodChannel.name, methodChannel.codec.encodeSuccessEnvelope('wifi'), @@ -24,6 +27,7 @@ void main() { print(e); } } + return null; }); }); @@ -87,7 +91,8 @@ void main() { ); tearDown(() { - methodChannel.setMockMethodCallHandler(null); + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger + .setMockMethodCallHandler(methodChannel, null); }); }); } diff --git a/packages/stream_chat_flutter/test/src/bottom_sheets/error_alert_sheet_test.dart b/packages/stream_chat_flutter/test/src/bottom_sheets/error_alert_sheet_test.dart index 4e6f8b73..cc461817 100644 --- a/packages/stream_chat_flutter/test/src/bottom_sheets/error_alert_sheet_test.dart +++ b/packages/stream_chat_flutter/test/src/bottom_sheets/error_alert_sheet_test.dart @@ -11,10 +11,13 @@ void main() { const methodChannel = MethodChannel('dev.fluttercommunity.plus/connectivity_status'); setUp(() { - methodChannel.setMockMethodCallHandler((MethodCall methodCall) async { + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger + .setMockMethodCallHandler(methodChannel, + (MethodCall methodCall) async { if (methodCall.method == 'listen') { try { - await ServicesBinding.instance.defaultBinaryMessenger + await TestDefaultBinaryMessengerBinding + .instance.defaultBinaryMessenger .handlePlatformMessage( methodChannel.name, methodChannel.codec.encodeSuccessEnvelope('wifi'), @@ -24,6 +27,7 @@ void main() { print(e); } } + return null; }); }); @@ -93,7 +97,8 @@ void main() { ); tearDown(() { - methodChannel.setMockMethodCallHandler(null); + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger + .setMockMethodCallHandler(methodChannel, null); }); }); } diff --git a/packages/stream_chat_flutter/test/src/gallery/gallery_footer_test.dart b/packages/stream_chat_flutter/test/src/gallery/gallery_footer_test.dart index e1c1f29a..c8b5cc71 100644 --- a/packages/stream_chat_flutter/test/src/gallery/gallery_footer_test.dart +++ b/packages/stream_chat_flutter/test/src/gallery/gallery_footer_test.dart @@ -40,10 +40,12 @@ void main() { }); setUp(() { - methodChannel.setMockMethodCallHandler((MethodCall methodCall) async { + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger + .setMockMethodCallHandler(methodChannel, (MethodCall methodCall) async { if (methodCall.method == 'listen') { try { - await ServicesBinding.instance.defaultBinaryMessenger + await TestDefaultBinaryMessengerBinding + .instance.defaultBinaryMessenger .handlePlatformMessage( methodChannel.name, methodChannel.codec.encodeSuccessEnvelope('wifi'), @@ -53,6 +55,7 @@ void main() { print(e); } } + return null; }); }); @@ -106,6 +109,7 @@ void main() { }); tearDown(() { - methodChannel.setMockMethodCallHandler(null); + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger + .setMockMethodCallHandler(methodChannel, null); }); } diff --git a/packages/stream_chat_flutter/test/src/gallery/gallery_header_test.dart b/packages/stream_chat_flutter/test/src/gallery/gallery_header_test.dart index 63973770..bc8a3a7a 100644 --- a/packages/stream_chat_flutter/test/src/gallery/gallery_header_test.dart +++ b/packages/stream_chat_flutter/test/src/gallery/gallery_header_test.dart @@ -40,10 +40,12 @@ void main() { }); setUp(() { - methodChannel.setMockMethodCallHandler((MethodCall methodCall) async { + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger + .setMockMethodCallHandler(methodChannel, (MethodCall methodCall) async { if (methodCall.method == 'listen') { try { - await ServicesBinding.instance.defaultBinaryMessenger + await TestDefaultBinaryMessengerBinding + .instance.defaultBinaryMessenger .handlePlatformMessage( methodChannel.name, methodChannel.codec.encodeSuccessEnvelope('wifi'), @@ -53,6 +55,7 @@ void main() { print(e); } } + return null; }); }); @@ -110,6 +113,7 @@ void main() { }); tearDown(() { - methodChannel.setMockMethodCallHandler(null); + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger + .setMockMethodCallHandler(methodChannel, null); }); } diff --git a/packages/stream_chat_localizations/example/lib/add_new_lang.dart b/packages/stream_chat_localizations/example/lib/add_new_lang.dart index 3f3b5bdb..bab8101b 100644 --- a/packages/stream_chat_localizations/example/lib/add_new_lang.dart +++ b/packages/stream_chat_localizations/example/lib/add_new_lang.dart @@ -577,10 +577,10 @@ class ChannelPage extends StatelessWidget { @override Widget build(BuildContext context) { - return Scaffold( - appBar: const StreamChannelHeader(), + return const Scaffold( + appBar: StreamChannelHeader(), body: Column( - children: const [ + children: [ Expanded( child: StreamMessageListView(), ), diff --git a/packages/stream_chat_localizations/example/lib/main.dart b/packages/stream_chat_localizations/example/lib/main.dart index ae8aa2b9..22abb65f 100644 --- a/packages/stream_chat_localizations/example/lib/main.dart +++ b/packages/stream_chat_localizations/example/lib/main.dart @@ -106,10 +106,10 @@ class ChannelPage extends StatelessWidget { @override Widget build(BuildContext context) { - return Scaffold( - appBar: const StreamChannelHeader(), + return const Scaffold( + appBar: StreamChannelHeader(), body: Column( - children: const [ + children: [ Expanded( child: StreamMessageListView(), ), diff --git a/packages/stream_chat_localizations/example/lib/override_lang.dart b/packages/stream_chat_localizations/example/lib/override_lang.dart index c37094cc..1dc05f91 100644 --- a/packages/stream_chat_localizations/example/lib/override_lang.dart +++ b/packages/stream_chat_localizations/example/lib/override_lang.dart @@ -133,10 +133,10 @@ class ChannelPage extends StatelessWidget { @override Widget build(BuildContext context) { - return Scaffold( - appBar: const StreamChannelHeader(), + return const Scaffold( + appBar: StreamChannelHeader(), body: Column( - children: const [ + children: [ Expanded( child: StreamMessageListView(), ), diff --git a/packages/stream_chat_persistence/lib/src/dao/channel_query_dao.dart b/packages/stream_chat_persistence/lib/src/dao/channel_query_dao.dart index acac4993..e7a74f58 100644 --- a/packages/stream_chat_persistence/lib/src/dao/channel_query_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/channel_query_dao.dart @@ -81,13 +81,13 @@ class ChannelQueryDao extends DatabaseAccessor final cachedChannelCids = await getCachedChannelCids(filter); final query = select(channels)..where((c) => c.cid.isIn(cachedChannelCids)); - final cachedChannels = await (query.join([ + final cachedChannels = await query.join([ leftOuterJoin(users, channels.createdById.equalsExp(users.id)), ]).map((row) { final createdByEntity = row.readTableOrNull(users); final channelEntity = row.readTable(channels); return channelEntity.toChannelModel(createdBy: createdByEntity?.toUser()); - })).get(); + }).get(); var chainedComparator = (ChannelModel a, ChannelModel b) { final dateA = a.lastMessageAt ?? a.createdAt; diff --git a/packages/stream_chat_persistence/lib/src/dao/member_dao.dart b/packages/stream_chat_persistence/lib/src/dao/member_dao.dart index ccf843fb..fb345d3b 100644 --- a/packages/stream_chat_persistence/lib/src/dao/member_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/member_dao.dart @@ -1,10 +1,8 @@ import 'package:drift/drift.dart'; import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart'; - import 'package:stream_chat_persistence/src/entity/members.dart'; import 'package:stream_chat_persistence/src/entity/users.dart'; - import 'package:stream_chat_persistence/src/mapper/mapper.dart'; part 'member_dao.g.dart'; @@ -39,9 +37,9 @@ class MemberDao extends DatabaseAccessor ) { final entities = channelWithMembers.entries .map((entry) => - (entry.value?.map( + entry.value?.map( (member) => member.toEntity(cid: entry.key), - )) ?? + ) ?? []) .expand((it) => it) .toList(growable: false);