Skip to content

Commit b536d19

Browse files
committed
Merge pull request nostra13#580 from KeepSafe/add-original-uri
Add original image URI to ImageDecodingInfo
2 parents f6f1c4d + 7397ee8 commit b536d19

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

library/src/com/nostra13/universalimageloader/core/LoadAndDisplayImageTask.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ private Bitmap tryLoadBitmap() throws TaskCancelledException {
228228
loadedFrom = LoadedFrom.DISC_CACHE;
229229

230230
checkTaskNotActual();
231-
bitmap = decodeImage(cacheFileUri);
231+
bitmap = decodeImage(cacheFileUri, uri);
232232
}
233233
if (bitmap == null || bitmap.getWidth() <= 0 || bitmap.getHeight() <= 0) {
234234
log(LOG_LOAD_IMAGE_FROM_NETWORK);
@@ -238,7 +238,7 @@ private Bitmap tryLoadBitmap() throws TaskCancelledException {
238238
options.isCacheOnDisc() && tryCacheImageOnDisc(imageFile) ? cacheFileUri : uri;
239239

240240
checkTaskNotActual();
241-
bitmap = decodeImage(imageUriForDecoding);
241+
bitmap = decodeImage(imageUriForDecoding, uri);
242242

243243
if (bitmap == null || bitmap.getWidth() <= 0 || bitmap.getHeight() <= 0) {
244244
fireFailEvent(FailType.DECODING_ERROR, null);
@@ -278,9 +278,9 @@ private File getImageFileInDiscCache() {
278278
return imageFile;
279279
}
280280

281-
private Bitmap decodeImage(String imageUri) throws IOException {
281+
private Bitmap decodeImage(String imageUri, String originalImageUri) throws IOException {
282282
ViewScaleType viewScaleType = imageAware.getScaleType();
283-
ImageDecodingInfo decodingInfo = new ImageDecodingInfo(memoryCacheKey, imageUri, targetSize, viewScaleType,
283+
ImageDecodingInfo decodingInfo = new ImageDecodingInfo(memoryCacheKey, imageUri, originalImageUri, targetSize, viewScaleType,
284284
getDownloader(), options);
285285
return decoder.decode(decodingInfo);
286286
}
@@ -335,7 +335,7 @@ private boolean resizeAndSaveImage(File targetFile, int maxWidth, int maxHeight)
335335
DisplayImageOptions specialOptions = new DisplayImageOptions.Builder().cloneFrom(options)
336336
.imageScaleType(ImageScaleType.IN_SAMPLE_INT).build();
337337
ImageDecodingInfo decodingInfo = new ImageDecodingInfo(memoryCacheKey,
338-
Scheme.FILE.wrap(targetFile.getAbsolutePath()), targetImageSize, ViewScaleType.FIT_INSIDE,
338+
Scheme.FILE.wrap(targetFile.getAbsolutePath()), uri, targetImageSize, ViewScaleType.FIT_INSIDE,
339339
getDownloader(), specialOptions);
340340
Bitmap bmp = decoder.decode(decodingInfo);
341341
if (bmp != null && configuration.processorForDiscCache != null) {

library/src/com/nostra13/universalimageloader/core/decode/ImageDecodingInfo.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public class ImageDecodingInfo {
3434

3535
private final String imageKey;
3636
private final String imageUri;
37+
private final String originalImageUri;
3738
private final ImageSize targetSize;
3839

3940
private final ImageScaleType imageScaleType;
@@ -45,10 +46,11 @@ public class ImageDecodingInfo {
4546
private final boolean considerExifParams;
4647
private final Options decodingOptions;
4748

48-
public ImageDecodingInfo(String imageKey, String imageUri, ImageSize targetSize, ViewScaleType viewScaleType,
49+
public ImageDecodingInfo(String imageKey, String imageUri, String originalImageUri, ImageSize targetSize, ViewScaleType viewScaleType,
4950
ImageDownloader downloader, DisplayImageOptions displayOptions) {
5051
this.imageKey = imageKey;
5152
this.imageUri = imageUri;
53+
this.originalImageUri = originalImageUri;
5254
this.targetSize = targetSize;
5355

5456
this.imageScaleType = displayOptions.getImageScaleType();
@@ -99,6 +101,11 @@ public String getImageUri() {
99101
return imageUri;
100102
}
101103

104+
/** @return The original uri that the request wanted */
105+
public String getOriginalImageUri() {
106+
return originalImageUri;
107+
}
108+
102109
/**
103110
* @return Target size for image. Decoded bitmap should close to this size according to {@linkplain ImageScaleType
104111
* image scale type} and {@linkplain ViewScaleType view scale type}.

0 commit comments

Comments
 (0)