summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/gallery3d/app/PhotoDataAdapter.java11
-rw-r--r--src/com/android/gallery3d/app/SinglePhotoDataAdapter.java6
-rw-r--r--src/com/android/gallery3d/data/LocalImage.java5
-rw-r--r--src/com/android/gallery3d/data/LocalVideo.java5
-rw-r--r--src/com/android/gallery3d/data/MediaItem.java4
-rw-r--r--src/com/android/gallery3d/ui/PhotoView.java11
6 files changed, 40 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/app/PhotoDataAdapter.java b/src/com/android/gallery3d/app/PhotoDataAdapter.java
index d565f26b5..abe4e8aa3 100644
--- a/src/com/android/gallery3d/app/PhotoDataAdapter.java
+++ b/src/com/android/gallery3d/app/PhotoDataAdapter.java
@@ -38,6 +38,7 @@ import com.android.gallery3d.ui.SynchronizedHandler;
import com.android.gallery3d.ui.TileImageViewAdapter;
import com.android.gallery3d.util.Future;
import com.android.gallery3d.util.FutureListener;
+import com.android.gallery3d.util.LightCycleHelper;
import com.android.gallery3d.util.MediaSetUtils;
import com.android.gallery3d.util.ThreadPool;
import com.android.gallery3d.util.ThreadPool.Job;
@@ -478,6 +479,16 @@ public class PhotoDataAdapter implements PhotoPage.Model {
}
@Override
+ public boolean usePanoramaViewer(int offset) {
+ MediaItem item = getItem(mCurrentIndex + offset);
+ boolean usePanoramaViewer = false;
+ if (item != null) {
+ usePanoramaViewer = LightCycleHelper.isPanorama(item.getFilePath());
+ }
+ return usePanoramaViewer;
+ }
+
+ @Override
public boolean isDeletable(int offset) {
MediaItem item = getItem(mCurrentIndex + offset);
return (item == null)
diff --git a/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java b/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java
index 2f6f16f3a..90f6060d7 100644
--- a/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java
+++ b/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java
@@ -33,6 +33,7 @@ import com.android.gallery3d.ui.SynchronizedHandler;
import com.android.gallery3d.ui.TileImageViewAdapter;
import com.android.gallery3d.util.Future;
import com.android.gallery3d.util.FutureListener;
+import com.android.gallery3d.util.LightCycleHelper;
import com.android.gallery3d.util.ThreadPool;
public class SinglePhotoDataAdapter extends TileImageViewAdapter
@@ -216,6 +217,11 @@ public class SinglePhotoDataAdapter extends TileImageViewAdapter
}
@Override
+ public boolean usePanoramaViewer(int offset) {
+ return LightCycleHelper.isPanorama(mItem.getFilePath());
+ }
+
+ @Override
public boolean isDeletable(int offset) {
return (mItem.getSupportedOperations() & MediaItem.SUPPORT_DELETE) != 0;
}
diff --git a/src/com/android/gallery3d/data/LocalImage.java b/src/com/android/gallery3d/data/LocalImage.java
index b803bd256..078229a8e 100644
--- a/src/com/android/gallery3d/data/LocalImage.java
+++ b/src/com/android/gallery3d/data/LocalImage.java
@@ -338,4 +338,9 @@ public class LocalImage extends LocalMediaItem {
public int getHeight() {
return height;
}
+
+ @Override
+ public String getFilePath() {
+ return filePath;
+ }
}
diff --git a/src/com/android/gallery3d/data/LocalVideo.java b/src/com/android/gallery3d/data/LocalVideo.java
index addb8fdbd..5b6ee4b33 100644
--- a/src/com/android/gallery3d/data/LocalVideo.java
+++ b/src/com/android/gallery3d/data/LocalVideo.java
@@ -231,4 +231,9 @@ public class LocalVideo extends LocalMediaItem {
public int getHeight() {
return height;
}
+
+ @Override
+ public String getFilePath() {
+ return filePath;
+ }
}
diff --git a/src/com/android/gallery3d/data/MediaItem.java b/src/com/android/gallery3d/data/MediaItem.java
index 15bb17623..2fcd1dac8 100644
--- a/src/com/android/gallery3d/data/MediaItem.java
+++ b/src/com/android/gallery3d/data/MediaItem.java
@@ -103,6 +103,10 @@ public abstract class MediaItem extends MediaObject {
public abstract String getMimeType();
+ public String getFilePath() {
+ return "";
+ }
+
// 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/ui/PhotoView.java b/src/com/android/gallery3d/ui/PhotoView.java
index 934638870..932173f7c 100644
--- a/src/com/android/gallery3d/ui/PhotoView.java
+++ b/src/com/android/gallery3d/ui/PhotoView.java
@@ -79,6 +79,9 @@ public class PhotoView extends GLView {
// Returns true if the item is the Panorama.
public boolean isPanorama(int offset);
+ // Returns true if the item uses a special panorama viewer
+ public boolean usePanoramaViewer(int offset);
+
// Returns true if the item is a static image that represents camera
// preview.
public boolean isStaticCamera(int offset);
@@ -559,6 +562,7 @@ public class PhotoView extends GLView {
private int mRotation;
private boolean mIsCamera;
private boolean mIsPanorama;
+ private boolean mUsePanoramaViewer;
private boolean mIsStaticCamera;
private boolean mIsVideo;
private boolean mIsDeletable;
@@ -573,6 +577,7 @@ public class PhotoView extends GLView {
mIsCamera = mModel.isCamera(0);
mIsPanorama = mModel.isPanorama(0);
+ mUsePanoramaViewer = mModel.usePanoramaViewer(0);
mIsStaticCamera = mModel.isStaticCamera(0);
mIsVideo = mModel.isVideo(0);
mIsDeletable = mModel.isDeletable(0);
@@ -712,7 +717,7 @@ public class PhotoView extends GLView {
// Draw the play video icon and the message.
canvas.translate((int) (cx + 0.5f), (int) (cy + 0.5f));
int s = (int) (scale * Math.min(r.width(), r.height()) + 0.5f);
- if (mIsVideo) drawVideoPlayIcon(canvas, s);
+ if (mIsVideo || mUsePanoramaViewer) drawVideoPlayIcon(canvas, s);
if (mLoadingState == Model.LOADING_FAIL) {
drawLoadingFailMessage(canvas);
}
@@ -754,6 +759,7 @@ public class PhotoView extends GLView {
private ScreenNail mScreenNail;
private boolean mIsCamera;
private boolean mIsPanorama;
+ private boolean mUsePanoramaViewer;
private boolean mIsStaticCamera;
private boolean mIsVideo;
private boolean mIsDeletable;
@@ -768,6 +774,7 @@ public class PhotoView extends GLView {
public void reload() {
mIsCamera = mModel.isCamera(mIndex);
mIsPanorama = mModel.isPanorama(mIndex);
+ mUsePanoramaViewer = mModel.usePanoramaViewer(mIndex);
mIsStaticCamera = mModel.isStaticCamera(mIndex);
mIsVideo = mModel.isVideo(mIndex);
mIsDeletable = mModel.isDeletable(mIndex);
@@ -833,7 +840,7 @@ public class PhotoView extends GLView {
invalidate();
}
int s = Math.min(drawW, drawH);
- if (mIsVideo) drawVideoPlayIcon(canvas, s);
+ if (mIsVideo || mUsePanoramaViewer) drawVideoPlayIcon(canvas, s);
if (mLoadingState == Model.LOADING_FAIL) {
drawLoadingFailMessage(canvas);
}