32 lines
1.1 KiB
Dart
32 lines
1.1 KiB
Dart
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'billing_service.dart';
|
|
import 'durable_verification_queue.dart';
|
|
import 'play_billing_service.dart';
|
|
import 'purchase_verification_service.dart';
|
|
|
|
/// Provider for the platform [BillingService].
|
|
/// Defaults to [PlayBillingService] in production.
|
|
/// In automated tests, override with [FakeBillingService].
|
|
final billingServiceProvider = Provider<BillingService>((ref) {
|
|
final service = PlayBillingService();
|
|
ref.onDispose(() => service.dispose());
|
|
return service;
|
|
});
|
|
|
|
/// Convenience provider exposing availability of the billing service.
|
|
final billingAvailabilityProvider = FutureProvider<bool>((ref) async {
|
|
final service = ref.watch(billingServiceProvider);
|
|
return await service.isAvailable();
|
|
});
|
|
|
|
/// Provider for server purchase verification service.
|
|
final purchaseVerificationServiceProvider =
|
|
Provider<PurchaseVerificationService>((ref) {
|
|
return PurchaseVerificationService();
|
|
});
|
|
|
|
/// Provider for durable verification queue.
|
|
final verificationQueueProvider = Provider<DurableVerificationQueue>((ref) {
|
|
return const SecureDurableVerificationQueue();
|
|
});
|