summaryrefslogtreecommitdiffstats
path: root/camera/OMXCameraAdapter/OMXFocus.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'camera/OMXCameraAdapter/OMXFocus.cpp')
-rw-r--r--camera/OMXCameraAdapter/OMXFocus.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/camera/OMXCameraAdapter/OMXFocus.cpp b/camera/OMXCameraAdapter/OMXFocus.cpp
index 31e5560..17b74a7 100644
--- a/camera/OMXCameraAdapter/OMXFocus.cpp
+++ b/camera/OMXCameraAdapter/OMXFocus.cpp
@@ -829,8 +829,15 @@ void OMXCameraAdapter::handleFocusCallback() {
OMX_PARAM_FOCUSSTATUSTYPE eFocusStatus;
CameraHalEvent::FocusStatus focusStatus = CameraHalEvent::FOCUS_STATUS_FAIL;
status_t ret = NO_ERROR;
- BaseCameraAdapter::AdapterState nextState;
+ BaseCameraAdapter::AdapterState nextState, currentState;
BaseCameraAdapter::getNextState(nextState);
+ BaseCameraAdapter::getState(currentState);
+
+ // Dropping AF callback if it triggered in non AF state
+ if ((currentState != AF_STATE) && (currentState != AF_ZOOM_STATE) &&
+ (nextState != AF_STATE) && (nextState != AF_ZOOM_STATE)) {
+ return;
+ }
OMX_INIT_STRUCT(eFocusStatus, OMX_PARAM_FOCUSSTATUSTYPE);