Skip to content

Commit f820a87

Browse files
committed
Create separate SharedPreferences provider
1 parent 3615f9d commit f820a87

File tree

6 files changed

+45
-15
lines changed

6 files changed

+45
-15
lines changed

lib/src/features/onboarding/data/onboarding_repository.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import 'package:riverpod/riverpod.dart';
22
import 'package:riverpod_annotation/riverpod_annotation.dart';
33
import 'package:shared_preferences/shared_preferences.dart';
4+
import 'package:starter_architecture_flutter_firebase/src/utils/shared_preferences_provider.dart';
45

56
part 'onboarding_repository.g.dart';
67

@@ -19,7 +20,7 @@ class OnboardingRepository {
1920
}
2021

2122
@Riverpod(keepAlive: true)
22-
Future<OnboardingRepository> onboardingRepository(
23-
Ref ref) async {
24-
return OnboardingRepository(await SharedPreferences.getInstance());
23+
Future<OnboardingRepository> onboardingRepository(Ref ref) async {
24+
return OnboardingRepository(
25+
ref.watch(sharedPreferencesProvider).requireValue);
2526
}

lib/src/features/onboarding/data/onboarding_repository.g.dart

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/src/routing/app_router.g.dart

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/src/routing/app_startup.dart

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ class AppStartupWidget extends ConsumerWidget {
3939
}
4040
}
4141

42+
/// Widget to show while initialization is in progress
4243
class AppStartupLoadingWidget extends StatelessWidget {
4344
const AppStartupLoadingWidget({super.key});
4445

@@ -53,6 +54,7 @@ class AppStartupLoadingWidget extends StatelessWidget {
5354
}
5455
}
5556

57+
/// Widget to show if initialization fails
5658
class AppStartupErrorWidget extends StatelessWidget {
5759
const AppStartupErrorWidget(
5860
{super.key, required this.message, required this.onRetry});
@@ -79,13 +81,3 @@ class AppStartupErrorWidget extends StatelessWidget {
7981
);
8082
}
8183
}
82-
83-
class AppStartupDataWidget extends StatelessWidget {
84-
const AppStartupDataWidget({super.key, required this.child});
85-
final Widget child;
86-
87-
@override
88-
Widget build(BuildContext context) {
89-
return child;
90-
}
91-
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import 'package:riverpod/riverpod.dart';
2+
import 'package:riverpod_annotation/riverpod_annotation.dart';
3+
import 'package:shared_preferences/shared_preferences.dart';
4+
5+
part 'shared_preferences_provider.g.dart';
6+
7+
@Riverpod(keepAlive: true)
8+
Future<SharedPreferences> sharedPreferences(Ref ref) {
9+
return SharedPreferences.getInstance();
10+
}

lib/src/utils/shared_preferences_provider.g.dart

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)