@Override public void paymentQueueRestoreCompletedTransactionsFinished(SKPaymentQueue queue) { // All products have been restored. log(LOGTYPELOG, "All transactions have been restored!"); observer.handleRestore(restoredTransactions.toArray(new Transaction[restoredTransactions .size()])); restoredTransactions.clear(); }
@Override public void purchaseRestore() { try { List<Transaction> transactions = googleInAppBillingService.getPurchases(); Array<Transaction> entitlements = new Array<>(Transaction.class); for (int i = 0; i < transactions.size(); i++) { Transaction transaction = transactions.get(i); if (OfferType.CONSUMABLE == getOfferType(transaction.getIdentifier())) { googleInAppBillingService.consumePurchase(transaction, observer); } else { entitlements.add(transaction); } } if (observer != null) { observer.handleRestore(entitlements.toArray()); } } catch (GdxPayException e) { if (observer != null) { observer.handleRestoreError(e); } } }
observer.handleRestore(transactions.toArray(new Transaction[transactions.size()]));
@Override public void restoreCompletedTransactionsFinished (SKPaymentQueue queue) { // All products have been restored. log(LOGTYPELOG, "All transactions have been restored!"); observer.handleRestore(restoredTransactions.toArray(new Transaction[restoredTransactions.size()])); restoredTransactions.clear(); }
@Test public void restoreSuccessShouldDelegateResultToObserver() throws Exception { connectBindAndForFullEditionEntitlement(); Transaction transaction = transactionFullEditionEuroGooglePlay(); Transaction[] transactions = new Transaction[]{transaction}; when(googleInAppBillingService.getPurchases()).thenReturn(singletonList(transaction)); purchaseManager.purchaseRestore(); verify(purchaseObserver).handleRestore(transactions); }
observer.handleRestore(transactions.toArray(new Transaction[transactions.size()]));