private boolean updateLocalPurchaseTokens()

in ClassyTaxiJava/app/src/main/java/com/sample/android/classytaxijava/data/DataRepository.java [276:300]


    private boolean updateLocalPurchaseTokens(
            @Nullable List<SubscriptionStatus> subscriptions,
            @Nullable List<Purchase> purchases) {
        boolean hasChanged = false;
        if (subscriptions != null) {
            for (SubscriptionStatus subscription : subscriptions) {
                boolean isLocalPurchase = false;
                String purchaseToken = subscription.getPurchaseToken();
                if (purchases != null) {
                    for (Purchase purchase : purchases) {
                        if (TextUtils.equals(subscription.getSku(), purchase.getSkus().get(0))) {
                            isLocalPurchase = true;
                            purchaseToken = purchase.getPurchaseToken();
                        }
                    }
                }
                if (subscription.isLocalPurchase() != isLocalPurchase) {
                    subscription.setLocalPurchase(isLocalPurchase);
                    subscription.setPurchaseToken(purchaseToken);
                    hasChanged = true;
                }
            }
        }
        return hasChanged;
    }