diff options
author | Doris Liu <tianliu@google.com> | 2012-10-18 15:01:35 -0700 |
---|---|---|
committer | Doris Liu <tianliu@google.com> | 2012-10-18 18:14:34 -0700 |
commit | d672d083d1af3e42e0f87c5b0757d714270dcd9e (patch) | |
tree | 864048ad6a9457f38b821d822abd4858903883f4 /src/com/android/gallery3d/app/PhotoPage.java | |
parent | 99cb9cd2816c5fa8cfddb34e5ef84ec3d9b2a330 (diff) | |
download | android_packages_apps_Snap-d672d083d1af3e42e0f87c5b0757d714270dcd9e.tar.gz android_packages_apps_Snap-d672d083d1af3e42e0f87c5b0757d714270dcd9e.tar.bz2 android_packages_apps_Snap-d672d083d1af3e42e0f87c5b0757d714270dcd9e.zip |
Adding support for tiny planet in gallery
Bug: 7344427
Change-Id: I6fad734b28022f45cc551d81212ee4d3a0c867b2
Diffstat (limited to 'src/com/android/gallery3d/app/PhotoPage.java')
-rw-r--r-- | src/com/android/gallery3d/app/PhotoPage.java | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java index c8eaaca4a..b758e8151 100644 --- a/src/com/android/gallery3d/app/PhotoPage.java +++ b/src/com/android/gallery3d/app/PhotoPage.java @@ -164,6 +164,10 @@ public class PhotoPage extends ActivityState implements private boolean mInCameraRoll; private boolean mRecenterCameraOnResume = true; + // These are only valid after the panorama callback + private boolean mIsPanorama; + private boolean mIsPanorama360; + private long mCameraSwitchCutoff = 0; private boolean mSkipUpdateCurrentPhoto = false; private static final long CAMERA_SWITCH_CUTOFF_THRESHOLD_MS = 300; @@ -200,7 +204,8 @@ public class PhotoPage extends ActivityState implements public void panoramaInfoAvailable(MediaObject mediaObject, boolean isPanorama, boolean isPanorama360) { if (mediaObject == mCurrentPhoto) { - mHandler.obtainMessage(MSG_REFRESH_BOTTOM_CONTROLS, isPanorama ? 1 : 0, 0, mediaObject).sendToTarget(); + mHandler.obtainMessage(MSG_REFRESH_BOTTOM_CONTROLS, isPanorama ? 1 : 0, isPanorama360 ? 1 : 0, + mediaObject).sendToTarget(); } } }; @@ -299,7 +304,9 @@ public class PhotoPage extends ActivityState implements } case MSG_REFRESH_BOTTOM_CONTROLS: { if (mCurrentPhoto == message.obj && mBottomControls != null) { - mBottomControls.refresh(message.arg1 != 0); + mIsPanorama = message.arg1 == 1; + mIsPanorama360 = message.arg2 == 1; + mBottomControls.refresh(); } break; } @@ -584,7 +591,7 @@ public class PhotoPage extends ActivityState implements } @Override - public boolean canDisplayBottomControl(int control, boolean isPanorama) { + public boolean canDisplayBottomControl(int control) { if (mCurrentPhoto == null) { return false; } @@ -594,7 +601,10 @@ public class PhotoPage extends ActivityState implements && (mCurrentPhoto.getSupportedOperations() & MediaItem.SUPPORT_EDIT) != 0 && mCurrentPhoto.getMediaType() == MediaObject.MEDIA_TYPE_IMAGE; case R.id.photopage_bottom_control_panorama: - return isPanorama; + return mIsPanorama; + case R.id.photopage_bottom_control_tiny_planet: + return mHaveImageEditor && mShowBars + && mIsPanorama360; default: return false; } @@ -611,6 +621,9 @@ public class PhotoPage extends ActivityState implements mActivity.getPanoramaViewHelper() .showPanorama(mCurrentPhoto.getContentUri()); return; + case R.id.photopage_bottom_control_tiny_planet: + launchTinyPlanet(); + return; default: return; } @@ -651,6 +664,17 @@ public class PhotoPage extends ActivityState implements .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); } + private void launchTinyPlanet() { + // Deep link into tiny planet + MediaItem current = mModel.getMediaItem(0); + Intent intent = new Intent(FilterShowActivity.TINY_PLANET_ACTION); + intent.setClass(mActivity, FilterShowActivity.class); + intent.setDataAndType(current.getContentUri(), current.getMimeType()) + .setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); + mRecenterCameraOnResume = false; + mActivity.startActivityForResult(intent, REQUEST_EDIT); + } + private void launchPhotoEditor() { MediaItem current = mModel.getMediaItem(0); if (current == null || (current.getSupportedOperations() |