package org.mtransit.android.util.iab;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import android.support.v4.util.ArrayMap;
// based on the Google IAB sample (Apache License, Version 2.0)
public class Inventory {
ArrayMap<String, SkuDetails> mSkuMap = new ArrayMap<String, SkuDetails>();
ArrayMap<String, Purchase> mPurchaseMap = new ArrayMap<String, Purchase>();
Inventory() {
}
public SkuDetails getSkuDetails(String sku) {
return mSkuMap.get(sku);
}
public Purchase getPurchase(String sku) {
return mPurchaseMap.get(sku);
}
public boolean hasPurchase(String sku) {
return mPurchaseMap.containsKey(sku);
}
public boolean hasDetails(String sku) {
return mSkuMap.containsKey(sku);
}
public void erasePurchase(String sku) {
if (mPurchaseMap.containsKey(sku)) mPurchaseMap.remove(sku);
}
public List<String> getAllOwnedSkus() {
return new ArrayList<String>(mPurchaseMap.keySet());
}
public List<String> getAllOwnedSkus(String itemType) {
List<String> result = new ArrayList<String>();
for (Purchase p : mPurchaseMap.values()) {
if (p.getItemType().equals(itemType)) result.add(p.getSku());
}
return result;
}
public List<Purchase> getAllPurchases() {
return new ArrayList<Purchase>(mPurchaseMap.values());
}
public Set<String> getAllSkus() {
return mSkuMap.keySet();
}
public void addSkuDetails(SkuDetails d) {
mSkuMap.put(d.getSku(), d);
}
public void addPurchase(Purchase p) {
mPurchaseMap.put(p.getSku(), p);
}
}