From 5fc684fcc543ffb6216ff7aa0c585221006760ce Mon Sep 17 00:00:00 2001 From: Dmitry Brant Date: Sat, 20 May 2017 13:41:23 +0200 Subject: [PATCH 1/2] Fix showing local image if fetching thumbnail fails. --- app/src/main/java/fr/free/nrw/commons/MediaWikiImageView.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/main/java/fr/free/nrw/commons/MediaWikiImageView.java b/app/src/main/java/fr/free/nrw/commons/MediaWikiImageView.java index 027ae61e2..4d628711c 100644 --- a/app/src/main/java/fr/free/nrw/commons/MediaWikiImageView.java +++ b/app/src/main/java/fr/free/nrw/commons/MediaWikiImageView.java @@ -3,6 +3,7 @@ package fr.free.nrw.commons; import android.content.Context; import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import android.text.TextUtils; import android.util.AttributeSet; import com.facebook.drawee.view.SimpleDraweeView; @@ -61,6 +62,9 @@ public class MediaWikiImageView extends SimpleDraweeView { if (isCancelled()) { return; } + if (TextUtils.isEmpty(result) && media.getLocalUri() != null) { + result = media.getLocalUri().toString(); + } CommonsApplication.getInstance().getThumbnailUrlCache().put(media.getFilename(), result); setImageUrl(result); } From 39e24b1863c51a2c66d467ad8b6dcc7aacb51fae Mon Sep 17 00:00:00 2001 From: Dmitry Brant Date: Sat, 20 May 2017 15:32:41 +0200 Subject: [PATCH 2/2] Don't put local URI into thumbnail cache. --- app/src/main/java/fr/free/nrw/commons/MediaWikiImageView.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/fr/free/nrw/commons/MediaWikiImageView.java b/app/src/main/java/fr/free/nrw/commons/MediaWikiImageView.java index 4d628711c..ccb75a3dd 100644 --- a/app/src/main/java/fr/free/nrw/commons/MediaWikiImageView.java +++ b/app/src/main/java/fr/free/nrw/commons/MediaWikiImageView.java @@ -64,8 +64,10 @@ public class MediaWikiImageView extends SimpleDraweeView { } if (TextUtils.isEmpty(result) && media.getLocalUri() != null) { result = media.getLocalUri().toString(); + } else { + // only cache meaningful thumbnails received from network. + CommonsApplication.getInstance().getThumbnailUrlCache().put(media.getFilename(), result); } - CommonsApplication.getInstance().getThumbnailUrlCache().put(media.getFilename(), result); setImageUrl(result); } }