msm8660: Enable NEEDS_VECTORIMPL_SYMBOLS needed for camera

Change-Id: Ie836ecf2e2c800ae2189ded7814a58352c1f9ff3
msm8660: enable LPA

Change-Id: Ibce65a5621a9ce0bce5cf2555e1cbce92c32e05e
msm8660: copy QCMetaData.h local temporarily

  * will revert once http://review.cyanogenmod.org/#/c/53434/ is merged

Change-Id: I862d622a14fb79b0fa60b4785f88fcc0b4eef961
Revert "msm8660: copy QCMetaData.h local temporarily"

This reverts commit 88b248c60e354fe0ea0fd7b46b9a91f5bdddf619.

Change-Id: Idb0adbde14d0d0198067e412fc1966b48cc62cca
msm8660: Add QCOM flags

Change-Id: Ifa9484463995c891237ba0cc207979613aac4695
Revert "msm8660: scorpion CPU_VARIANT is broken; use cortex-a8 for now"

  * scorpion CPU_VARIANT fixed in http://review.cyanogenmod.org/#/c/56062

This reverts commit 360019f675b5895e2a1930d0318981a33c1ae8bd.

Change-Id: I3a8814ae92cab88b750c011cd60b75c061733725
msm8660: on radio version check, support more than 1 version format per model

  * up until now, all radios for a particular model followed a certain format:
    e.g. I727: UCMC1 or I727R: UXUMA7  (4 or 5 letters followed by a number)
  * exhilarate now has two radios that work but have different version formats:
    UCAMK1 and UCLH3   (4 AND 5 letters followed by a number)
  * add the ability to take in more than 1 minversion for each model
  * only compare versions that match in format
  * error (disallow flash) if installed radio's version format is not
    understood

Change-Id: Ib49df7440c4dfc17469fd8a9c4263b152c7f8654
msm8660: Use CM PowerHAL on 8660

 * New PowerHAL is untested on 8660.

Change-Id: I4853d9b0b9e3f96722846a9d4eabf15246dd54ae
msm8660: remove duplicate SELinux rules

Change-Id: I1ba6ed8dde4a2194bf33f2072643c5274f6689a4
msm8660: remove linux includes

  * We shouldn't be calling for these kernel includes from the device tree.

Change-Id: Idae0ff246df2a2e917d1ae52a337309d875f0ad1
msm8660: add memtrack HAL

Change-Id: Iedd4575ee084650b2faf885eff8ed315f8e737bd
msm8660: enable QCOM_BSP

  * needed to fix video corruption in Netflix
  * as a result of this change, use custom graphics.c for recovery
      - using a 3.0 kernel and QCOM_BSP causes recovery build errors.
      - workaround this by using a custom graphics.c.

Adapted from: https://github.com/CyanogenMod/android_device_motorola_msm8960-common/commit/ad5112f3d4dea443ed421b9f8947d81076c3f060

Squashed commits:
https://github.com/AOSPA-legacy/android_device_samsung_msm8660-common/commit/b8ab448ef6e1e1f6a2c207482414a74f57265142
https://github.com/AOSPA-legacy/android_device_samsung_msm8660-common/commit/1d354f9aaecdbc7785c499d21de596eb4c619735

Change-Id: Ida248ac260c79d6324fdfe0b95fb332c253e6e1f
msm8660: disable LPA since it breaks Bluetooth streaming

  * We need to come back to this and do further debug

Change-Id: Ife486cf6b799255d5a862088326de4381656644e
msm8660: grant Bluetooth LE permissions

Change-Id: Ic01ffa0ee8d53509a56f9f04d838d2b6917ae05b
msm8660: enable three buffers at all times

Change-Id: I58b8268030c9101a8b54ff52116e5edfe8c99914
msm8660: device-specific camera wrapper

  * modeled after CameraWrapper in msm8960-common and m7-common
  * allows us to rely less on overlay hacks to packages/apps/Camera2
  * these overlays are still needed:
    - ignorePreferredPreviewSizeForVideo=true
  * old overlays from cm-10.2 that this replaces:
    - useInfinityFocus=false
  * old overlays from cm-10.2 that we are ignoring as they no longer apply:
    - needsSamsungCamMode=true (no longer needed)
    - usePreferredPreviewSizeForEffects=true (effects are not supported anymore)
    - needsEarlyVideoSize=true (done in Camera2 by default)
  * restart preview if the video-size changes; otherwise corrupted recordings
    result (e.g.: 1080p->720p and 720p->1080p)
  * to use: rename vendor/samsung/<device>/proprietary/lib/hw/camera.msm8660.so
    to camera.vendor.msm8660.so and fix the vendor .mk files accordingly.
  * use with media-caf to avoid 5 second delay when starting record

Includes squashed patches from Dave Antoine <bryan2894@gmail.com>:

  * rotation fix for upside down and corrupted videos

  * add CIF profile fix crash when entering settings in Google Camera app
  * use QVGA instead of CIF
https://github.com/AOSPA-legacy/android_device_samsung_msm8660-common/commit/7fa38357d1f7e7fe5712138420ddc88de138f5d8
https://github.com/AOSPA-legacy/android_device_samsung_msm8660-common/commit/328ddb9a8ebab98abae6d5b9e4519b5383bc24c6

  * fix switching from 480p video to picture mode
https://github.com/AOSPA-legacy/android_device_samsung_msm8660-common/commit/6d59d0eb23d841b20bc1ccfef82414a438915139

  * fix low-res preview on front cam by forcing the preview size
https://github.com/AOSPA-legacy/android_device_samsung_msm8660-common/commit/a002f81077dba7ac4154373ce3cae48846a98129

Change-Id: Iab6c400b89c6743e890755c01ad97dc39bde17c6
msm8660: Enable media-caf

Change-Id: I21d8fa94e13308726e8fdcbb23b620a707c8b167