From 16c5b3900db7fac9c9d3f798297bd7d9808ca98c Mon Sep 17 00:00:00 2001 From: Julien Del Rio Date: Wed, 17 Oct 2012 18:43:58 +0200 Subject: [PATCH 1/2] Do not create a new RemoteImageLoaderImageViewAdapter if you want to use yours. --- .../support/images/remote/RemoteImageLoaderHandler.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ignition-support/ignition-support-lib/src/main/java/com/github/ignition/support/images/remote/RemoteImageLoaderHandler.java b/ignition-support/ignition-support-lib/src/main/java/com/github/ignition/support/images/remote/RemoteImageLoaderHandler.java index cfc8bee..5599230 100755 --- a/ignition-support/ignition-support-lib/src/main/java/com/github/ignition/support/images/remote/RemoteImageLoaderHandler.java +++ b/ignition-support/ignition-support-lib/src/main/java/com/github/ignition/support/images/remote/RemoteImageLoaderHandler.java @@ -40,6 +40,11 @@ public RemoteImageLoaderHandler(ImageView imageView, String imageUrl, Drawable e init(imageView, imageUrl, errorDrawable); } + public RemoteImageLoaderHandler(RemoteImageLoaderImageViewAdapter remoteImageLoaderImageViewAdapter) { + this.imageView = remoteImageLoaderImageViewAdapter.getView(); + setRemoteImageLoaderViewAdapter(remoteImageLoaderImageViewAdapter); + } + public RemoteImageLoaderHandler(Looper looper, ImageView imageView, String imageUrl, Drawable errorDrawable) { super(looper); From 1478d3be3bb2fa32cbab67215cf079396376565e Mon Sep 17 00:00:00 2001 From: Julien Del Rio Date: Wed, 17 Oct 2012 19:15:21 +0200 Subject: [PATCH 2/2] If the view is reused do not download the bitmap --- .../ignition/support/images/remote/RemoteImageLoader.java | 6 +++--- .../support/images/remote/RemoteImageLoaderJob.java | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ignition-support/ignition-support-lib/src/main/java/com/github/ignition/support/images/remote/RemoteImageLoader.java b/ignition-support/ignition-support-lib/src/main/java/com/github/ignition/support/images/remote/RemoteImageLoader.java index 82a4cdc..441605a 100755 --- a/ignition-support/ignition-support-lib/src/main/java/com/github/ignition/support/images/remote/RemoteImageLoader.java +++ b/ignition-support/ignition-support-lib/src/main/java/com/github/ignition/support/images/remote/RemoteImageLoader.java @@ -326,9 +326,9 @@ public void loadImage(Drawable dummyDrawable, RemoteImageLoaderHandler handler) if (imageCache != null && imageCache.containsKeyInMemory(imageUrl)) { // do not go through message passing, handle directly instead imageLoaderHandler.handleImageLoaded(imageCache.getBitmap(imageUrl), null); - } else { - executor.execute(new RemoteImageLoaderJob(imageUrl, imageLoaderHandler, imageCache, - numRetries, defaultBufferSize)); + } else { + executor.execute(new RemoteImageLoaderJob(imageUrl, imageLoaderHandler, imageCache, numRetries, defaultBufferSize, + view)); } } } diff --git a/ignition-support/ignition-support-lib/src/main/java/com/github/ignition/support/images/remote/RemoteImageLoaderJob.java b/ignition-support/ignition-support-lib/src/main/java/com/github/ignition/support/images/remote/RemoteImageLoaderJob.java index 733993c..a1022aa 100644 --- a/ignition-support/ignition-support-lib/src/main/java/com/github/ignition/support/images/remote/RemoteImageLoaderJob.java +++ b/ignition-support/ignition-support-lib/src/main/java/com/github/ignition/support/images/remote/RemoteImageLoaderJob.java @@ -49,6 +49,10 @@ public void run() { } if (bitmap == null) { + // If the view is reused do not download the bitmap + if (reusableView != null & !imageUrl.equals(reusableView.getTag())) { + return; + } bitmap = downloadImage(); }