private void clear(Pricing pricing) { // Memory SplashUpdater.setSubProgress(100); this.updateTask = null; this.typeIDs.clear(); this.priceDataList.clear(); this.failed.clear(); pricing.removePricingListener(this); }
private void createPriceData(final int typeID, final Pricing pricing) { PriceData priceData = priceDataList.get(typeID); if (priceData == null) { priceData = new PriceData(); priceDataList.put(typeID, priceData); } boolean ok = false; for (PriceMode priceMode : PriceMode.values()) { PricingType pricingType = priceMode.getPricingType(); PricingNumber pricingNumber = priceMode.getPricingNumber(); if (pricingNumber == null || pricingType == null) { continue; // Ignore calculated prices - f.ex. PriceMode.PRICE_MIDPOINT } Double price = pricing.getPrice(typeID, pricingType, pricingNumber); if (price != null) { ok = true; // Something is set PriceMode.setDefaultPrice(priceData, priceMode, price); } } if (ok) { getQueue().remove(typeID); // Load price... okay.add(typeID); failed.remove(typeID); } else { failed.add(typeID); } long nextUpdateTemp = pricing.getNextUpdateTime(typeID); if (nextUpdateTemp >= 0 && nextUpdateTemp > nextUpdate) { nextUpdate = nextUpdateTemp; } if (updateTask != null) { updateTask.setTaskProgress(typeIDs.size(), okay.size(), 0, 100); } if (!okay.isEmpty() && !typeIDs.isEmpty()) { SplashUpdater.setSubProgress((int) (okay.size() * 100.0 / typeIDs.size())); } }