Camera: Modify previewEnabled() to check for overlay being
valid.

previewEnabled should return TRUE if the preview is running. However
on 7630 when overlay is enalbed, this returns FALSE even though preview
is running because CAMERA_MSG_PREVIEW_FRAME is disabled after the
first callback. Hence add a check to see if overlay object is valid or
not.

Change-Id: I12284926e170bcb6865e27281fdc6d0820df16ec
diff --git a/QualcommCameraHardware.cpp b/QualcommCameraHardware.cpp
index a908685..3376e18 100644
--- a/QualcommCameraHardware.cpp
+++ b/QualcommCameraHardware.cpp
@@ -3676,7 +3676,14 @@
 
 bool QualcommCameraHardware::previewEnabled()
 {
-    return mCameraRunning && mDataCallback && (mMsgEnabled & CAMERA_MSG_PREVIEW_FRAME);
+    /* If overlay is used the message CAMERA_MSG_PREVIEW_FRAME would
+     * be disabled at CameraService layer. Hence previewEnabled would
+     * return FALSE even though preview is running. Hence check for
+     * mOverlay not being NULL to ensure that previewEnabled returns
+     * accurate information.
+     */
+    return mCameraRunning && mDataCallback &&
+           ((mMsgEnabled & CAMERA_MSG_PREVIEW_FRAME) || (mOverlay != NULL));
 }
 
 status_t QualcommCameraHardware::setPreviewSize(const CameraParameters& params)