From 1ab2f8725eb0839d03fc0128f1bb50792dcc6f8e Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Sat, 7 Nov 2020 14:36:07 +0100 Subject: [PATCH] _subscriptionStatus: Print out more info Also return the sub with the largest datetime. Not sure when/if this case actually occurs. --- lib/iap.dart | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/lib/iap.dart b/lib/iap.dart index 0c6cdbcd..10470e64 100644 --- a/lib/iap.dart +++ b/lib/iap.dart @@ -88,6 +88,8 @@ class InAppPurchases { var response = await iapConn.queryPastPurchases(); Log.i("Number of Past Purchases: ${response.pastPurchases.length}"); + + var subs = []; for (var purchase in response.pastPurchases) { DateTime dt; try { @@ -102,9 +104,21 @@ class InAppPurchases { if (dt == null || !dt.isAfter(dtNow)) { continue; } - return SubscriptionStatus(true, dt); + + var sub = SubscriptionStatus(true, dt); + Log.i("--> $sub"); + subs.add(sub); } - return SubscriptionStatus(false, dtNow); + Log.i("Number of SubscriptionStatus: ${subs.length}"); + + var sub = SubscriptionStatus(false, dtNow); + for (var s in subs) { + if (s.expiryDate.isAfter(sub.expiryDate)) { + sub = s; + } + } + + return sub; } static Future clearTransactionsIos() async {