Fix Generic Type being enforced to extend Object
OmarHatem committed
Dec 16, 2022 at 14:33 UTC
6148b91c8a827a65fc35b9370dc6ba9888d7739b
2 files changed
+5
-6
lib/src/screens/settings/widgets/settings_picker_cell.dart
+1
-1
@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
3
import 'package:cake_wallet/src/widgets/picker.dart';
4
import 'package:cake_wallet/src/widgets/standard_list.dart';
5
6
-class SettingsPickerCell<ItemType extends Object> extends StandardListRow {
6
+class SettingsPickerCell<ItemType> extends StandardListRow {
7
SettingsPickerCell(
8
{required String title,
9
required this.selectedItem,
lib/src/widgets/picker.dart
+4
-5
@@ -4,7 +4,7 @@ import 'package:flutter/material.dart';
4
import 'package:cake_wallet/src/widgets/alert_background.dart';
5
import 'package:cake_wallet/src/widgets/alert_close_button.dart';
6
7
-class Picker<Item extends Object> extends StatefulWidget {
7
+class Picker<Item> extends StatefulWidget {
8
Picker({
9
required this.selectedAtIndex,
10
required this.items,
@@ -39,7 +39,7 @@ class Picker<Item extends Object> extends StatefulWidget {
39
_PickerState<Item> createState() => _PickerState<Item>(items, images, onItemSelected);
40
}
41
42
-class _PickerState<Item> extends State<Picker> {
42
+class _PickerState<Item> extends State<Picker<Item>> {
43
_PickerState(this.items, this.images, this.onItemSelected);
44
45
final Function(Item) onItemSelected;
@@ -59,7 +59,7 @@ class _PickerState<Item> extends State<Picker> {
59
images = [];
60
for (int i=0;i<widget.items.length;i++) {
61
if (widget.matchingCriteria?.call(widget.items[i], searchController.text) ?? true) {
62
- items.add(widget.items[i] as Item);
62
+ items.add(widget.items[i]);
63
images.add(widget.images[i]);
64
}
65
}
@@ -238,8 +238,7 @@ class _PickerState<Item> extends State<Picker> {
238
child: Padding(
239
padding: EdgeInsets.only(left: image != null ? 12 : 0),
240
child: Text(
241
- // What a hack (item as) ?
242
- widget.displayItem?.call(item as Object) ?? item.toString(),
241
+ widget.displayItem?.call(item) ?? item.toString(),
242
style: TextStyle(
243
fontSize: 14,
244
fontFamily: 'Lato',