File tree Expand file tree Collapse file tree 2 files changed +13
-5
lines changed Expand file tree Collapse file tree 2 files changed +13
-5
lines changed Original file line number Diff line number Diff line change @@ -13,10 +13,15 @@ class HomeScreenWidget {
13
13
return "${WidgetType .values .indexOf (widgetType )};${enabled .toString ()}" ;
14
14
}
15
15
16
- factory HomeScreenWidget . fromString (String data) {
16
+ static HomeScreenWidget ? fromString (String data) {
17
17
final dataPoints = data.split (";" );
18
- final widgetType = WidgetType .values[int .parse (dataPoints[0 ])];
19
- final enabled = dataPoints[1 ] == "true" ? true : false ;
20
- return HomeScreenWidget (widgetType: widgetType, enabled: enabled);
18
+ final index = int .parse (dataPoints[0 ]);
19
+ if (index < WidgetType .values.length) {
20
+ final widgetType = WidgetType .values[int .parse (dataPoints[0 ])];
21
+ final enabled = dataPoints[1 ] == "true" ? true : false ;
22
+ return HomeScreenWidget (widgetType: widgetType, enabled: enabled);
23
+ } else {
24
+ return null ;
25
+ }
21
26
}
22
27
}
Original file line number Diff line number Diff line change @@ -24,7 +24,10 @@ class HomeViewModel {
24
24
.load (UserPreference .homeWidgets) as List <String >? ??
25
25
< String > [];
26
26
List <HomeScreenWidget > widgets = defaultWidgets;
27
- final types = data.map ((e) => HomeScreenWidget .fromString (e)).toList ();
27
+ final types = data
28
+ .map ((e) => HomeScreenWidget .fromString (e))
29
+ .whereType <HomeScreenWidget >()
30
+ .toList ();
28
31
if (types.isNotEmpty) {
29
32
widgets = types;
30
33
}
You can’t perform that action at this time.
0 commit comments