Revert "camera: fix the problem flash does not work in ZSL mode"

This reverts commit f7bed851477169bfad98c6f495d90fbca7f99ed5.

Conflicts:

	QCameraHWI.cpp
	QCamera_Intf.h

Bug:  7290909

Change-Id: I115fe0382cf1a984f8a681df77f9751c648affd4
Signed-off-by: Iliyan Malchev <malchev@google.com>
diff --git a/camera/QCamera/stack/mm-camera-interface/src/mm_camera.c b/camera/QCamera/stack/mm-camera-interface/src/mm_camera.c
index 2bfacfb..826b5dd 100755
--- a/camera/QCamera/stack/mm-camera-interface/src/mm_camera.c
+++ b/camera/QCamera/stack/mm-camera-interface/src/mm_camera.c
@@ -649,7 +649,7 @@
                                             sizeof(focus_distances_info_t),
                                             p_value);
         break;
-    case MM_CAMERA_PARM_QUERY_FLASH4SNAP:
+    case MM_CAMERA_PARM_QUERY_FALSH4SNAP:
         rc = mm_camera_send_native_ctrl_cmd(my_obj,
                                             CAMERA_QUERY_FLASH_FOR_SNAPSHOT,
                                             sizeof(int),
diff --git a/camera/QCameraHWI.cpp b/camera/QCameraHWI.cpp
index b7e7044..3d32f94 100755
--- a/camera/QCameraHWI.cpp
+++ b/camera/QCameraHWI.cpp
@@ -892,10 +892,6 @@
         case MM_CAMERA_INFO_EVT_ROI:
             roiEvent(event->e.roi, app_cb);
             break;
-        case MM_CAMERA_INFO_FLASH_FRAME_IDX:
-            zslFlashEvent(event->e.zsl_flash_info, app_cb);
-            break;
-
         default:
             break;
     }
@@ -903,24 +899,6 @@
     return;
 }
 
-void QCameraHardwareInterface::zslFlashEvent(struct zsl_flash_t evt, app_notify_cb_t *) {
-    ALOGV("%s: E", __func__);
-    ALOGV("flashEvent: numFrames = %d, frameId[0] = %d", evt.valid_entires, evt.frame_idx[0]);
-
-    int32_t value = 0;
-    if (native_set_parms(MM_CAMERA_PARM_AEC_LOCK,
-            sizeof(int32_t), (void *)(&value)) == false) {
-        ALOGE("error: can not unlock AEC");
-    }
-
-    status_t ret = mStreamSnap->takePictureZSL();
-    if (ret != MM_CAMERA_OK) {
-        ALOGE("%s: Error taking ZSL snapshot!", __func__);
-    }
-    ALOGV("%s: X", __func__);
-}
-
-
 void  QCameraHardwareInterface::processEvent(mm_camera_event_t *event)
 {
     app_notify_cb_t app_cb;
@@ -1684,38 +1662,11 @@
         mStreamSnap->setFullSizeLiveshot(false);
         if (isZSLMode()) {
             if (mStreamSnap != NULL) {
-                // Query if flash is required based on lighting condition
-                int32_t flash_expected = 0;
-                if(MM_CAMERA_OK != cam_config_get_parm(mCameraId,
-                          MM_CAMERA_PARM_QUERY_FLASH4SNAP, &flash_expected)){
-                    ALOGE("%s: error: can not get flash_expected value",
-                            __func__);
-                    return BAD_VALUE;
-                }
-                ALOGE("flash_expected = %d, mode = %d",
-                        flash_expected, getFlashMode());
-                if(getFlashMode() != LED_MODE_OFF && flash_expected) {
-                    // Flash is used
-                    takePicturePrepareHardware();
-
-                    pausePreviewForZSL();
-
-                    //start flash LED
-                    uint32_t value = 1;
-                    if(native_set_parms(MM_CAMERA_PARM_ZSL_FLASH, sizeof(value),
-                                           (void *)&value) == false) {
-                        ALOGE("%s: error: cannot set ZSL flash", __func__);
-                        return BAD_VALUE;
-                    }
-                    // takepictureZSL() will be called when the event for
-                    // zslflash is received
-                } else {
-                    //Flash is not used
-                    pausePreviewForZSL();
-                    if (MM_CAMERA_OK != mStreamSnap->takePictureZSL()) {
-                        ALOGE("%s: Error taking ZSL snapshot!", __func__);
-                        ret = BAD_VALUE;
-                    }
+                pausePreviewForZSL();
+                ret = mStreamSnap->takePictureZSL();
+                if (ret != MM_CAMERA_OK) {
+                    ALOGE("%s: Error taking ZSL snapshot!", __func__);
+                    ret = BAD_VALUE;
                 }
             }
             else {
diff --git a/camera/QCameraHWI.h b/camera/QCameraHWI.h
index 1f67edf..bf5965a 100644
--- a/camera/QCameraHWI.h
+++ b/camera/QCameraHWI.h
@@ -530,7 +530,6 @@
     void processInfoEvent(mm_camera_info_event_t *event, app_notify_cb_t *);
     void processprepareSnapshotEvent(cam_ctrl_status_t *);
     void roiEvent(fd_roi_t roi, app_notify_cb_t *);
-    void zslFlashEvent(struct zsl_flash_t evt, app_notify_cb_t *);
     void zoomEvent(cam_ctrl_status_t *status, app_notify_cb_t *);
     void autofocusevent(cam_ctrl_status_t *status, app_notify_cb_t *);
     void handleZoomEventForPreview(app_notify_cb_t *);
@@ -577,7 +576,6 @@
     status_t setJpegRotation(int isZSL);
     int getJpegRotation(void);
     int getISOSpeedValue();
-    int getFlashMode();
     status_t setAntibanding(const QCameraParameters& params);
     status_t setEffect(const QCameraParameters& params);
     status_t setExposureCompensation(const QCameraParameters &params);
diff --git a/camera/QCameraHWI_Parm.cpp b/camera/QCameraHWI_Parm.cpp
index c2b336c..e771317 100644
--- a/camera/QCameraHWI_Parm.cpp
+++ b/camera/QCameraHWI_Parm.cpp
@@ -2828,17 +2828,6 @@
     return NO_ERROR;
 }
 
-int QCameraHardwareInterface::getFlashMode() {
-    const char *str = mParameters.get(CameraParameters::KEY_FLASH_MODE);
-    if (str != NULL) {
-        int32_t value = attr_lookup(flash, sizeof(flash) / sizeof(str_map), str);
-        return value;
-    } else {
-        ALOGE("%s: Error: Flash parameter not-set (unexpected)", __func__);
-        return -1;
-    }
-}
-
 status_t QCameraHardwareInterface::setFlash(const QCameraParameters& params)
 {
     ALOGV("%s: E",__func__);
diff --git a/camera/QCameraHWI_Still.cpp b/camera/QCameraHWI_Still.cpp
index 7acd8fd..1ff8142 100644
--- a/camera/QCameraHWI_Still.cpp
+++ b/camera/QCameraHWI_Still.cpp
@@ -2300,6 +2300,7 @@
     }
 
     if (isZSLMode()) {
+        prepareHardware();
         ret = initZSLSnapshot();
         if(ret != NO_ERROR) {
             ALOGE("%s : Error while Initializing ZSL snapshot",__func__);
diff --git a/camera/QCamera_Intf.h b/camera/QCamera_Intf.h
index 13ecc63..1a83200 100644
--- a/camera/QCamera_Intf.h
+++ b/camera/QCamera_Intf.h
@@ -45,7 +45,7 @@
 #define CEILING4(X)  (((X) + 0x0003) & 0xFFFC)
 #define CEILING2(X)  (((X) + 0x0001) & 0xFFFE)
 
-#define MAX_ROI 4
+#define MAX_ROI 2
 #define MAX_NUM_PARM 5
 #define MAX_NUM_OPS 2
 #define VIDEO_MAX_PLANES 8
@@ -393,7 +393,7 @@
     MM_CAMERA_PARM_CAMERA_ID,
     MM_CAMERA_PARM_CAMERA_INFO,
     MM_CAMERA_PARM_PREVIEW_SIZE, /*35*/
-    MM_CAMERA_PARM_QUERY_FLASH4SNAP,
+    MM_CAMERA_PARM_QUERY_FALSH4SNAP,
     MM_CAMERA_PARM_FOCUS_DISTANCES,
     MM_CAMERA_PARM_BUFFER_INFO,
     MM_CAMERA_PARM_JPEG_ROTATION,
@@ -466,7 +466,6 @@
     MM_CAMERA_PARM_RAW_SNAPSHOT_FMT,
     MM_CAMERA_PARM_FACIAL_FEATURE_INFO,
     MM_CAMERA_PARM_CAF_LOCK_CANCEL,
-    MM_CAMERA_PARM_ZSL_FLASH,
 #ifdef FAST_AF
     MM_CAMERA_PARM_CAF_TYPE,
 #endif
@@ -608,7 +607,6 @@
   CAMERA_SET_3A_CONVERGENCE,
   CAMERA_SET_PREVIEW_HFR, /*120*/
   CAMERA_GET_MAX_DIMENSION,
-  CAMERA_SET_ZSL_FLASH,
   CAMERA_GET_MAX_NUM_FACES_DECT,
   CAMERA_SET_CHANNEL_STREAM,
   CAMERA_GET_CHANNEL_STREAM,
@@ -987,17 +985,11 @@
   } d;
 };
 
-struct zsl_flash_t {
-    uint32_t frame_idx[5];
-    uint8_t valid_entires;
-};
-
 typedef struct  {
   uint32_t event_id;
   union {
     mm_camera_histo_mem_info_t histo_mem_info;
     struct fd_roi_t roi;
-    struct zsl_flash_t zsl_flash_info;
   } e;
 } mm_camera_info_event_t;
 
diff --git a/camera/mm-camera-interface/mm_camera.c b/camera/mm-camera-interface/mm_camera.c
index 12203e0..4a54d50 100644
--- a/camera/mm-camera-interface/mm_camera.c
+++ b/camera/mm-camera-interface/mm_camera.c
@@ -362,10 +362,6 @@
         mm_jpeg_encoder_setRotation(*((int *)parm->p_value),isZSL);
         return MM_CAMERA_OK;
 
-    case MM_CAMERA_PARM_ZSL_FLASH:
-      return mm_camera_send_native_ctrl_cmd(my_obj,
-                  CAMERA_SET_ZSL_FLASH, sizeof(uint32_t), (void *)parm->p_value);
-
     case MM_CAMERA_PARM_ASD_ENABLE:
       return mm_camera_send_native_ctrl_cmd(my_obj,
                   CAMERA_SET_ASD_ENABLE, sizeof(uint32_t), (void *)parm->p_value);
@@ -600,7 +596,7 @@
     case MM_CAMERA_PARM_FOCUS_DISTANCES:
         return mm_camera_send_native_ctrl_cmd(my_obj,   CAMERA_GET_PARM_FOCUS_DISTANCES,
                      sizeof(focus_distances_info_t), (void *)parm->p_value);
-  case MM_CAMERA_PARM_QUERY_FLASH4SNAP:
+  case MM_CAMERA_PARM_QUERY_FALSH4SNAP:
         return mm_camera_send_native_ctrl_cmd(my_obj,   CAMERA_QUERY_FLASH_FOR_SNAPSHOT,
                      sizeof(int), (void *)parm->p_value);
   case MM_CAMERA_PARM_3D_FRAME_FORMAT:
@@ -847,11 +843,6 @@
             rc = mm_camera_ch_fn(my_obj, ch_type,
                     MM_CAMERA_STATE_EVT_STREAM_ON, NULL);
             break;
-        case MM_CAMERA_OPS_PREPARE_SNAPSHOT:
-            rc = mm_camera_send_native_ctrl_timeout_cmd(my_obj,CAMERA_PREPARE_SNAPSHOT, 0, NULL, 2000);
-            CDBG("%s: prepare snapshot done opcode = %d, rc= %d\n", __func__, opcode, rc);
-            break;
-
         default:
             break;
         }