diff --git a/app/src/main/java/com/mindmachine/mvp/billing/BillingManager.kt b/app/src/main/java/com/mindmachine/mvp/billing/BillingManager.kt index d5c61a8..ade7506 100644 --- a/app/src/main/java/com/mindmachine/mvp/billing/BillingManager.kt +++ b/app/src/main/java/com/mindmachine/mvp/billing/BillingManager.kt @@ -214,29 +214,23 @@ class BillingManager( return } - billingClient.queryPurchasesAsync( - QueryPurchasesParams.newBuilder().setProductType(BillingClient.ProductType.SUBS).build() - ) { billingResult, queryResult -> - val purchases = queryResult.purchasesList - if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { - log("Query SUBS purchases returned ${purchases.size} items") + val listener = PurchasesResponseListener { result, purchases -> + if (result.responseCode == BillingClient.BillingResponseCode.OK) { + log("Query purchases returned ${purchases.size} items") handlePurchases(purchases) } else { - logError("Query SUBS purchases failed: ${billingResult.responseCode} ${billingResult.debugMessage}") + logError("Query purchases failed: ${result.responseCode} ${result.debugMessage}") } } billingClient.queryPurchasesAsync( - QueryPurchasesParams.newBuilder().setProductType(BillingClient.ProductType.INAPP).build() - ) { billingResult, queryResult -> - val purchases = queryResult.purchasesList - if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { - log("Query INAPP purchases returned ${purchases.size} items") - handlePurchases(purchases) - } else { - logError("Query INAPP purchases failed: ${billingResult.responseCode} ${billingResult.debugMessage}") - } - } + QueryPurchasesParams.newBuilder().setProductType(BillingClient.ProductType.SUBS).build(), + listener + ) + billingClient.queryPurchasesAsync( + QueryPurchasesParams.newBuilder().setProductType(BillingClient.ProductType.INAPP).build(), + listener + ) } private fun handlePurchases(purchases: List) {