refresh method

Future<void> refresh()

Implementation

Future<void> refresh() async {
  _ensureInitialized();
  _isRefreshing = true;
  _errorMessage = null;
  _emitSnapshot();
  _reconciliationPurchaseIds.clear();
  try {
    if (config.verificationMode == VerificationMode.serverVerified) {
      await repository.restore();
    } else {
      final existing = await repository.queryExistingPurchases();
      for (final purchase in existing) {
        _queuePurchase(purchase);
      }
    }
    await _drainProcessing();
  } finally {
    _isRefreshing = false;
    _reconciliationPurchaseIds.clear();
    _emitSnapshot();
  }
}