camera: Fix android.hardware.cts.CameraTest#testFaceDetection

junit.framework.AssertionFailedError: Should throw an exception if face detection is not supported.

Change-Id: I2cf8d26e94c0943838db7300ab05b4c0172b15c1
camera: Fix various focus-related errors

* Validate that the focus region is within legal boundaries
* Reset the region to sane values if bad ones are given
* Set a default empty region
* If auto focus exists, it must be the default

Fixes android.hardware.cts.CameraTest#testFocusAreas and
android.hardware.cts.CameraTest#testParameters

Change-Id: I3aafcccc2c6081ba44edb3283a850c55178fa90a
camera: Fix invalid parameter returns

The camera API expects invalid parameters not to return silently;
They should throw an exception, and set the bad parameter(s) back
to the last known good value.

Fixes android.hardware.cts.CameraTest#testImmediateZoom and
android.hardware.cts.CameraTest#testInvalidParameters

Change-Id: I6556369322b7560b0bb35fca57366b42579effbd
camera: Fix disabling location

If Camera.removeGpsData() is invoked from the userland API, we
must invalidate the previously stored GPS data to prevent it from
being saved in EXIF.

Fixes the invalid storing of location data after an explicit disable
Fixes android.hardware.cts.CameraTest#testJpegExif

Change-Id: I9618a27ab9def974bac1d69871c3454300fb4c29
Updates for 11.0

Change-Id: Ie3388de4e91262b7b8cd5c6949b9575e282baf1b
Update vold setup for 4.4

Change-Id: I7c8646dc962cb15a7cc84ac4405db95d360be15f
t0lte: fix camera crashing

Change-Id: I878b2594292bdb18a0a5d01ded8fc7059e3ba1df
smdk4412-common: fix camera crash

This fixes the camera crash the first time it is launched

Change-Id: Id4af8a4d02ddf7c049a69e261790f26165820fb2
smdk4412-common: init: remove duplicate socket contexts for wpa

Already set from the global file_contexts for /dev/socket/wpa_wlan[0-9],
they have no effect here

Change-Id: I7056ef311ee6636327a980f26b93f9fbfbd44b27
exynos_camera: update sports scene name

The 'sports' scene mode has been renamed to 'action' scene mode
to match the 4.4 camera configuration

Change-Id: I1efcd57f137ee0d73f22ab20031832c7f283381c
Bring back the SECONDARY_STORAGE variable

This variable is a requirement in KK as newly introduced APIs
such as Context.getExternalFilesDirs uses it to retrieve
secondary storage locations on the device.

Change-Id: I17708c93498da5979c5742cad32232a34490bf5f
smdk4412: update media_codecs for KK

Change-Id: Ic545a4514f6bb9a5b1efd540cc5ca1067b66f772
smdk4412-common: camera: squashed updates from cm-10.2

smdk4412-common: camera: fix EXIF attributes for S5C73M3 sensor

S5C73M3 sensor which is the back camera, doesn't return the EXIF
attributes using V4L2 IOCTL. This sensor interleaves YUV and JPEG
frames along with Metadata which contains the EXIF information.

This patch does the following:
Manually extract the EXIF information from the interleaved metadata
and implement ISO, Flash, Exposure, Exposure Time and Exposure Bias
EXIF attributes for S5C73M3.
Fix incorrect Exposure EXIF attribute that was reporting as 1'.

Change-Id: Id9faa64af498645099cccc9cbf28f2dbdfecd254

smdk4412-common: camera: fix scene mode snapshot capture crashes

Few Scene Modes (like Night, High Sensitivity) if set as default,
after the camera opens, require the scene mode to be set when the
stream is turned on inorder to properly take effect. Not doing so
will result in crashes while trying to capture the snapshot.

Change-Id: I9e6b67c59699495da6922ac737232f58d98c2b40

smdk4412-common: camera: reorganize camera parameters

Few Scene modes require Flash and few don't. However all of
the scene modes require the focus to be AUTO. Reorganize the
camera parameters to set the Flash and Focus modes based on
the scene mode.

Changes adapted from Exynos5 Camera HAL.

Change-Id: If3ab62a1d8aecf84d2a04d1e899f71d4315a66ea

Conflicts:

	camera/exynos_camera.c

smdk4412-common: camera: several fixes for autofocus

Setting the AutoFocus off using V4L2_CID_CAMERA_SET_AUTO_FOCUS will
reset the AF position of the sensor and this was done whenever
autofocus was completed. This totally defeated the purpose of touch
to focus since the sensor AF position was being reset after focus
and had to be refocussed while taking the snapshot. This also led to
several issues with third party applications since this kind of focus
behaviour was not intended.

S5C73M3 Back camera Interleaves YUV and JPEG along with metadata. This
metadata contains the AutoFocus result. Hence we could parse the
autofocus result instead of using V4L2 IOCTL, which is more efficient.
Also, the sensor exhibits issues when AutoExposure and AutoWhite Balance
locks are used with Flash ON. Improper locking could lead to freezing of
the sensor while taking a snapshot. Hence, only lock AEAWB when flash is
OFF and unlock them after AutoFocus finishes.

Change-Id: Ief28005dcacd0f8f04990ef8eafebff4a2f109d5

smdk4412-common: camera: enable ZSL mode on front camera

We are querying FIMC2 for the capture output and hence we
have no reason to restart the preview to have the preview
resolution match the capture resolution, which is not how
Zero Shutter Lag works. We could have different resolutions
for the preview and capture, hence don't stop the preview
for resizing.

Change-Id: Iaf2b4d0c51dbedb9516b7c3cdde09aa18cd95f73

smdk4412-common: camera: fix incorrect jpeg thumbnail height

Change-Id: I139823883d91ddaa48e2516511539ff5fe150e25

smdk4412-common: camera: fix heap corruption

Change-Id: I0111615b9d4552a7880598a83bc98060fa900b13

smdk4412-common: camera: include support for face detection

Change-Id: I1d176bdf17abdcf0c593fceb01808348b87b75ce