diff --git a/lib/pangea/subscription/controllers/subscription_controller.dart b/lib/pangea/subscription/controllers/subscription_controller.dart index 67e3e44b0..f23a8d736 100644 --- a/lib/pangea/subscription/controllers/subscription_controller.dart +++ b/lib/pangea/subscription/controllers/subscription_controller.dart @@ -248,9 +248,6 @@ class SubscriptionController extends BaseController { } Future updateCustomerInfo() async { - if (!initCompleter.isCompleted) { - await initialize(); - } await currentSubscriptionInfo?.setCurrentSubscription(); setState(null); } diff --git a/lib/pangea/subscription/models/base_subscription_info.dart b/lib/pangea/subscription/models/base_subscription_info.dart index 7f20ca797..cf7ecc54c 100644 --- a/lib/pangea/subscription/models/base_subscription_info.dart +++ b/lib/pangea/subscription/models/base_subscription_info.dart @@ -72,12 +72,15 @@ class AvailableSubscriptionsInfo { List availableSubscriptions = []; SubscriptionAppIds? appIds; List? allProducts; + DateTime? lastUpdated; + final subscriptionBox = MatrixState.pangeaController.subscriptionController.subscriptionBox; AvailableSubscriptionsInfo({ this.appIds, this.allProducts, + this.lastUpdated, }); Future setAvailableSubscriptions() async { @@ -125,7 +128,8 @@ class AvailableSubscriptionsInfo { } try { - return AvailableSubscriptionsInfo.fromJson(json); + final resp = AvailableSubscriptionsInfo.fromJson(json); + return resp.lastUpdated == null ? null : resp; } catch (e, s) { ErrorHandler.logError( e: e, @@ -152,9 +156,13 @@ class AvailableSubscriptionsInfo { .map((product) => SubscriptionDetails.fromJson(product)) .toList() .cast(); + final lastUpdated = json['last_updated'] != null + ? DateTime.tryParse(json['last_updated']!) + : null; return AvailableSubscriptionsInfo( appIds: appIds, allProducts: allProducts, + lastUpdated: lastUpdated, ); } @@ -167,6 +175,7 @@ class AvailableSubscriptionsInfo { data['app_ids'] = appIds?.toJson(); data['all_products'] = allProducts?.map((product) => product.toJson()).toList(); + data['last_updated'] = (lastUpdated ?? DateTime.now()).toIso8601String(); return data; } }