From 3c5f8c14244ec8d6b3fd381e90f7361ca6a4cac7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bjo=CC=88rn=20Ritzl?= Date: Thu, 23 Jul 2020 19:30:20 +0200 Subject: [PATCH] Null checks --- .../java/com/defold/iap/IapGooglePlay.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/extension-iap/src/java/com/defold/iap/IapGooglePlay.java b/extension-iap/src/java/com/defold/iap/IapGooglePlay.java index 91ea4d3..c978884 100644 --- a/extension-iap/src/java/com/defold/iap/IapGooglePlay.java +++ b/extension-iap/src/java/com/defold/iap/IapGooglePlay.java @@ -184,11 +184,14 @@ public class IapGooglePlay implements PurchasesUpdatedListener { */ private List queryPurchases(final String type) { PurchasesResult result = billingClient.queryPurchases(type); + List purchases = result.getPurchasesList(); + if (purchases == null) { + purchases = new ArrayList(); + } if (result.getBillingResult().getResponseCode() != BillingResponseCode.OK) { Log.e(TAG, "Unable to query pending purchases: " + result.getBillingResult().getDebugMessage()); - return new ArrayList(); } - return result.getPurchasesList(); + return purchases; } /** @@ -332,12 +335,14 @@ public class IapGooglePlay implements PurchasesUpdatedListener { @Override public void onSkuDetailsResponse(BillingResult billingResult, List skuDetails) { - // cache skus (cache will be used to speed up buying) - for (SkuDetails sd : skuDetails) { - IapGooglePlay.this.products.put(sd.getSku(), sd); + if (skuDetails != null) { + // cache skus (cache will be used to speed up buying) + for (SkuDetails sd : skuDetails) { + IapGooglePlay.this.products.put(sd.getSku(), sd); + } + // add to list of all sku details + allSkuDetails.addAll(skuDetails); } - // add to list of all sku details - allSkuDetails.addAll(skuDetails); // we're finished when we have queried for both in-app and subs queries--; if (queries == 0) {