+ mImageView.setTag(getFile().getFileId());
+
+ if (mShowResizedImage){
+ Bitmap resizedImage = ThumbnailsCacheManager.getBitmapFromDiskCache(
+ String.valueOf("r" + getFile().getRemoteId()));
+
+ if (resizedImage != null && !getFile().needsUpdateThumbnail()){
+ mProgressWheel.setVisibility(View.GONE);
+ mImageView.setImageBitmap(resizedImage);
+ mImageView.setVisibility(View.VISIBLE);
+ mBitmap = resizedImage;
+ } else {
+ // show thumbnail while loading resized image
+ Bitmap thumbnail = ThumbnailsCacheManager.getBitmapFromDiskCache(
+ String.valueOf("t" + getFile().getRemoteId()));
+
+ if (thumbnail != null){
+ mImageView.setImageBitmap(thumbnail);
+ mProgressWheel.setVisibility(View.VISIBLE);
+ mImageView.setVisibility(View.VISIBLE);
+ mBitmap = thumbnail;
+ } else {
+ thumbnail = ThumbnailsCacheManager.mDefaultImg;
+ }
+
+ // generate new resized image
+ if (ThumbnailsCacheManager.cancelPotentialWork(getFile(), mImageView) &&
+ mContainerActivity.getStorageManager() != null) {
+ final ThumbnailsCacheManager.ThumbnailGenerationTask task =
+ new ThumbnailsCacheManager.ThumbnailGenerationTask(
+ mImageView, mContainerActivity.getStorageManager(),
+ mContainerActivity.getStorageManager().getAccount(),
+ mProgressWheel);
+ if (resizedImage == null) {
+ resizedImage = thumbnail;
+ }
+ final ThumbnailsCacheManager.AsyncDrawable asyncDrawable =
+ new ThumbnailsCacheManager.AsyncDrawable(
+ MainApp.getAppContext().getResources(),
+ resizedImage,
+ task
+ );
+ mImageView.setImageDrawable(asyncDrawable);
+ task.execute(getFile(), false);
+ }
+ }
+ } else {
+ mLoadBitmapTask = new LoadBitmapTask(mImageView, mMessageView, mProgressWheel);
+ mLoadBitmapTask.execute(getFile());
+ }