From 90382c588901caec07f5b3fc8be50ea16c0027d6 Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Fri, 13 Nov 2015 16:41:05 +0100 Subject: [PATCH] show thumbnail while waiting for resized image --- .../android/datamodel/ThumbnailsCacheManager.java | 2 +- .../android/ui/preview/PreviewImageFragment.java | 32 +++++++++++++++------- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java b/src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java index 939bc9a4..0e2a3e77 100644 --- a/src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java +++ b/src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java @@ -230,7 +230,7 @@ public class ThumbnailsCacheManager { } } imageView.setImageBitmap(bitmap); - imageView.setVisibility(View.VISIBLE); + // imageView.setVisibility(View.VISIBLE); } } } diff --git a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java index 0166829b..60f201e7 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java @@ -208,17 +208,29 @@ public class PreviewImageFragment extends FileFragment { mImageView.setTag(getFile().getFileId()); if (mShowResizedImage){ - Bitmap thumbnail = ThumbnailsCacheManager.getBitmapFromDiskCache( - String.valueOf("r" + getFile().getRemoteId()) - ); + Bitmap resizedImage = ThumbnailsCacheManager.getBitmapFromDiskCache( + String.valueOf("r" + getFile().getRemoteId())); - if (thumbnail != null && !getFile().needsUpdateThumbnail()){ + if (resizedImage != null && !getFile().needsUpdateThumbnail()){ mProgressWheel.setVisibility(View.GONE); - mImageView.setImageBitmap(thumbnail); + mImageView.setImageBitmap(resizedImage); mImageView.setVisibility(View.VISIBLE); - mBitmap = thumbnail; + mBitmap = resizedImage; } else { - // generate new Thumbnail + // 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 = @@ -226,13 +238,13 @@ public class PreviewImageFragment extends FileFragment { mImageView, mContainerActivity.getStorageManager(), mContainerActivity.getStorageManager().getAccount(), mProgressWheel); - if (thumbnail == null) { - thumbnail = ThumbnailsCacheManager.mDefaultImg; + if (resizedImage == null) { + resizedImage = thumbnail; } final ThumbnailsCacheManager.AsyncDrawable asyncDrawable = new ThumbnailsCacheManager.AsyncDrawable( MainApp.getAppContext().getResources(), - thumbnail, + resizedImage, task ); mImageView.setImageDrawable(asyncDrawable); -- 2.11.0