summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/com/android/gallery3d/app/SinglePhotoDataAdapter.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java b/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java
index fe39e4e3d..8134756f8 100755
--- a/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java
+++ b/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java
@@ -89,7 +89,16 @@ public class SinglePhotoDataAdapter extends TileImageViewAdapter
@Override
public void onFutureDone(Future<BitmapRegionDecoder> future) {
BitmapRegionDecoder decoder = future.get();
- if (decoder == null) return;
+ // cannot get large bitmap, then try to get thumb bitmap
+ if (decoder == null) {
+ if (mTask != null && !mTask.isCancelled()) {
+ Log.w(TAG, "fail to get region decoder, try to request thumb image");
+ mHasFullImage = false;
+ pause();
+ resume();
+ }
+ return;
+ }
int width = decoder.getWidth();
int height = decoder.getHeight();
BitmapFactory.Options options = new BitmapFactory.Options();
@@ -136,7 +145,6 @@ public class SinglePhotoDataAdapter extends TileImageViewAdapter
Bitmap backup = future.get();
if (backup == null) {
mLoadingState = LOADING_FAIL;
- return;
} else {
mLoadingState = LOADING_COMPLETE;
}