[android] Addded PurchaiseDetials class and callback

This commit is contained in:
Alexander Zatsepin 2018-09-03 18:42:40 +03:00 committed by yoksnod
parent 9a937e0498
commit cb1ee6ea6b
3 changed files with 42 additions and 3 deletions

View file

@ -4,6 +4,10 @@ import android.app.Activity;
import android.support.annotation.NonNull;
import com.android.billingclient.api.BillingClient;
import com.android.billingclient.api.SkuDetails;
import java.util.ArrayList;
import java.util.List;
public enum Factory
{
@ -29,4 +33,13 @@ public enum Factory
@NonNull
public abstract BillingManager createBillingManager(@NonNull Activity activity, @NonNull String productId);
@NonNull
static List<PurchaseDetails> createPurchaseDetailsFrom(@NonNull List<SkuDetails> skuDetails)
{
List<PurchaseDetails> details = new ArrayList<>(skuDetails.size());
for (SkuDetails skuDetail : skuDetails)
details.add(new PurchaseDetails(skuDetail));
return details;
}
}

View file

@ -159,8 +159,23 @@ public class PlayStoreBillingManager implements BillingManager<PlayStoreBillingC
private void onSkuDetailsResponseInternal(@BillingResponse int responseCode,
@Nullable List<SkuDetails> skuDetails)
{
LOGGER.i(TAG, "Product details response, code: " + responseCode + ", " +
"details: " + skuDetails);
LOGGER.i(TAG, "Purchase details response code: " + responseCode
+ ". Type: " + mProductType);
if (responseCode != BillingResponse.OK)
{
LOGGER.w(TAG, "Unsuccessful request");
return;
}
if (skuDetails == null || skuDetails.isEmpty())
{
LOGGER.w(TAG, "Purchase details not found");
return;
}
LOGGER.i(TAG, "Purchase details obtained: " + skuDetails);
if (mCallback != null)
mCallback.onPurchaseDetailsLoaded(Factory.createPurchaseDetailsFrom(skuDetails));
}
}
}

View file

@ -1,5 +1,16 @@
package com.mapswithme.maps.purchase;
public class PurchaseDetails
import android.support.annotation.NonNull;
import com.android.billingclient.api.SkuDetails;
class PurchaseDetails
{
@NonNull
private final SkuDetails mDetails;
PurchaseDetails(@NonNull SkuDetails details)
{
mDetails = details;
}
}