From 1824176c8198cdf4b2867ef6c35538e532b1eafa Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Thu, 24 Oct 2013 01:27:18 +0530 Subject: [PATCH] Load images from local disk if possible Change-Id: I21c477131d714dde6029db7193ab1063809581b5 --- .../contributions/ContributionsListAdapter.java | 12 ++++++++++-- .../wikimedia/commons/media/MediaDetailFragment.java | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsListAdapter.java b/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsListAdapter.java index 3ce0c4c03..521b47b01 100644 --- a/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsListAdapter.java +++ b/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsListAdapter.java @@ -7,10 +7,12 @@ import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.support.v4.widget.CursorAdapter; import android.text.TextUtils; +import android.util.Log; import android.view.View; import android.view.ViewGroup; import com.actionbarsherlock.app.SherlockFragment; import com.nostra13.universalimageloader.core.DisplayImageOptions; +import com.nostra13.universalimageloader.core.assist.FailReason; import com.nostra13.universalimageloader.core.assist.SimpleImageLoadingListener; import org.wikimedia.commons.CommonsApplication; import org.wikimedia.commons.MediaWikiImageView; @@ -37,9 +39,9 @@ class ContributionsListAdapter extends CursorAdapter { @Override public void bindView(View view, Context context, Cursor cursor) { final ContributionViewHolder views = (ContributionViewHolder)view.getTag(); - Contribution contribution = Contribution.fromCursor(cursor); + final Contribution contribution = Contribution.fromCursor(cursor); - String actualUrl = (contribution.getLocalUri() != null && TextUtils.isEmpty(contribution.getLocalUri().toString())) ? contribution.getLocalUri().toString() : contribution.getThumbnailUrl(640); + String actualUrl = (contribution.getLocalUri() != null && !TextUtils.isEmpty(contribution.getLocalUri().toString())) ? contribution.getLocalUri().toString() : contribution.getThumbnailUrl(640); if(views.url == null || !views.url.equals(actualUrl)) { if(actualUrl.startsWith("http")) { @@ -57,6 +59,12 @@ class ContributionsListAdapter extends CursorAdapter { views.seqNumView.setVisibility(View.GONE); } + @Override + public void onLoadingFailed(String imageUri, View view, FailReason failReason) { + super.onLoadingFailed(imageUri, view, failReason); + MediaWikiImageView mwImageView = (MediaWikiImageView)views.imageView; + mwImageView.setMedia(contribution, ((CommonsApplication) activity.getApplicationContext()).getImageLoader()); + } }); } views.url = actualUrl; diff --git a/commons/src/main/java/org/wikimedia/commons/media/MediaDetailFragment.java b/commons/src/main/java/org/wikimedia/commons/media/MediaDetailFragment.java index bee987dcc..f28774a61 100644 --- a/commons/src/main/java/org/wikimedia/commons/media/MediaDetailFragment.java +++ b/commons/src/main/java/org/wikimedia/commons/media/MediaDetailFragment.java @@ -168,7 +168,7 @@ public class MediaDetailFragment extends SherlockFragment { } private void displayMediaDetails(final Media media) { - String actualUrl = (media.getLocalUri() != null && TextUtils.isEmpty(media.getLocalUri().toString())) ? media.getLocalUri().toString() : media.getThumbnailUrl(640); + String actualUrl = (media.getLocalUri() != null && !TextUtils.isEmpty(media.getLocalUri().toString())) ? media.getLocalUri().toString() : media.getThumbnailUrl(640); if(actualUrl.startsWith("http")) { ImageLoader loader = ((CommonsApplication)getActivity().getApplicationContext()).getImageLoader(); MediaWikiImageView mwImage = (MediaWikiImageView)image;