From 67b81e7f487464c5fba60fa715d20343758ec0b2 Mon Sep 17 00:00:00 2001 From: Andrea Bizzotto Date: Wed, 18 Dec 2024 14:53:20 +0000 Subject: [PATCH] Add await ref.watch(sharedPreferencesProvider.future) to prevent AsyncValue error during app startup --- lib/src/routing/app_startup.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/src/routing/app_startup.dart b/lib/src/routing/app_startup.dart index e3639802..8dfed3c5 100644 --- a/lib/src/routing/app_startup.dart +++ b/lib/src/routing/app_startup.dart @@ -3,6 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:starter_architecture_flutter_firebase/src/constants/app_sizes.dart'; import 'package:starter_architecture_flutter_firebase/src/features/onboarding/data/onboarding_repository.dart'; +import 'package:starter_architecture_flutter_firebase/src/utils/shared_preferences_provider.dart'; part 'app_startup.g.dart'; @@ -11,12 +12,14 @@ part 'app_startup.g.dart'; Future appStartup(Ref ref) async { ref.onDispose(() { // ensure dependent providers are disposed as well + ref.invalidate(sharedPreferencesProvider); ref.invalidate(onboardingRepositoryProvider); }); // Uncomment this to test that URL-based navigation and deep linking works // even when there's a delay in the app startup logic // await Future.delayed(Duration(seconds: 1)); // await for all initialization code to be complete before returning + await ref.watch(sharedPreferencesProvider.future); await ref.watch(onboardingRepositoryProvider.future); }