MotorSignal-App/lib/services/billing/billing_providers.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();
});