From 806ab25465c3bc874136d89db8d42f27270e76bf Mon Sep 17 00:00:00 2001 From: John Reck Date: Wed, 24 Oct 2012 11:11:51 -0700 Subject: Add proxy launcher Bug: 7394901 Change-Id: I667a6e6fbd11d4c02dc536067bb6f3813775db9c --- src/com/android/gallery3d/app/PhotoPage.java | 66 +++++----------------------- 1 file changed, 10 insertions(+), 56 deletions(-) (limited to 'src/com/android') diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java index 9c38f4047..985868fc6 100644 --- a/src/com/android/gallery3d/app/PhotoPage.java +++ b/src/com/android/gallery3d/app/PhotoPage.java @@ -38,9 +38,9 @@ import android.widget.RelativeLayout; import android.widget.Toast; import com.android.camera.CameraActivity; +import com.android.camera.ProxyLauncher; import com.android.gallery3d.R; import com.android.gallery3d.common.ApiHelper; -import com.android.gallery3d.common.Utils; import com.android.gallery3d.data.ComboAlbum; import com.android.gallery3d.data.DataManager; import com.android.gallery3d.data.FilterDeleteSet; @@ -63,13 +63,9 @@ import com.android.gallery3d.picasasource.PicasaSource; import com.android.gallery3d.ui.DetailsHelper; import com.android.gallery3d.ui.DetailsHelper.CloseListener; import com.android.gallery3d.ui.DetailsHelper.DetailsSource; -import com.android.gallery3d.ui.GLCanvas; -import com.android.gallery3d.ui.GLRoot; -import com.android.gallery3d.ui.GLRoot.OnGLIdleListener; import com.android.gallery3d.ui.GLView; import com.android.gallery3d.ui.ImportCompleteListener; import com.android.gallery3d.ui.MenuExecutor; -import com.android.gallery3d.ui.PhotoFallbackEffect; import com.android.gallery3d.ui.PhotoView; import com.android.gallery3d.ui.SelectionManager; import com.android.gallery3d.ui.SynchronizedHandler; @@ -159,7 +155,6 @@ public class PhotoPage extends ActivityState implements private SnailItem mScreenNailItem; private SnailAlbum mScreenNailSet; private OrientationManager mOrientationManager; - private boolean mHasActivityResult; private boolean mTreatBackAsUp; private boolean mStartInFilmstrip; private boolean mHasCameraScreennailOrPlaceholder = false; @@ -177,8 +172,6 @@ public class PhotoPage extends ActivityState implements private boolean mDeferredUpdateWaiting = false; private long mDeferUpdateUntil = Long.MAX_VALUE; - private Rect mOpenAnimationRect; - // The item that is deleted (but it can still be undeleted before commiting) private Path mDeletePath; private boolean mDeleteIsFocus; // whether the deleted item was in focus @@ -630,7 +623,6 @@ public class PhotoPage extends ActivityState implements launchPhotoEditor(); return; case R.id.photopage_bottom_control_panorama: - mRecenterCameraOnResume = false; mActivity.getPanoramaViewHelper() .showPanorama(mCurrentPhoto.getContentUri()); return; @@ -691,7 +683,6 @@ public class PhotoPage extends ActivityState implements .setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.putExtra(FilterShowActivity.LAUNCH_FULLSCREEN, mActivity.isFullscreen()); - mRecenterCameraOnResume = false; mActivity.startActivityForResult(intent, REQUEST_EDIT); overrideTransitionToEditor(); } @@ -719,7 +710,6 @@ public class PhotoPage extends ActivityState implements } intent.putExtra(FilterShowActivity.LAUNCH_FULLSCREEN, mActivity.isFullscreen()); - mRecenterCameraOnResume = false; ((Activity) mActivity).startActivityForResult(Intent.createChooser(intent, null), REQUEST_EDIT); overrideTransitionToEditor(); @@ -1226,7 +1216,6 @@ public class PhotoPage extends ActivityState implements } public void playVideo(Activity activity, Uri uri, String title) { - mRecenterCameraOnResume = false; try { Intent intent = new Intent(Intent.ACTION_VIEW) .setDataAndType(uri, "video/*") @@ -1260,7 +1249,15 @@ public class PhotoPage extends ActivityState implements @Override protected void onStateResult(int requestCode, int resultCode, Intent data) { - mHasActivityResult = true; + if (resultCode == Activity.RESULT_CANCELED) { + // This is a reset, not a canceled + return; + } + if (resultCode == ProxyLauncher.RESULT_USER_CANCELED) { + // Unmap reset vs. canceled + resultCode = Activity.RESULT_CANCELED; + } + mRecenterCameraOnResume = false; switch (requestCode) { case REQUEST_EDIT: setCurrentPhotoByIntent(data); @@ -1290,48 +1287,6 @@ public class PhotoPage extends ActivityState implements } } - @Override - protected void clearStateResult() { - mHasActivityResult = false; - } - - private class PreparePhotoFallback implements OnGLIdleListener { - private PhotoFallbackEffect mPhotoFallback = new PhotoFallbackEffect(); - private boolean mResultReady = false; - - public synchronized PhotoFallbackEffect get() { - while (!mResultReady) { - Utils.waitWithoutInterrupt(this); - } - return mPhotoFallback; - } - - @Override - public boolean onGLIdle(GLCanvas canvas, boolean renderRequested) { - mPhotoFallback = mPhotoView.buildFallbackEffect(mRootPane, canvas); - synchronized (this) { - mResultReady = true; - notifyAll(); - } - return false; - } - } - - private void preparePhotoFallbackView() { - GLRoot root = mActivity.getGLRoot(); - PreparePhotoFallback task = new PreparePhotoFallback(); - root.unlockRenderThread(); - PhotoFallbackEffect anim; - try { - root.addOnGLIdleListener(task); - anim = task.get(); - } finally { - root.lockRenderThread(); - } - mActivity.getTransitionStore().put( - AlbumPage.KEY_RESUME_ANIMATION, anim); - } - @Override public void onPause() { super.onPause(); @@ -1449,7 +1404,6 @@ public class PhotoPage extends ActivityState implements updateMenuOperations(); } - mHasActivityResult = false; mRecenterCameraOnResume = true; mHandler.sendEmptyMessageDelayed(MSG_UNFREEZE_GLROOT, UNFREEZE_GLROOT_TIMEOUT); } -- cgit v1.2.3