diff options
author | Angus Kong <shkong@google.com> | 2012-05-16 19:15:56 -0700 |
---|---|---|
committer | Chih-Chung Chang <chihchung@google.com> | 2012-05-17 11:19:43 -0700 |
commit | d5c545b45ac938dd358f0eb3af40a574a6e96a09 (patch) | |
tree | 046f57dd636e81e59fbb84c91bdc0d1849b84e47 /src/com/android/gallery3d/app | |
parent | 433a2e5b10824f5355eec02765b0c9ad6ac6c87c (diff) | |
download | android_packages_apps_Snap-d5c545b45ac938dd358f0eb3af40a574a6e96a09.tar.gz android_packages_apps_Snap-d5c545b45ac938dd358f0eb3af40a574a6e96a09.tar.bz2 android_packages_apps_Snap-d5c545b45ac938dd358f0eb3af40a574a6e96a09.zip |
Support Panorama preview.
The panorama preview doesn't consider display rotation.
bug:6305152
Change-Id: I6b87c18ed8eadf1b2bf5e64437c5b290d111cbba
Diffstat (limited to 'src/com/android/gallery3d/app')
4 files changed, 17 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/app/AppBridge.java b/src/com/android/gallery3d/app/AppBridge.java index 90cbd0bbb..5d6b1ec52 100644 --- a/src/com/android/gallery3d/app/AppBridge.java +++ b/src/com/android/gallery3d/app/AppBridge.java @@ -34,6 +34,7 @@ public abstract class AppBridge implements Parcelable { // These are requests sent from PhotoPage to the app ////////////////////////////////////////////////////////////////////////// + public abstract boolean isPanorama(); 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 d88b72ca8..c92f7ed43 100644 --- a/src/com/android/gallery3d/app/PhotoDataAdapter.java +++ b/src/com/android/gallery3d/app/PhotoDataAdapter.java @@ -147,6 +147,7 @@ public class PhotoDataAdapter implements PhotoPage.Model { private int mSize = 0; private Path mItemPath; private int mCameraIndex; + private boolean mIsPanorama; private boolean mIsActive; private boolean mNeedFullImage; @@ -164,12 +165,14 @@ public class PhotoDataAdapter implements PhotoPage.Model { // find the image being viewed. cameraIndex is the index of the camera // preview. If cameraIndex < 0, there is no camera preview. public PhotoDataAdapter(GalleryActivity activity, PhotoView view, - MediaSet mediaSet, Path itemPath, int indexHint, int cameraIndex) { + MediaSet mediaSet, Path itemPath, int indexHint, int cameraIndex, + boolean isPanorama) { mSource = Utils.checkNotNull(mediaSet); mPhotoView = Utils.checkNotNull(view); mItemPath = Utils.checkNotNull(itemPath); mCurrentIndex = indexHint; mCameraIndex = cameraIndex; + mIsPanorama = isPanorama; mThreadPool = activity.getThreadPool(); mNeedFullImage = true; @@ -429,6 +432,11 @@ public class PhotoDataAdapter implements PhotoPage.Model { } @Override + public boolean isPanorama(int offset) { + return isCamera(offset) && mIsPanorama; + } + + @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 493e4aaf4..595e35bb7 100644 --- a/src/com/android/gallery3d/app/PhotoPage.java +++ b/src/com/android/gallery3d/app/PhotoPage.java @@ -213,7 +213,8 @@ public class PhotoPage extends ActivityState implements } PhotoDataAdapter pda = new PhotoDataAdapter( mActivity, mPhotoView, mMediaSet, itemPath, mCurrentIndex, - mAppBridge == null ? -1 : 0); + mAppBridge == null ? -1 : 0, + mAppBridge == null ? false : mAppBridge.isPanorama()); mModel = pda; mPhotoView.setModel(mModel); diff --git a/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java b/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java index 4ee6a0144..563d55da6 100644 --- a/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java +++ b/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java @@ -190,6 +190,11 @@ public class SinglePhotoDataAdapter extends TileImageViewAdapter } @Override + public boolean isPanorama(int offset) { + return false; + } + + @Override public boolean isVideo(int offset) { return mItem.getMediaType() == MediaItem.MEDIA_TYPE_VIDEO; } |