From 818a629f99043e7a855731253c30cc230c5e157c Mon Sep 17 00:00:00 2001 From: Luke Jones Date: Wed, 8 Sep 2021 12:43:04 +1200 Subject: [PATCH] Fix use of Null op when completedSteps used in initState Fixes occurrence of "Unhandled Exception: Null check operator used on a null value" if `hasPreviouslyCompleted()` is used in the app initState before any steps have run. --- lib/src/foundation/persistence_provider.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/src/foundation/persistence_provider.dart b/lib/src/foundation/persistence_provider.dart index a0c8bee..58d1e8c 100644 --- a/lib/src/foundation/persistence_provider.dart +++ b/lib/src/foundation/persistence_provider.dart @@ -47,7 +47,10 @@ class SharedPreferencesProvider implements PersistenceProvider { @override Future> completedSteps(Iterable? featuresIds) async { final prefs = await SharedPreferences.getInstance(); - return featuresIds! + if (featuresIds == null) { + return Set(); + } + return featuresIds .where((featureId) => prefs.getBool(_normalizeFeatureId(featureId)) == true) .toSet();