main
dart 32 lines 966 Bytes
Raw
1 import 'package:flutter_riverpod/flutter_riverpod.dart';
2
3 import '../constants/app_constants.dart';
4 import '../services/review_prompt_service.dart';
5 import 'app_providers.dart';
6 import 'storage_providers.dart';
7
8 final reviewPromptClientProvider = Provider<ReviewPromptClient>((ref) {
9 return InAppReviewPromptClient();
10 });
11
12 final reviewPromptServiceProvider = Provider<ReviewPromptService>((ref) {
13 final prefs = ref.watch(sharedPreferencesProvider);
14 final client = ref.watch(reviewPromptClientProvider);
15
16 return ReviewPromptService(
17 prefs: prefs,
18 client: client,
19 appVersionLoader: () async {
20 try {
21 final packageInfo = await ref.read(packageInfoProvider.future);
22 final buildNumber = packageInfo.buildNumber;
23 if (buildNumber.isEmpty) {
24 return packageInfo.version;
25 }
26 return '${packageInfo.version}+$buildNumber';
27 } catch (_) {
28 return AppConstants.version;
29 }
30 },
31 );
32 });