summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErin Dahlgren <edahlgren@google.com>2013-11-07 21:24:34 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-11-07 21:24:34 +0000
commit2f878d54ecbb62ef09aa2b0152dea983e598724f (patch)
tree9aa1f3e3e7e832468c469eca8e75f8da51ae9380
parent05a04924312fbcda2161da01e0749eb80c2663d1 (diff)
parentc5effbada57112445656bf4929f13f9942afb14c (diff)
downloadandroid_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.java14
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);
}
}