private void loadSkus(@Nonnull BillingRequests requests, @Nonnull final Product product) { final List<String> skuIds = mTask.getRequest().getSkus(product.id); if (skuIds.isEmpty()) { Billing.warning("There are no SKUs for \"" + product.id + "\" product. No SKU information will be loaded"); synchronized (mLock) { countDown(); } return; } requests.getSkus(product.id, skuIds, synchronizedListener(new RequestListener<Skus>() { @Override public void onSuccess(@Nonnull Skus skus) { product.setSkus(skus.list); countDown(); } @Override public void onError(int response, @Nonnull Exception e) { countDown(); } })); } }
@Override public void onReady(@Nonnull BillingRequests requests, @Nonnull String productId, boolean billingSupported) { final Product product = new Product(productId, billingSupported); synchronized (mLock) { countDown(); mProducts.add(product); if (!mTask.isCancelled() && product.supported && mTask.getRequest().shouldLoadPurchases(productId)) { loadPurchases(requests, product); } else { countDown(1); } if (!mTask.isCancelled() && product.supported && mTask.getRequest().shouldLoadSkus(productId)) { loadSkus(requests, product); } else { countDown(1); } } }
public void load() { mMainInventory.load(mTask.getRequest(), this); } }
public void load() { mFallbackInventory.load(mTask.getRequest(), this); } }
@Override public void run() { final Context context = mCheckout.getContext(); final RobotmediaDatabase database = new RobotmediaDatabase(context); final Products products = database.load(mTask.getRequest()); onLoaded(products); } }