getAlreadyPurchaseItems method

void getAlreadyPurchaseItems(
  1. IAPCallback iapCallback
)

Listen for purchases

Implementation

void getAlreadyPurchaseItems(IAPCallback iapCallback) {
  _iapCallback = iapCallback;
  final Stream<List<PurchaseDetails>> purchaseUpdated = _connection.purchaseStream;
  _subscription = purchaseUpdated.listen(
    (purchaseDetailsList) {
      if (purchaseDetailsList.isNotEmpty) {
        purchaseDetailsList.sort((a, b) => a.transactionDate!.compareTo(b.transactionDate!));
        if (purchaseDetailsList[0].status == PurchaseStatus.restored) {
          getPastPurchases(purchaseDetailsList);
        } else {
          _listenToPurchaseUpdated(purchaseDetailsList);
        }
      }
    },
    cancelOnError: true,
    onDone: () => _subscription?.cancel(),
    onError: (error) {
      log("Purchase stream error: $error");
      handleError(error);
    },
  );
  initStoreInfo();
}