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

Signed-off-by: xsahil03x <xdsahil@gmail.com>
This commit is contained in:
Sahil Kumar
2023-05-16 17:04:21 +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
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 <Widget>[
children: <Widget>[
Expanded(
child: StreamMessageListView(),
),
@@ -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 <Widget>[
children: <Widget>[
Expanded(
child: StreamMessageListView(),
),
@@ -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 <Widget>[
children: <Widget>[
Expanded(
child: StreamMessageListView(),
),
@@ -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 <Widget>[
children: <Widget>[
Expanded(
child: StreamMessageListView(),
),
@@ -202,9 +202,9 @@ class MediaThumbnailProvider extends ImageProvider<MediaThumbnailProvider> {
}
@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<MediaThumbnailProvider> {
Future<ui.Codec> _loadAsync(
MediaThumbnailProvider key,
DecoderBufferCallback decode,
ImageDecoderCallback decode,
) async {
assert(key == this, '$key is not $this');
final bytes = await media.thumbnailDataWithSize(
@@ -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(
@@ -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(
@@ -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(
@@ -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(
@@ -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<int>(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<int>(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<Key>(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<Key>(const ValueKey('outerKey'));
final innerKey = GlobalKey();
final listKey = ValueNotifier<Key>(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<Key>(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<Key>(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<Key>(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();
@@ -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(
@@ -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();
@@ -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(
@@ -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(
@@ -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(
@@ -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(
@@ -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);
});
});
}
@@ -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);
});
});
}
@@ -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);
});
}
@@ -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);
});
}
@@ -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 <Widget>[
children: <Widget>[
Expanded(
child: StreamMessageListView(),
),
@@ -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 <Widget>[
children: <Widget>[
Expanded(
child: StreamMessageListView(),
),
@@ -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 <Widget>[
children: <Widget>[
Expanded(
child: StreamMessageListView(),
),
@@ -81,13 +81,13 @@ class ChannelQueryDao extends DatabaseAccessor<DriftChatDatabase>
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;
@@ -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<DriftChatDatabase>
) {
final entities = channelWithMembers.entries
.map((entry) =>
(entry.value?.map(
entry.value?.map(
(member) => member.toEntity(cid: entry.key),
)) ??
) ??
[])
.expand((it) => it)
.toList(growable: false);