forked from organicmaps/organicmaps
[android] Addded PurchaiseDetials class and callback
This commit is contained in:
parent
9a937e0498
commit
cb1ee6ea6b
3 changed files with 42 additions and 3 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue