Merge "Remove jank on camera options switching" into ub-camera-glacier
diff --git a/src/com/android/camera/MultiToggleImageButton.java b/src/com/android/camera/MultiToggleImageButton.java
index ee75e21..b36cb3c 100644
--- a/src/com/android/camera/MultiToggleImageButton.java
+++ b/src/com/android/camera/MultiToggleImageButton.java
@@ -123,6 +123,17 @@
* @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;
diff --git a/src/com/android/camera/app/CameraAppUI.java b/src/com/android/camera/app/CameraAppUI.java
index 8dc3400..e3593eb 100644
--- a/src/com/android/camera/app/CameraAppUI.java
+++ b/src/com/android/camera/app/CameraAppUI.java
@@ -815,6 +815,7 @@
* in.
*/
public void freezeScreenUntilPreviewReady() {
+ Log.v(TAG, "freezeScreenUntilPreviewReady");
mModeTransitionView.setupModeCover(mCameraModuleScreenShotProvider
.getScreenShot(DOWN_SAMPLE_RATE_FOR_SCREENSHOT));
mHideCoverRunnable = new Runnable() {
@@ -1340,6 +1341,7 @@
* 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 @@
* 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 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;
diff --git a/src/com/android/camera/app/CameraController.java b/src/com/android/camera/app/CameraController.java
index 64474ab..feb9882 100644
--- a/src/com/android/camera/app/CameraController.java
+++ b/src/com/android/camera/app/CameraController.java
@@ -233,9 +233,9 @@
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 {