protected void downloadTitleLogo() { if (memoryCache == null) { // キャッシュの設定 memoryCache = new MemoryCache<Bitmap>(); memoryCache.setOnMemoryCacheRemoveListener( new OnMemoryCacheRemoveListener<Bitmap>() { @Override public boolean onRemoveItem(String key, Bitmap item) { if (item != null) { item.recycle(); } return true; } }); } // タイトルロゴのダウンロード final String logoImageName = settingNavigationLogoImage(catalogId); if (logoImageName == null) { if (callback != null) { callback.downloadNaviLogoImageCompleted(null); } } else { if (memoryCache != null && memoryCache.containsKey(logoImageName)) { Bitmap bmp = memoryCache.get(logoImageName); if (callback != null) { callback.downloadNaviLogoImageCompleted(bmp); } } else { DownloadManager.getInstance() .offerImage( settingName(), 0, catalogUrl, logoImageName, new AsyncCallback<Bitmap>() { @Override public void onSuccess(AsyncResult<Bitmap> result) { Bitmap bmp = result.getContent(); if (memoryCache == null) { // 画面がすでに停止している bmp.recycle(); } else { bmp = memoryCache.put(logoImageName, bmp); if (callback != null) { callback.downloadNaviLogoImageCompleted(bmp); } } } @Override public void onFailed(AsyncResult<Bitmap> result) { if (callback != null) { callback.downloadNaviLogoImageCompleted(null); } } }); } } }
public Bitmap getNavigationLogoImage() { final String logoImageName = settingNavigationLogoImage(catalogId); if (logoImageName != null) { if (memoryCache != null && memoryCache.containsKey(logoImageName)) { Bitmap bmp = memoryCache.get(logoImageName); return bmp; } } return null; }
/** 画像をダウンロード */ public void downloadImages() { if (memoryCache == null) { // キャッシュの設定 memoryCache = new MemoryCache<Bitmap>(); memoryCache.setOnMemoryCacheRemoveListener( new OnMemoryCacheRemoveListener<Bitmap>() { @Override public boolean onRemoveItem(String key, Bitmap item) { if (item != null) { item.recycle(); } return true; } }); } // タイトルロゴのダウンロード final String logoImageName = settingNavigationLogoImage(catalogId); if (logoImageName == null) { if (callback != null) { callback.downloadNaviLogoImageCompleted(null); } } else { if (memoryCache != null && memoryCache.containsKey(logoImageName)) { Bitmap bmp = memoryCache.get(logoImageName); if (callback != null) { callback.downloadNaviLogoImageCompleted(bmp); } } else { DownloadManager.getInstance() .offerImage( settingName(), 0, catalogUrl, logoImageName, new AsyncCallback<Bitmap>() { @Override public void onSuccess(AsyncResult<Bitmap> result) { Bitmap bmp = result.getContent(); if (memoryCache == null) { // 画面がすでに停止している bmp.recycle(); } else { bmp = memoryCache.put(logoImageName, bmp); if (callback != null) { callback.downloadNaviLogoImageCompleted(bmp); } } } @Override public void onFailed(AsyncResult<Bitmap> result) { if (callback != null) { callback.downloadNaviLogoImageCompleted(null); } } }); } } // 背景画像のダウンロード downloadBackImageCountUp = true; downloadBackImageCount = 0; downloadingBackImage = true; // 背景画像(縦)のダウンロード backImageSetting = settingBgImage(catalogId, Configuration.ORIENTATION_PORTRAIT); boolean down1 = downloadBackImages(backImageSetting); // 背景画像(横)のダウンロード backImageLandscapeSetting = settingBgImage(catalogId, Configuration.ORIENTATION_LANDSCAPE); boolean down2 = downloadBackImages(backImageLandscapeSetting); // ダウンロード数のカウント終了 downloadBackImageCountUp = false; if (!down1 && !down2 || downloadBackImageCount <= 0) { // 背景画像が1つも無かった。または全てキャッシュから。 downloadingBackImage = false; checkCompleted(); } }