QCamera2: fix bugs in HAL

- Add event handling for focus event in prepare_snapshot_state
- change to correct stream state when put_buf fails in case of
  daemon crash, to handle gracefully exit

Change-Id: I6eebd945c46e1d9c52476318ee3b70f8a2a748af
diff --git a/QCamera2/HAL/QCameraStateMachine.cpp b/QCamera2/HAL/QCameraStateMachine.cpp
index 42fe32e..71e5d7d 100644
--- a/QCamera2/HAL/QCameraStateMachine.cpp
+++ b/QCamera2/HAL/QCameraStateMachine.cpp
@@ -1273,6 +1273,9 @@
             qcamera_sm_internal_evt_payload_t *internal_evt =
                 (qcamera_sm_internal_evt_payload_t *)payload;
             switch (internal_evt->evt_type) {
+            case QCAMERA_INTERNAL_EVT_FOCUS_UPDATE:
+                rc = m_parent->processAutoFocusEvent(internal_evt->focus_data);
+                break;
             case QCAMERA_INTERNAL_EVT_PREP_SNAPSHOT_DONE:
                 ALOGI("%s: Received QCAMERA_INTERNAL_EVT_PREP_SNAPSHOT_DONE event",
                     __func__);