summaryrefslogtreecommitdiffstats
path: root/services/camera
diff options
context:
space:
mode:
authorIgor Murashkin <iam@google.com>2012-10-09 13:54:40 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-10-09 13:54:40 -0700
commit151f6cd670a20cd0ccdb7a5e4a7531680c4e4dd7 (patch)
tree41f454ad40b1082b74f7e0b6ae0cc21fcc5b864b /services/camera
parent5fa8add64b7f7614c288a9e3b790ab7bfc7858b5 (diff)
parente4664bb098a9b7d6ae1a93486456eff71eaae1bf (diff)
downloadframeworks_av-151f6cd670a20cd0ccdb7a5e4a7531680c4e4dd7.zip
frameworks_av-151f6cd670a20cd0ccdb7a5e4a7531680c4e4dd7.tar.gz
frameworks_av-151f6cd670a20cd0ccdb7a5e4a7531680c4e4dd7.tar.bz2
am e4664bb0: am 3d84d38e: Merge "Camera2: Call onAutoFocus immediately for fixed-focus cameras" into jb-mr1-dev
* commit 'e4664bb098a9b7d6ae1a93486456eff71eaae1bf': Camera2: Call onAutoFocus immediately for fixed-focus cameras
Diffstat (limited to 'services/camera')
-rw-r--r--services/camera/libcameraservice/Camera2Client.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/services/camera/libcameraservice/Camera2Client.cpp b/services/camera/libcameraservice/Camera2Client.cpp
index e073e39..7a6e344 100644
--- a/services/camera/libcameraservice/Camera2Client.cpp
+++ b/services/camera/libcameraservice/Camera2Client.cpp
@@ -959,6 +959,21 @@ status_t Camera2Client::autoFocus() {
return INVALID_OPERATION;
}
+ /**
+ * If the camera does not support auto-focus, it is a no-op and
+ * onAutoFocus(boolean, Camera) callback will be called immediately
+ * with a fake value of success set to true.
+ */
+ if (l.mParameters.focusMode == Parameters::FOCUS_MODE_FIXED) {
+ SharedCameraClient::Lock l(mSharedCameraClient);
+ if (l.mCameraClient != 0) {
+ l.mCameraClient->notifyCallback(CAMERA_MSG_FOCUS,
+ /*success*/1, 0);
+ }
+
+ return OK;
+ }
+
if (l.mParameters.quirks.triggerAfWithAuto &&
l.mParameters.sceneMode != ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED &&
l.mParameters.focusMode != Parameters::FOCUS_MODE_AUTO) {