summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/data
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/data')
-rw-r--r--src/com/android/gallery3d/data/LocalImage.java21
-rw-r--r--src/com/android/gallery3d/data/MediaItem.java4
-rw-r--r--src/com/android/gallery3d/data/MediaObject.java9
-rw-r--r--src/com/android/gallery3d/data/UriImage.java16
4 files changed, 44 insertions, 6 deletions
diff --git a/src/com/android/gallery3d/data/LocalImage.java b/src/com/android/gallery3d/data/LocalImage.java
index ffcf9760a..52f707b60 100644
--- a/src/com/android/gallery3d/data/LocalImage.java
+++ b/src/com/android/gallery3d/data/LocalImage.java
@@ -103,6 +103,9 @@ public class LocalImage extends LocalMediaItem {
private boolean mUsePanoramaViewer;
private boolean mUsePanoramaViewerInitialized;
+ private boolean mIsPanorama360;
+ private boolean mIsPanorama360Initialized;
+
public LocalImage(Path path, GalleryApp application, Cursor cursor) {
super(path, nextVersionNumber());
mApplication = application;
@@ -249,8 +252,11 @@ public class LocalImage extends LocalMediaItem {
if (usePanoramaViewer()) {
operation |= SUPPORT_PANORAMA;
- // disable destructive rotate for lightcycle panorama
- operation &= ~SUPPORT_ROTATE;
+ if (isPanorama360()) {
+ operation |= SUPPORT_PANORAMA360;
+ // disable destructive rotate for 360 degree panorama
+ operation &= ~SUPPORT_ROTATE;
+ }
}
return operation;
}
@@ -361,4 +367,15 @@ public class LocalImage extends LocalMediaItem {
}
return mUsePanoramaViewer;
}
+
+ @Override
+ public boolean isPanorama360() {
+ // cache flag for faster access
+ if (!mIsPanorama360Initialized) {
+ mIsPanorama360 = LightCycleHelper.isPanorama360(
+ mApplication.getAndroidContext(), getContentUri());
+ mIsPanorama360Initialized = true;
+ }
+ return mIsPanorama360;
+ }
}
diff --git a/src/com/android/gallery3d/data/MediaItem.java b/src/com/android/gallery3d/data/MediaItem.java
index 77b86b847..da59abeef 100644
--- a/src/com/android/gallery3d/data/MediaItem.java
+++ b/src/com/android/gallery3d/data/MediaItem.java
@@ -107,6 +107,10 @@ public abstract class MediaItem extends MediaObject {
return false;
}
+ public boolean isPanorama360() {
+ return false;
+ }
+
// Returns width and height of the media item.
// Returns 0, 0 if the information is not available.
public abstract int getWidth();
diff --git a/src/com/android/gallery3d/data/MediaObject.java b/src/com/android/gallery3d/data/MediaObject.java
index e738011ef..a16b9666d 100644
--- a/src/com/android/gallery3d/data/MediaObject.java
+++ b/src/com/android/gallery3d/data/MediaObject.java
@@ -38,10 +38,11 @@ public abstract class MediaObject {
public static final int SUPPORT_IMPORT = 1 << 11;
public static final int SUPPORT_TRIM = 1 << 12;
public static final int SUPPORT_PANORAMA = 1 << 13;
- public static final int SUPPORT_UNLOCK = 1 << 14;
- public static final int SUPPORT_BACK = 1 << 15;
- public static final int SUPPORT_ACTION = 1 << 16;
- public static final int SUPPORT_CAMERA_SHORTCUT = 1 << 17;
+ public static final int SUPPORT_PANORAMA360 = 1 << 14;
+ public static final int SUPPORT_UNLOCK = 1 << 15;
+ public static final int SUPPORT_BACK = 1 << 16;
+ public static final int SUPPORT_ACTION = 1 << 17;
+ public static final int SUPPORT_CAMERA_SHORTCUT = 1 << 18;
public static final int SUPPORT_ALL = 0xffffffff;
// These are the bits returned from getMediaType():
diff --git a/src/com/android/gallery3d/data/UriImage.java b/src/com/android/gallery3d/data/UriImage.java
index 737e85f25..a72ced2b8 100644
--- a/src/com/android/gallery3d/data/UriImage.java
+++ b/src/com/android/gallery3d/data/UriImage.java
@@ -58,6 +58,8 @@ public class UriImage extends MediaItem {
private int mRotation;
private boolean mUsePanoramaViewer;
private boolean mUsePanoramaViewerInitialized;
+ private boolean mIsPanorama360;
+ private boolean mIsPanorama360Initialized;
private GalleryApp mApplication;
@@ -220,6 +222,9 @@ public class UriImage extends MediaItem {
}
if (usePanoramaViewer()) {
supported |= SUPPORT_PANORAMA;
+ if (isPanorama360()) {
+ supported |= SUPPORT_PANORAMA360;
+ }
}
return supported;
}
@@ -302,4 +307,15 @@ public class UriImage extends MediaItem {
}
return mUsePanoramaViewer;
}
+
+ @Override
+ public boolean isPanorama360() {
+ // cache flag for faster access
+ if (!mIsPanorama360Initialized) {
+ mIsPanorama360 = LightCycleHelper.isPanorama360(
+ mApplication.getAndroidContext(), getContentUri());
+ mIsPanorama360Initialized = true;
+ }
+ return mIsPanorama360;
+ }
}