chore(ui, localization, persistence): migrate code, test to flutter 3.10.0.

Signed-off-by: xsahil03x <[email protected]>
This commit is contained in:
Sahil Kumar
2023-05-16 17:04:35 +05:30
committed by xsahil03x
parent 935f6984f7
commit 97238930d0
25 changed files with 136 additions and 140 deletions
@@ -128,12 +128,12 @@ class ChannelPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) => Navigator( Widget build(BuildContext context) => Navigator(
onGenerateRoute: (settings) => MaterialPageRoute( onGenerateRoute: (settings) => MaterialPageRoute(
builder: (context) => Scaffold( builder: (context) => const Scaffold(
appBar: const StreamChannelHeader( appBar: StreamChannelHeader(
showBackButton: false, showBackButton: false,
), ),
body: Column( body: Column(
children: const <Widget>[ children: <Widget>[
Expanded( Expanded(
child: StreamMessageListView(), child: StreamMessageListView(),
), ),
@@ -91,10 +91,10 @@ class ChannelPage extends StatelessWidget {
@override @override
// ignore: prefer_expression_function_bodies // ignore: prefer_expression_function_bodies
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return const Scaffold(
appBar: const StreamChannelHeader(), appBar: StreamChannelHeader(),
body: Column( body: Column(
children: const <Widget>[ children: <Widget>[
Expanded( Expanded(
child: StreamMessageListView(), child: StreamMessageListView(),
), ),
@@ -126,10 +126,10 @@ class ChannelPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return const Scaffold(
appBar: const StreamChannelHeader(), appBar: StreamChannelHeader(),
body: Column( body: Column(
children: const <Widget>[ children: <Widget>[
Expanded( Expanded(
child: StreamMessageListView(), child: StreamMessageListView(),
), ),
@@ -168,10 +168,10 @@ class ChannelPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return const Scaffold(
appBar: const StreamChannelHeader(), appBar: StreamChannelHeader(),
body: Column( body: Column(
children: const <Widget>[ children: <Widget>[
Expanded( Expanded(
child: StreamMessageListView(), child: StreamMessageListView(),
), ),
@@ -202,9 +202,9 @@ class MediaThumbnailProvider extends ImageProvider<MediaThumbnailProvider> {
} }
@override @override
ImageStreamCompleter loadBuffer( ImageStreamCompleter loadImage(
MediaThumbnailProvider key, MediaThumbnailProvider key,
DecoderBufferCallback decode, ImageDecoderCallback decode,
) { ) {
return MultiFrameImageStreamCompleter( return MultiFrameImageStreamCompleter(
codec: _loadAsync(key, decode), codec: _loadAsync(key, decode),
@@ -221,7 +221,7 @@ class MediaThumbnailProvider extends ImageProvider<MediaThumbnailProvider> {
Future<ui.Codec> _loadAsync( Future<ui.Codec> _loadAsync(
MediaThumbnailProvider key, MediaThumbnailProvider key,
DecoderBufferCallback decode, ImageDecoderCallback decode,
) async { ) async {
assert(key == this, '$key is not $this'); assert(key == this, '$key is not $this');
final bytes = await media.thumbnailDataWithSize( final bytes = await media.thumbnailDataWithSize(
@@ -22,9 +22,8 @@ void main() {
EdgeInsets? padding, EdgeInsets? padding,
int initialScrollIndex = 0, int initialScrollIndex = 0,
}) async { }) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
await tester.pumpWidget( await tester.pumpWidget(
MaterialApp( MaterialApp(
@@ -24,9 +24,8 @@ void main() {
double anchor = 0, double anchor = 0,
int itemCount = defaultItemCount, int itemCount = defaultItemCount,
}) async { }) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
await tester.pumpWidget( await tester.pumpWidget(
MaterialApp( MaterialApp(
@@ -23,9 +23,8 @@ void main() {
double anchor = 0, double anchor = 0,
int itemCount = defaultItemCount, int itemCount = defaultItemCount,
}) async { }) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
await tester.pumpWidget( await tester.pumpWidget(
MaterialApp( MaterialApp(
@@ -21,9 +21,8 @@ void main() {
EdgeInsets? padding, EdgeInsets? padding,
int initialIndex = 0, int initialIndex = 0,
}) async { }) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
await tester.pumpWidget( await tester.pumpWidget(
MaterialApp( MaterialApp(
@@ -37,9 +37,8 @@ void main() {
double? minCacheExtent, double? minCacheExtent,
bool variableHeight = false, bool variableHeight = false,
}) async { }) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
await tester.pumpWidget( await tester.pumpWidget(
MaterialApp( MaterialApp(
@@ -105,9 +104,8 @@ void main() {
testWidgets('List positioned with 0 at top - use default values', testWidgets('List positioned with 0 at top - use default values',
(WidgetTester tester) async { (WidgetTester tester) async {
final itemPositionsListener = ItemPositionsListener.create(); final itemPositionsListener = ItemPositionsListener.create();
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
await tester.pumpWidget( await tester.pumpWidget(
MaterialApp( MaterialApp(
@@ -1543,9 +1541,8 @@ void main() {
final itemPositionsListener = ItemPositionsListener.create(); final itemPositionsListener = ItemPositionsListener.create();
final itemScrollController = ItemScrollController(); final itemScrollController = ItemScrollController();
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
await tester.pumpWidget( await tester.pumpWidget(
MaterialApp( MaterialApp(
@@ -1600,9 +1597,8 @@ void main() {
final itemPositionsListener = ItemPositionsListener.create(); final itemPositionsListener = ItemPositionsListener.create();
final itemScrollController = ItemScrollController(); final itemScrollController = ItemScrollController();
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
await tester.pumpWidget( await tester.pumpWidget(
MaterialApp( MaterialApp(
@@ -1661,9 +1657,8 @@ void main() {
final itemPositionsListener = ItemPositionsListener.create(); final itemPositionsListener = ItemPositionsListener.create();
final itemScrollController = ItemScrollController(); final itemScrollController = ItemScrollController();
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
await tester.pumpWidget( await tester.pumpWidget(
MaterialApp( MaterialApp(
@@ -1732,9 +1727,8 @@ void main() {
testWidgets('Jump to 100 then set itemCount to 0', testWidgets('Jump to 100 then set itemCount to 0',
(WidgetTester tester) async { (WidgetTester tester) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
final itemScrollController = ItemScrollController(); final itemScrollController = ItemScrollController();
final itemPositionsListener = ItemPositionsListener.create(); final itemPositionsListener = ItemPositionsListener.create();
@@ -1781,9 +1775,8 @@ void main() {
testWidgets('List positioned with 100 at top then set itemCount to 100', testWidgets('List positioned with 100 at top then set itemCount to 100',
(WidgetTester tester) async { (WidgetTester tester) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
final itemCount = ValueNotifier<int>(defaultItemCount); final itemCount = ValueNotifier<int>(defaultItemCount);
@@ -1823,9 +1816,8 @@ void main() {
testWidgets('List positioned with 499 at bottom then set itemCount to 100', testWidgets('List positioned with 499 at bottom then set itemCount to 100',
(WidgetTester tester) async { (WidgetTester tester) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
final itemCount = ValueNotifier<int>(defaultItemCount); final itemCount = ValueNotifier<int>(defaultItemCount);
@@ -1943,9 +1935,8 @@ void main() {
}); });
testWidgets('Rebuild with scroll controller', (WidgetTester tester) async { testWidgets('Rebuild with scroll controller', (WidgetTester tester) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
final key = ValueNotifier<Key>(const ValueKey('key')); final key = ValueNotifier<Key>(const ValueKey('key'));
final itemScrollController = ItemScrollController(); final itemScrollController = ItemScrollController();
@@ -1986,9 +1977,8 @@ void main() {
testWidgets('Double rebuild with scroll controller', testWidgets('Double rebuild with scroll controller',
(WidgetTester tester) async { (WidgetTester tester) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
final outerKey = ValueNotifier<Key>(const ValueKey('outerKey')); final outerKey = ValueNotifier<Key>(const ValueKey('outerKey'));
final innerKey = GlobalKey(); final innerKey = GlobalKey();
final listKey = ValueNotifier<Key>(const ValueKey(null)); final listKey = ValueNotifier<Key>(const ValueKey(null));
@@ -2036,9 +2026,8 @@ void main() {
}); });
testWidgets('Key change with scroll controller', (WidgetTester tester) async { testWidgets('Key change with scroll controller', (WidgetTester tester) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
final key = ValueNotifier<Key>(const ValueKey('key')); final key = ValueNotifier<Key>(const ValueKey('key'));
final itemScrollController = ItemScrollController(); final itemScrollController = ItemScrollController();
@@ -2070,9 +2059,8 @@ void main() {
}); });
testWidgets('Scroll after rebuild', (WidgetTester tester) async { testWidgets('Scroll after rebuild', (WidgetTester tester) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
final key = ValueNotifier<Key>(const ValueKey('key')); final key = ValueNotifier<Key>(const ValueKey('key'));
final itemScrollController = ItemScrollController(); final itemScrollController = ItemScrollController();
@@ -2113,9 +2101,8 @@ void main() {
testWidgets('Scroll after rebuild when resusing state', testWidgets('Scroll after rebuild when resusing state',
(WidgetTester tester) async { (WidgetTester tester) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
final containerKey = ValueNotifier<Key>(const ValueKey('key')); final containerKey = ValueNotifier<Key>(const ValueKey('key'));
final scrollKey = GlobalKey(); final scrollKey = GlobalKey();
final itemScrollController = ItemScrollController(); final itemScrollController = ItemScrollController();
@@ -2158,9 +2145,8 @@ void main() {
testWidgets('Scroll after changing scroll controller', testWidgets('Scroll after changing scroll controller',
(WidgetTester tester) async { (WidgetTester tester) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
final itemScrollController0 = ItemScrollController(); final itemScrollController0 = ItemScrollController();
final itemScrollController1 = ItemScrollController(); final itemScrollController1 = ItemScrollController();
@@ -2205,9 +2191,8 @@ void main() {
testWidgets('Scroll after swapping scroll controllers', testWidgets('Scroll after swapping scroll controllers',
(WidgetTester tester) async { (WidgetTester tester) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
final itemScrollController0 = ItemScrollController(); final itemScrollController0 = ItemScrollController();
final itemScrollController1 = ItemScrollController(); final itemScrollController1 = ItemScrollController();
@@ -25,9 +25,8 @@ void main() {
double anchor = 0, double anchor = 0,
int itemCount = defaultItemCount, int itemCount = defaultItemCount,
}) async { }) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
await tester.pumpWidget( await tester.pumpWidget(
MaterialApp( MaterialApp(
@@ -33,9 +33,8 @@ void main() {
bool addRepaintBoundaries = true, bool addRepaintBoundaries = true,
bool addAutomaticKeepAlives = true, bool addAutomaticKeepAlives = true,
}) async { }) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
await tester.pumpWidget( await tester.pumpWidget(
MaterialApp( MaterialApp(
@@ -100,9 +99,8 @@ void main() {
testWidgets('List positioned with 0 at top - use default values', testWidgets('List positioned with 0 at top - use default values',
(WidgetTester tester) async { (WidgetTester tester) async {
final itemPositionsListener = ItemPositionsListener.create(); final itemPositionsListener = ItemPositionsListener.create();
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
await tester.pumpWidget( await tester.pumpWidget(
MaterialApp( MaterialApp(
@@ -484,9 +482,8 @@ void main() {
testWidgets('Empty list then update to single item list', testWidgets('Empty list then update to single item list',
(WidgetTester tester) async { (WidgetTester tester) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
final itemScrollController = ItemScrollController(); final itemScrollController = ItemScrollController();
final itemPositionsListener = ItemPositionsListener.create(); final itemPositionsListener = ItemPositionsListener.create();
@@ -526,9 +523,8 @@ void main() {
testWidgets('ItemPositions: Empty list then update to 10 items list', testWidgets('ItemPositions: Empty list then update to 10 items list',
(WidgetTester tester) async { (WidgetTester tester) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
final itemScrollController = ItemScrollController(); final itemScrollController = ItemScrollController();
final itemPositionsListener = ItemPositionsListener.create(); final itemPositionsListener = ItemPositionsListener.create();
@@ -24,9 +24,8 @@ void main() {
EdgeInsets? padding, EdgeInsets? padding,
int initialScrollIndex = 0, int initialScrollIndex = 0,
}) async { }) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
await tester.pumpWidget( await tester.pumpWidget(
MaterialApp( MaterialApp(
@@ -25,9 +25,8 @@ void main() {
int itemCount = defaultItemCount, int itemCount = defaultItemCount,
bool reverse = false, bool reverse = false,
}) async { }) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
await tester.pumpWidget( await tester.pumpWidget(
MaterialApp( MaterialApp(
@@ -421,9 +420,8 @@ void main() {
testWidgets('test nested positioned list', (WidgetTester tester) async { testWidgets('test nested positioned list', (WidgetTester tester) async {
const itemCount = 50; const itemCount = 50;
const key = Key('short_list'); const key = Key('short_list');
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
await tester.pumpWidget( await tester.pumpWidget(
MaterialApp( MaterialApp(
@@ -21,9 +21,8 @@ void main() {
EdgeInsets? padding, EdgeInsets? padding,
int initialIndex = 0, int initialIndex = 0,
}) async { }) async {
tester.binding.window.devicePixelRatioTestValue = 1.0; tester.view.devicePixelRatio = 1.0;
tester.binding.window.physicalSizeTestValue = tester.view.physicalSize = const Size(screenWidth, screenHeight);
const Size(screenWidth, screenHeight);
await tester.pumpWidget( await tester.pumpWidget(
MaterialApp( MaterialApp(
@@ -39,20 +39,27 @@ void main() {
}); });
setUp(() { setUp(() {
methodChannel.setMockMethodCallHandler((MethodCall methodCall) async { TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
if (methodCall.method == 'listen') { .setMockMethodCallHandler(
try { methodChannel,
await ServicesBinding.instance.defaultBinaryMessenger (MethodCall methodCall) async {
.handlePlatformMessage( if (methodCall.method == 'listen') {
methodChannel.name, try {
methodChannel.codec.encodeSuccessEnvelope('wifi'), await TestDefaultBinaryMessengerBinding
(_) {}, .instance.defaultBinaryMessenger
); .handlePlatformMessage(
} catch (e) { methodChannel.name,
print(e); methodChannel.codec.encodeSuccessEnvelope('wifi'),
(_) {},
);
} catch (e) {
print(e);
}
} }
}
}); return null;
},
);
}); });
testWidgets( testWidgets(
@@ -118,7 +125,8 @@ void main() {
); );
tearDown(() { tearDown(() {
methodChannel.setMockMethodCallHandler(null); TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(methodChannel, null);
}); });
/*testGoldens( /*testGoldens(
@@ -11,10 +11,13 @@ void main() {
const methodChannel = const methodChannel =
MethodChannel('dev.fluttercommunity.plus/connectivity_status'); MethodChannel('dev.fluttercommunity.plus/connectivity_status');
setUp(() { setUp(() {
methodChannel.setMockMethodCallHandler((MethodCall methodCall) async { TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(methodChannel,
(MethodCall methodCall) async {
if (methodCall.method == 'listen') { if (methodCall.method == 'listen') {
try { try {
await ServicesBinding.instance.defaultBinaryMessenger await TestDefaultBinaryMessengerBinding
.instance.defaultBinaryMessenger
.handlePlatformMessage( .handlePlatformMessage(
methodChannel.name, methodChannel.name,
methodChannel.codec.encodeSuccessEnvelope('wifi'), methodChannel.codec.encodeSuccessEnvelope('wifi'),
@@ -24,6 +27,7 @@ void main() {
print(e); print(e);
} }
} }
return null;
}); });
}); });
@@ -87,7 +91,8 @@ void main() {
); );
tearDown(() { tearDown(() {
methodChannel.setMockMethodCallHandler(null); TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(methodChannel, null);
}); });
}); });
} }
@@ -11,10 +11,13 @@ void main() {
const methodChannel = const methodChannel =
MethodChannel('dev.fluttercommunity.plus/connectivity_status'); MethodChannel('dev.fluttercommunity.plus/connectivity_status');
setUp(() { setUp(() {
methodChannel.setMockMethodCallHandler((MethodCall methodCall) async { TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(methodChannel,
(MethodCall methodCall) async {
if (methodCall.method == 'listen') { if (methodCall.method == 'listen') {
try { try {
await ServicesBinding.instance.defaultBinaryMessenger await TestDefaultBinaryMessengerBinding
.instance.defaultBinaryMessenger
.handlePlatformMessage( .handlePlatformMessage(
methodChannel.name, methodChannel.name,
methodChannel.codec.encodeSuccessEnvelope('wifi'), methodChannel.codec.encodeSuccessEnvelope('wifi'),
@@ -24,6 +27,7 @@ void main() {
print(e); print(e);
} }
} }
return null;
}); });
}); });
@@ -93,7 +97,8 @@ void main() {
); );
tearDown(() { tearDown(() {
methodChannel.setMockMethodCallHandler(null); TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(methodChannel, null);
}); });
}); });
} }
@@ -40,10 +40,12 @@ void main() {
}); });
setUp(() { setUp(() {
methodChannel.setMockMethodCallHandler((MethodCall methodCall) async { TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(methodChannel, (MethodCall methodCall) async {
if (methodCall.method == 'listen') { if (methodCall.method == 'listen') {
try { try {
await ServicesBinding.instance.defaultBinaryMessenger await TestDefaultBinaryMessengerBinding
.instance.defaultBinaryMessenger
.handlePlatformMessage( .handlePlatformMessage(
methodChannel.name, methodChannel.name,
methodChannel.codec.encodeSuccessEnvelope('wifi'), methodChannel.codec.encodeSuccessEnvelope('wifi'),
@@ -53,6 +55,7 @@ void main() {
print(e); print(e);
} }
} }
return null;
}); });
}); });
@@ -106,6 +109,7 @@ void main() {
}); });
tearDown(() { tearDown(() {
methodChannel.setMockMethodCallHandler(null); TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(methodChannel, null);
}); });
} }
@@ -40,10 +40,12 @@ void main() {
}); });
setUp(() { setUp(() {
methodChannel.setMockMethodCallHandler((MethodCall methodCall) async { TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(methodChannel, (MethodCall methodCall) async {
if (methodCall.method == 'listen') { if (methodCall.method == 'listen') {
try { try {
await ServicesBinding.instance.defaultBinaryMessenger await TestDefaultBinaryMessengerBinding
.instance.defaultBinaryMessenger
.handlePlatformMessage( .handlePlatformMessage(
methodChannel.name, methodChannel.name,
methodChannel.codec.encodeSuccessEnvelope('wifi'), methodChannel.codec.encodeSuccessEnvelope('wifi'),
@@ -53,6 +55,7 @@ void main() {
print(e); print(e);
} }
} }
return null;
}); });
}); });
@@ -110,6 +113,7 @@ void main() {
}); });
tearDown(() { tearDown(() {
methodChannel.setMockMethodCallHandler(null); TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(methodChannel, null);
}); });
} }
@@ -577,10 +577,10 @@ class ChannelPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return const Scaffold(
appBar: const StreamChannelHeader(), appBar: StreamChannelHeader(),
body: Column( body: Column(
children: const <Widget>[ children: <Widget>[
Expanded( Expanded(
child: StreamMessageListView(), child: StreamMessageListView(),
), ),
@@ -106,10 +106,10 @@ class ChannelPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return const Scaffold(
appBar: const StreamChannelHeader(), appBar: StreamChannelHeader(),
body: Column( body: Column(
children: const <Widget>[ children: <Widget>[
Expanded( Expanded(
child: StreamMessageListView(), child: StreamMessageListView(),
), ),
@@ -133,10 +133,10 @@ class ChannelPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return const Scaffold(
appBar: const StreamChannelHeader(), appBar: StreamChannelHeader(),
body: Column( body: Column(
children: const <Widget>[ children: <Widget>[
Expanded( Expanded(
child: StreamMessageListView(), child: StreamMessageListView(),
), ),
@@ -81,13 +81,13 @@ class ChannelQueryDao extends DatabaseAccessor<DriftChatDatabase>
final cachedChannelCids = await getCachedChannelCids(filter); final cachedChannelCids = await getCachedChannelCids(filter);
final query = select(channels)..where((c) => c.cid.isIn(cachedChannelCids)); 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)), leftOuterJoin(users, channels.createdById.equalsExp(users.id)),
]).map((row) { ]).map((row) {
final createdByEntity = row.readTableOrNull(users); final createdByEntity = row.readTableOrNull(users);
final channelEntity = row.readTable(channels); final channelEntity = row.readTable(channels);
return channelEntity.toChannelModel(createdBy: createdByEntity?.toUser()); return channelEntity.toChannelModel(createdBy: createdByEntity?.toUser());
})).get(); }).get();
var chainedComparator = (ChannelModel a, ChannelModel b) { var chainedComparator = (ChannelModel a, ChannelModel b) {
final dateA = a.lastMessageAt ?? a.createdAt; final dateA = a.lastMessageAt ?? a.createdAt;
@@ -1,10 +1,8 @@
import 'package:drift/drift.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat/stream_chat.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/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/entity/members.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/entity/users.dart';
import 'package:stream_chat_persistence/src/mapper/mapper.dart'; import 'package:stream_chat_persistence/src/mapper/mapper.dart';
part 'member_dao.g.dart'; part 'member_dao.g.dart';
@@ -39,9 +37,9 @@ class MemberDao extends DatabaseAccessor<DriftChatDatabase>
) { ) {
final entities = channelWithMembers.entries final entities = channelWithMembers.entries
.map((entry) => .map((entry) =>
(entry.value?.map( entry.value?.map(
(member) => member.toEntity(cid: entry.key), (member) => member.toEntity(cid: entry.key),
)) ?? ) ??
[]) [])
.expand((it) => it) .expand((it) => it)
.toList(growable: false); .toList(growable: false);