Search in sources :

Example 1 with PurchasesResponseListener

use of com.android.billingclient.api.PurchasesResponseListener in project Android-InAppBilling by LiteKite.

the class BillingManager method queryPurchasesAsync.

/**
 * Queries InApp and Subscribed purchase results from Google Play Locally.
 *
 * @param purchases this list contains all the product purchases made, has InApp and
 *     Subscription purchased results.
 * @param skuType InApp or Subscription.
 * @param executeWhenFinished Once the InApp product purchase results are given, then
 *     subscription based purchase results are queried and results are placed into the {@link
 *     #myPurchasesResultList}
 */
private void queryPurchasesAsync(final List<Purchase> purchases, @SkuType final String skuType, final Runnable executeWhenFinished) {
    PurchasesResponseListener purchasesResponseListener = (billingResult, list) -> {
        if (billingResult.getResponseCode() == BillingResponseCode.OK) {
            purchases.addAll(list);
            if (executeWhenFinished != null) {
                executeWhenFinished.run();
            }
        } else {
            MonetizeApp.printLog(TAG, "queryPurchasesAsync() got an error response code: " + billingResult.getResponseCode());
            logErrorType(billingResult);
        }
        if (executeWhenFinished == null) {
            processPurchases(purchases);
        }
    };
    executeServiceRequest(() -> myBillingClient.queryPurchasesAsync(skuType, purchasesResponseListener));
}
Also used : PurchasesResponseListener(com.android.billingclient.api.PurchasesResponseListener) NetworkManager(com.litekite.monetize.network.NetworkManager) Context(android.content.Context) WorkExecutor(com.litekite.monetize.worker.WorkExecutor) NonNull(androidx.annotation.NonNull) BillingClientStateListener(com.android.billingclient.api.BillingClientStateListener) SkuDetailsResponseListener(com.android.billingclient.api.SkuDetailsResponseListener) AppDatabase(com.litekite.monetize.room.database.AppDatabase) PurchaseHistoryRecord(com.android.billingclient.api.PurchaseHistoryRecord) MonetizeApp(com.litekite.monetize.app.MonetizeApp) HashMap(java.util.HashMap) CallbackProvider(com.litekite.monetize.base.CallbackProvider) Singleton(javax.inject.Singleton) SkuType(com.android.billingclient.api.BillingClient.SkuType) BillingSkuDetails(com.litekite.monetize.room.entity.BillingSkuDetails) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) Inject(javax.inject.Inject) R(com.litekite.monetize.R) BillingResult(com.android.billingclient.api.BillingResult) PurchasesUpdatedListener(com.android.billingclient.api.PurchasesUpdatedListener) Map(java.util.Map) ConsumeParams(com.android.billingclient.api.ConsumeParams) PurchasesResponseListener(com.android.billingclient.api.PurchasesResponseListener) AcknowledgePurchaseParams(com.android.billingclient.api.AcknowledgePurchaseParams) SkuDetails(com.android.billingclient.api.SkuDetails) BillingResponseCode(com.android.billingclient.api.BillingClient.BillingResponseCode) ConsumeResponseListener(com.android.billingclient.api.ConsumeResponseListener) Set(java.util.Set) SkuDetailsParams(com.android.billingclient.api.SkuDetailsParams) PurchaseHistoryResponseListener(com.android.billingclient.api.PurchaseHistoryResponseListener) StringRes(androidx.annotation.StringRes) FeatureType(com.android.billingclient.api.BillingClient.FeatureType) Purchase(com.android.billingclient.api.Purchase) List(java.util.List) Nullable(androidx.annotation.Nullable) BillingClient(com.android.billingclient.api.BillingClient) AcknowledgePurchaseResponseListener(com.android.billingclient.api.AcknowledgePurchaseResponseListener) BillingPurchaseDetails(com.litekite.monetize.room.entity.BillingPurchaseDetails) BillingFlowParams(com.android.billingclient.api.BillingFlowParams) Activity(android.app.Activity)

Aggregations

Activity (android.app.Activity)1 Context (android.content.Context)1 NonNull (androidx.annotation.NonNull)1 Nullable (androidx.annotation.Nullable)1 StringRes (androidx.annotation.StringRes)1 AcknowledgePurchaseParams (com.android.billingclient.api.AcknowledgePurchaseParams)1 AcknowledgePurchaseResponseListener (com.android.billingclient.api.AcknowledgePurchaseResponseListener)1 BillingClient (com.android.billingclient.api.BillingClient)1 BillingResponseCode (com.android.billingclient.api.BillingClient.BillingResponseCode)1 FeatureType (com.android.billingclient.api.BillingClient.FeatureType)1 SkuType (com.android.billingclient.api.BillingClient.SkuType)1 BillingClientStateListener (com.android.billingclient.api.BillingClientStateListener)1 BillingFlowParams (com.android.billingclient.api.BillingFlowParams)1 BillingResult (com.android.billingclient.api.BillingResult)1 ConsumeParams (com.android.billingclient.api.ConsumeParams)1 ConsumeResponseListener (com.android.billingclient.api.ConsumeResponseListener)1 Purchase (com.android.billingclient.api.Purchase)1 PurchaseHistoryRecord (com.android.billingclient.api.PurchaseHistoryRecord)1 PurchaseHistoryResponseListener (com.android.billingclient.api.PurchaseHistoryResponseListener)1 PurchasesResponseListener (com.android.billingclient.api.PurchasesResponseListener)1