summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Mount <mount@google.com>2012-10-23 14:28:58 -0700
committerGeorge Mount <mount@google.com>2012-10-23 14:28:58 -0700
commit4588b65ebb1aacef2a991d5da6659d69f791e571 (patch)
tree9d10e6c7f9c7a8997e1fbc71de4cd247c3d943de
parent072e41e2c00abdc8f7e780679b5a943d41c6f1e6 (diff)
downloadandroid_packages_apps_Snap-4588b65ebb1aacef2a991d5da6659d69f791e571.tar.gz
android_packages_apps_Snap-4588b65ebb1aacef2a991d5da6659d69f791e571.tar.bz2
android_packages_apps_Snap-4588b65ebb1aacef2a991d5da6659d69f791e571.zip
Fix NPE in detecting panoramas.
Bug 7398022 Change-Id: Iae646c424ffbe552d014f563c8f4e5e4385b4724
-rw-r--r--src/com/android/gallery3d/app/PanoramaMetadataSupport.java10
-rw-r--r--src_pd/com/android/gallery3d/util/LightCycleHelper.java2
2 files changed, 8 insertions, 4 deletions
diff --git a/src/com/android/gallery3d/app/PanoramaMetadataSupport.java b/src/com/android/gallery3d/app/PanoramaMetadataSupport.java
index d40422582..ba0c9e71a 100644
--- a/src/com/android/gallery3d/app/PanoramaMetadataSupport.java
+++ b/src/com/android/gallery3d/app/PanoramaMetadataSupport.java
@@ -20,6 +20,7 @@ import com.android.gallery3d.data.MediaObject.PanoramaSupportCallback;
import com.android.gallery3d.data.PanoramaMetadataJob;
import com.android.gallery3d.util.Future;
import com.android.gallery3d.util.FutureListener;
+import com.android.gallery3d.util.LightCycleHelper;
import com.android.gallery3d.util.LightCycleHelper.PanoramaMetadata;
import java.util.ArrayList;
@@ -77,13 +78,16 @@ public class PanoramaMetadataSupport implements FutureListener<PanoramaMetadata>
public void onFutureDone(Future<PanoramaMetadata> future) {
synchronized (mLock) {
mPanoramaMetadata = future.get();
+ if (mPanoramaMetadata == null) {
+ // Error getting panorama data from file. Treat as not panorama.
+ mPanoramaMetadata = LightCycleHelper.NOT_PANORAMA;
+ }
for (PanoramaSupportCallback cb : mCallbacksWaiting) {
- cb.panoramaInfoAvailable(mMediaObject,
- mPanoramaMetadata.mUsePanoramaViewer,
+ cb.panoramaInfoAvailable(mMediaObject, mPanoramaMetadata.mUsePanoramaViewer,
mPanoramaMetadata.mIsPanorama360);
}
mGetPanoMetadataTask = null;
mCallbacksWaiting = null;
}
- }
+ }
}
diff --git a/src_pd/com/android/gallery3d/util/LightCycleHelper.java b/src_pd/com/android/gallery3d/util/LightCycleHelper.java
index 68c019567..bceeea6b4 100644
--- a/src_pd/com/android/gallery3d/util/LightCycleHelper.java
+++ b/src_pd/com/android/gallery3d/util/LightCycleHelper.java
@@ -61,7 +61,7 @@ public class LightCycleHelper {
}
}
- private static final PanoramaMetadata NOT_PANORAMA = new PanoramaMetadata(false, false);
+ public static final PanoramaMetadata NOT_PANORAMA = new PanoramaMetadata(false, false);
public static void setupCaptureIntent(Context context, Intent it, String outputDir) {
/* Do nothing */