diff options
author | Erin Dahlgren <edahlgren@google.com> | 2013-11-07 21:24:34 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-11-07 21:24:34 +0000 |
commit | 2f878d54ecbb62ef09aa2b0152dea983e598724f (patch) | |
tree | 9aa1f3e3e7e832468c469eca8e75f8da51ae9380 | |
parent | 05a04924312fbcda2161da01e0749eb80c2663d1 (diff) | |
parent | c5effbada57112445656bf4929f13f9942afb14c (diff) | |
download | android_packages_apps_Snap-2f878d54ecbb62ef09aa2b0152dea983e598724f.tar.gz android_packages_apps_Snap-2f878d54ecbb62ef09aa2b0152dea983e598724f.tar.bz2 android_packages_apps_Snap-2f878d54ecbb62ef09aa2b0152dea983e598724f.zip |
Merge "Fix photo mode is getting stuck in a single CameraState." into gb-ub-photos-carlsbad
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index ce0deed54..347244ebe 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -350,7 +350,6 @@ public class PhotoModule } startPreview(); - mHandler.sendEmptyMessage(CAMERA_PREVIEW_DONE); break; } @@ -1566,12 +1565,8 @@ public class PhotoModule startPreview(); } + /** This can run on a background thread, post any view updates to MainHandler. */ private void startPreview() { - if (mCameraState != PREVIEW_STOPPED) { - Log.v(TAG, "Already previewing"); - return; - } - if (mPaused || mCameraDevice == null) { return; } @@ -1592,6 +1587,12 @@ public class PhotoModule return; } mCameraDevice.setErrorCallback(mErrorCallback); + // ICS camera frameworks has a bug. Face detection state is not cleared 1589 + // after taking a picture. Stop the preview to work around it. The bug + // was fixed in JB. + if (mCameraState != PREVIEW_STOPPED) { + stopPreview(); + } setDisplayOrientation(); @@ -1618,6 +1619,7 @@ public class PhotoModule if (mSnapshotOnIdle) { mHandler.post(mDoSnapRunnable); } + mHandler.sendEmptyMessage(CAMERA_PREVIEW_DONE); } } |