summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/gallery3d/app/AppBridge.java1
-rw-r--r--src/com/android/gallery3d/app/PhotoDataAdapter.java9
-rw-r--r--src/com/android/gallery3d/app/PhotoPage.java3
-rw-r--r--src/com/android/gallery3d/app/SinglePhotoDataAdapter.java5
-rw-r--r--src/com/android/gallery3d/ui/PhotoView.java12
5 files changed, 26 insertions, 4 deletions
diff --git a/src/com/android/gallery3d/app/AppBridge.java b/src/com/android/gallery3d/app/AppBridge.java
index f89b35a4e..e3deb810d 100644
--- a/src/com/android/gallery3d/app/AppBridge.java
+++ b/src/com/android/gallery3d/app/AppBridge.java
@@ -37,6 +37,7 @@ public abstract class AppBridge implements Parcelable {
//////////////////////////////////////////////////////////////////////////
public abstract boolean isPanorama();
+ public abstract boolean isStaticCamera();
public abstract ScreenNail attachScreenNail();
public abstract void detachScreenNail();
diff --git a/src/com/android/gallery3d/app/PhotoDataAdapter.java b/src/com/android/gallery3d/app/PhotoDataAdapter.java
index 7b979a7d5..b61e4f491 100644
--- a/src/com/android/gallery3d/app/PhotoDataAdapter.java
+++ b/src/com/android/gallery3d/app/PhotoDataAdapter.java
@@ -150,6 +150,7 @@ public class PhotoDataAdapter implements PhotoPage.Model {
private Path mItemPath;
private int mCameraIndex;
private boolean mIsPanorama;
+ private boolean mIsStaticCamera;
private boolean mIsActive;
private boolean mNeedFullImage;
private int mFocusHintDirection = FOCUS_HINT_NEXT;
@@ -170,13 +171,14 @@ public class PhotoDataAdapter implements PhotoPage.Model {
// preview. If cameraIndex < 0, there is no camera preview.
public PhotoDataAdapter(GalleryActivity activity, PhotoView view,
MediaSet mediaSet, Path itemPath, int indexHint, int cameraIndex,
- boolean isPanorama) {
+ boolean isPanorama, boolean isStaticCamera) {
mSource = Utils.checkNotNull(mediaSet);
mPhotoView = Utils.checkNotNull(view);
mItemPath = Utils.checkNotNull(itemPath);
mCurrentIndex = indexHint;
mCameraIndex = cameraIndex;
mIsPanorama = isPanorama;
+ mIsStaticCamera = isStaticCamera;
mThreadPool = activity.getThreadPool();
mNeedFullImage = true;
@@ -463,6 +465,11 @@ public class PhotoDataAdapter implements PhotoPage.Model {
}
@Override
+ public boolean isStaticCamera(int offset) {
+ return isCamera(offset) && mIsStaticCamera;
+ }
+
+ @Override
public boolean isVideo(int offset) {
MediaItem item = getItem(mCurrentIndex + offset);
return (item == null)
diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java
index c6e74696c..8f4fed988 100644
--- a/src/com/android/gallery3d/app/PhotoPage.java
+++ b/src/com/android/gallery3d/app/PhotoPage.java
@@ -229,7 +229,8 @@ public class PhotoPage extends ActivityState implements
PhotoDataAdapter pda = new PhotoDataAdapter(
mActivity, mPhotoView, mMediaSet, itemPath, mCurrentIndex,
mAppBridge == null ? -1 : 0,
- mAppBridge == null ? false : mAppBridge.isPanorama());
+ mAppBridge == null ? false : mAppBridge.isPanorama(),
+ mAppBridge == null ? false : mAppBridge.isStaticCamera());
mModel = pda;
mPhotoView.setModel(mModel);
diff --git a/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java b/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java
index 6885456a6..254f672b9 100644
--- a/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java
+++ b/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java
@@ -206,6 +206,11 @@ public class SinglePhotoDataAdapter extends TileImageViewAdapter
}
@Override
+ public boolean isStaticCamera(int offset) {
+ return false;
+ }
+
+ @Override
public boolean isVideo(int offset) {
return mItem.getMediaType() == MediaItem.MEDIA_TYPE_VIDEO;
}
diff --git a/src/com/android/gallery3d/ui/PhotoView.java b/src/com/android/gallery3d/ui/PhotoView.java
index c9fefca28..0dee1b04b 100644
--- a/src/com/android/gallery3d/ui/PhotoView.java
+++ b/src/com/android/gallery3d/ui/PhotoView.java
@@ -78,6 +78,10 @@ public class PhotoView extends GLView {
// Returns true if the item is the Panorama.
public boolean isPanorama(int offset);
+ // Returns true if the item is a static image that represents camera
+ // preview.
+ public boolean isStaticCamera(int offset);
+
// Returns true if the item is a Video.
public boolean isVideo(int offset);
@@ -545,6 +549,7 @@ public class PhotoView extends GLView {
private int mRotation;
private boolean mIsCamera;
private boolean mIsPanorama;
+ private boolean mIsStaticCamera;
private boolean mIsVideo;
private boolean mIsDeletable;
private int mLoadingState = Model.LOADING_INIT;
@@ -561,6 +566,7 @@ public class PhotoView extends GLView {
mIsCamera = mModel.isCamera(0);
mIsPanorama = mModel.isPanorama(0);
+ mIsStaticCamera = mModel.isStaticCamera(0);
mIsVideo = mModel.isVideo(0);
mIsDeletable = mModel.isDeletable(0);
mLoadingState = mModel.getLoadingState(0);
@@ -582,7 +588,7 @@ public class PhotoView extends GLView {
private void updateSize() {
if (mIsPanorama) {
mRotation = getPanoramaRotation();
- } else if (mIsCamera) {
+ } else if (mIsCamera && !mIsStaticCamera) {
mRotation = getCameraRotation();
} else {
mRotation = mModel.getImageRotation(0);
@@ -741,6 +747,7 @@ public class PhotoView extends GLView {
private ScreenNail mScreenNail;
private boolean mIsCamera;
private boolean mIsPanorama;
+ private boolean mIsStaticCamera;
private boolean mIsVideo;
private boolean mIsDeletable;
private int mLoadingState = Model.LOADING_INIT;
@@ -754,6 +761,7 @@ public class PhotoView extends GLView {
public void reload() {
mIsCamera = mModel.isCamera(mIndex);
mIsPanorama = mModel.isPanorama(mIndex);
+ mIsStaticCamera = mModel.isStaticCamera(mIndex);
mIsVideo = mModel.isVideo(mIndex);
mIsDeletable = mModel.isDeletable(mIndex);
mLoadingState = mModel.getLoadingState(mIndex);
@@ -844,7 +852,7 @@ public class PhotoView extends GLView {
private void updateSize() {
if (mIsPanorama) {
mRotation = getPanoramaRotation();
- } else if (mIsCamera) {
+ } else if (mIsCamera && !mIsStaticCamera) {
mRotation = getCameraRotation();
} else {
mRotation = mModel.getImageRotation(mIndex);