summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/app/PhotoPage.java
diff options
context:
space:
mode:
authorDoris Liu <tianliu@google.com>2012-10-18 15:01:35 -0700
committerDoris Liu <tianliu@google.com>2012-10-18 18:14:34 -0700
commitd672d083d1af3e42e0f87c5b0757d714270dcd9e (patch)
tree864048ad6a9457f38b821d822abd4858903883f4 /src/com/android/gallery3d/app/PhotoPage.java
parent99cb9cd2816c5fa8cfddb34e5ef84ec3d9b2a330 (diff)
downloadandroid_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.java32
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()