OSDN Git Service

Merge "Remove jank on camera options switching" into ub-camera-glacier
authorAlan Newberger <alann@google.com>
Wed, 10 Sep 2014 21:13:54 +0000 (21:13 +0000)
committerAndroid (Google) Code Review <android-gerrit@google.com>
Wed, 10 Sep 2014 21:13:54 +0000 (21:13 +0000)
src/com/android/camera/MultiToggleImageButton.java
src/com/android/camera/app/CameraAppUI.java
src/com/android/camera/app/CameraController.java

index ee75e21..b36cb3c 100644 (file)
@@ -123,6 +123,17 @@ public class MultiToggleImageButton extends ImageButton {
      * @param callListener should the state change listener be called?
      */
     public void setState(final int state, final boolean callListener) {
+        // TODO: animate button transitions, b/17414652
+        setStateInternal(state, callListener);
+    }
+
+    /**
+     * Set the current button state via an animated transition.
+     *
+     * @param state
+     * @param callListener
+     */
+    private void setStateAnimatedInternal(final int state, final boolean callListener) {
         if (mState == state || mState == UNSET) {
             setStateInternal(state, callListener);
             return;
index 8dc3400..e3593eb 100644 (file)
@@ -815,6 +815,7 @@ public class CameraAppUI implements ModeListView.ModeSwitchListener,
      * in.
      */
     public void freezeScreenUntilPreviewReady() {
+        Log.v(TAG, "freezeScreenUntilPreviewReady");
         mModeTransitionView.setupModeCover(mCameraModuleScreenShotProvider
                 .getScreenShot(DOWN_SAMPLE_RATE_FOR_SCREENSHOT));
         mHideCoverRunnable = new Runnable() {
@@ -1340,6 +1341,7 @@ public class CameraAppUI implements ModeListView.ModeSwitchListener,
      * Gets called when preview is started.
      */
     public void onPreviewStarted() {
+        Log.v(TAG, "onPreviewStarted");
         if (mModeCoverState == COVER_SHOWN) {
             mModeCoverState = COVER_WILL_HIDE_AT_NEXT_TEXTURE_UPDATE;
         }
@@ -1350,6 +1352,7 @@ public class CameraAppUI implements ModeListView.ModeSwitchListener,
      * Gets notified when next preview frame comes in.
      */
     public void onNewPreviewFrame() {
+        Log.v(TAG, "onNewPreviewFrame");
         CameraPerformanceTracker.onEvent(CameraPerformanceTracker.FIRST_PREVIEW_FRAME);
         hideModeCover();
         mModeCoverState = COVER_HIDDEN;
@@ -1579,6 +1582,7 @@ public class CameraAppUI implements ModeListView.ModeSwitchListener,
     public void onSurfaceTextureUpdated(SurfaceTexture surface) {
         mSurface = surface;
         if (mModeCoverState == COVER_WILL_HIDE_AT_NEXT_TEXTURE_UPDATE) {
+            Log.v(TAG, "hiding cover via onSurfaceTextureUpdated");
             CameraPerformanceTracker.onEvent(CameraPerformanceTracker.FIRST_PREVIEW_FRAME);
             hideModeCover();
             mModeCoverState = COVER_HIDDEN;
index 64474ab..feb9882 100644 (file)
@@ -233,9 +233,9 @@ public class CameraController implements CameraAgent.CameraOpenCallback, CameraP
             Log.v(TAG, "different camera already opened, closing then reopening");
             // Already has camera opened, and is switching cameras and/or APIs.
             if (mUsingNewApi) {
-                mCameraAgentNg.closeCamera(mCameraProxy, true);
+                mCameraAgentNg.closeCamera(mCameraProxy, false);
             } else {
-                mCameraAgent.closeCamera(mCameraProxy, true);
+                mCameraAgent.closeCamera(mCameraProxy, false);
             }
             checkAndOpenCamera(mContext, cameraManager, id, mCallbackHandler, this);
         } else {