Camera: add ISO mode support

Change-Id: Ied2075f950269990d836fc768b2c6c36088d494f
camera: add power mode support

Based on commit 7036d66bec7697160ba1b2e255f1e7fae0c8c435 from CAF,
branch ics_chocolate.

Change-Id: I8a60668b18980fd5e6f9dd341db5a8a63deb99d0
Fix Photosphere/Camera FCs

Photosphere is setting a few parameters "blindly"
while the API says it should check the device capabilities first.

On TF101 (and probably other devices) the camera HAL doesn't handle
FLASH_MODE & SCENE_MODE and so it sends the required RuntimeException
for these, which makes Photosphere FC the Camera app.

=> Fix: check device capabilities & ignore these 2 parameters if the device doesn't support them.

Fix based on following Team EOS patch: https://review.teameos.org/#/c/1598/

Change-Id: Idd80299802e9213a3c40414ace3d516d39f47783
camera: Add support for sending raw commands

 * Certain camera drivers need magic commands to select special modes
   such as ZSL or HDR. Add support for sending raw commands from
   applications.

Change-Id: I512a765c7a67ffd2877e465cf6493ffc2b3b54ac
Camera: Add support for QC camera features.

Added APIs and keys for all QC features. This
will enable application to get/set paramters.

Change-Id: I58a53c7b9133a3acddc34b268dac086c9562d533
Camera: Video HDR Feature Integration.

Added framework support for camera applications to query supported
video HDR modes and set the required mode.

Change-Id: Ie318e586838a2f035e59e30fa51af35b52f7c886
Camera: Adds support for meta data callbacks

- This change adds a new type of callback
  that will be called when there are pending
  meta data notifications.

Change-Id: I84f5cbafe4f023c7b0efa9ec8620756b0eaa428d
hwui: Don't discard framebuffer on exynos4

The layers gets empty/not cleaned and redrawn on top of the preview,
causing beautiful glitch on homescreen, and drawing black instead
of transparency.

Change-Id: I633b104224c73c625f1193ee3dde41823cddc5bf
media: Configure audio encode parameters only for valid audio codec.

Added extra check for audio codec in profile
(Cherrypicked from commit eed39d0053dee6649424867418e511b918b3c634)

Change-Id: Ie1ac5252e3d544ce61af2b3ae5080ec9c6966e44
(cherry picked from commit 81dfde16ffb3fc8f6b110a3df2921a3d3361db10)
(cherry picked from commit 8069457a313853247f2017237e29bcf3b3eb2323)
(cherry picked from commit db4bf86a6b50ce84b5a678476ee08c12f0fe272b)
frameworks/base: Add support for FM feature.

- Added changes for FM device

Change-Id: I61ab748166e3a8703054b664ba9c53da251f6b83
(cherry picked from commit fa1e277978d7bdf139fe2d790ef4a8b413d31c01)
(cherry picked from commit 2df42ca1ad2b04b9b4920d90ee60658150dfb210)
(cherry picked from commit 292b40317c470e9579bf875f43adecccc2f98b3e)
camera: Better fix for face detection score issue

 * Do this at the lower layer so that third-party apps don't have
   issus with the nonstandard score.

Change-Id: Ic012b092d2f47dbaab8cbfe2bd215b955800cc11
Camera: Add support for QC camera features.

Added APIs and keys for all QC features. This
will enable application to get/set paramters.
(cherrypicked from commit d0c5a0ee7e9af41320fed00ff324c6d0f22eb697)
Change-Id: I68c23aaf7267645efeb4d4743b390a048292b7fd
(cherry picked from commit ad2fd19b7ed6a610cab4bd3ae261178bcafa66af)
(cherry picked from commit cfcebdf9c402bb5f1976f07ba5dc1e15f5811fc2)
(cherry picked from commit 4ef4a5e937b2ec7355c5893c80dbc103d163364d)
Fix for framework reboot on format of SD card

MountService is not aware of /storage/emulated/legacy path which is
causing the issue on ExternalStorageFormatter service. We are getting
the a list of non-emulated SD cards and format the first one .

Change-Id: Iba1a9f6e40499f7f6fb095a5ee4e711b02bed439
CRs-fixed: 489037