diff --git a/library/src/com/handlerexploit/prime/utils/ImageManager.java b/library/src/com/handlerexploit/prime/utils/ImageManager.java index 350731c..66cb2e3 100644 --- a/library/src/com/handlerexploit/prime/utils/ImageManager.java +++ b/library/src/com/handlerexploit/prime/utils/ImageManager.java @@ -197,9 +197,9 @@ public String getSource() { } @Override - public void onImageReceived(String source, Bitmap bitmap) { + public void onImageReceived(String url, Bitmap bitmap, Source source) { if (listener != null) { - listener.onImageReceived(source, bitmap); + listener.onImageReceived(url, bitmap, source); } } }); @@ -228,7 +228,7 @@ private void get(final ExtendedRequest request) { final String key = getKey(source); Bitmap bitmap = getBitmapFromMemory(key, request); if (bitmap != null) { - request.onImageReceived(source, bitmap); + request.onImageReceived(source, bitmap, Source.MEMORY); } else { synchronized (mBadUrlCache) { if (mBadUrlCache.get(key) != null) { @@ -248,7 +248,7 @@ public void run() { @Override public void run() { - request.onImageReceived(source, bitmap); + request.onImageReceived(source, bitmap, Source.DISK); } }); } else { @@ -262,7 +262,7 @@ public void run() { @Override public void run() { - request.onImageReceived(source, bitmap); + request.onImageReceived(source, bitmap, Source.NETWORK); } }); } else { @@ -515,6 +515,12 @@ private static ExecutorService newLowPriorityCachedFixedThreadPool(int maximumPo return new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, factory, handler); } + public static enum Source { + MEMORY, + DISK, + NETWORK + } + public static interface BitmapOptionsFactory { public BitmapFactory.Options newOptionsFromStream(InputStream inputStream, int width, int height); @@ -540,7 +546,7 @@ public static interface OnImageReceivedListener { * Notification that an image was retrieved, this is guaranteed to be * called on the UI thread. */ - public void onImageReceived(String source, Bitmap bitmap); + public void onImageReceived(String url, Bitmap bitmap, Source source); } /** @@ -602,8 +608,8 @@ public SimpleRequest(Request request) { } @Override - public void onImageReceived(String source, Bitmap bitmap) { - mRequest.onImageReceived(source, bitmap); + public void onImageReceived(String url, Bitmap bitmap, Source source) { + mRequest.onImageReceived(url, bitmap, source); } @Override diff --git a/library/src/com/handlerexploit/prime/widgets/RemoteImageView.java b/library/src/com/handlerexploit/prime/widgets/RemoteImageView.java index 1f6056f..eef3aa1 100644 --- a/library/src/com/handlerexploit/prime/widgets/RemoteImageView.java +++ b/library/src/com/handlerexploit/prime/widgets/RemoteImageView.java @@ -22,6 +22,7 @@ import com.handlerexploit.prime.utils.ImageManager; import com.handlerexploit.prime.utils.ImageManager.Request; +import com.handlerexploit.prime.utils.ImageManager.Source; /** *

Usage Example

@@ -48,8 +49,8 @@ public class RemoteImageView extends ImageView { private Request mRequest = new Request() { @Override - public void onImageReceived(String source, Bitmap bitmap) { - if (mImageURL != null && mImageURL.equals(source) && bitmap != null) { + public void onImageReceived(String url, Bitmap bitmap, Source source) { + if (mImageURL != null && mImageURL.equals(url) && bitmap != null) { if (mOnImageLoadListener != null) { mOnImageLoadListener.onImageLoad(RemoteImageView.this, bitmap); } else {