handlePurchasesRestoredEvent method
Handles the FastStoreBlocEventType.purchaseRestored event when a purchase has been successfully restored.
Implementation
Stream<FastStoreBlocState> handlePurchasesRestoredEvent(
FastStoreBlocPayload payload,
) async* {
if (_isRestoringPurchases) {
_logger.debug('Purchase restored');
_isRestoringPurchases = false;
if (payload.purchaseDetails != null) {
final purchase = FastInAppPurchase.fromPurchaseDetails(
payload.purchaseDetails!,
);
await _iapDataProvider.enablePurchaseWithProductId(purchase.productId);
yield currentState.copyWith(
purchases: [...currentState.purchases, purchase],
isRestoringPurchases: false,
);
} else {
yield currentState.copyWith(isRestoringPurchases: false);
}
}
}