loc_api: Fix string null termination.

Change-Id: I259989b6e5031fa74581079580e0f5fd9a7f8d1f
Merge branch 'jb-mr1-release' of https://android.googlesource.com/platform/hardware/qcom/gps into aosp
loc_api: Add support for AMSS 6225

Tested on Z71 (msm7227), works

Change-Id: I0e3e51e6058dbf11391d9cfd2b0b8e5c88e899b9
gps: Bugfixes and improvements from CodeAurora

Original commit:
https://www.codeaurora.org/gitweb/quic/la/?p=platform/hardware/qcom/gps.git;a=commit;h=62782d6f5f070a0ad24a2194ae048b69106db97f

Regenerated stubs for AMSS 3200 and 6225.

Change-Id: I57b578b8dfd7bd43c88d25c09eca6e538e65797d
loc_api: Remove support for AMSS 6225

6225 was a hack to work around some issues with the original source
code, and it's now unnecessary after the recent "gps: Bugfixes and
improvements from CodeAurora" commit.

Change-Id: Iba013cf3651bcd5dd690b6415cbe02bc4c8e9128
Destroy client handles after they're closed

Make sure the connection to the RPC service is shutdown and
cleaned up when loc_close() is invoked.

Change-Id: I4f8b4d0aa3c2ff9ca5baf4ac07d31aa2e77d6721
gps: Add support for sync ioctls

Change-Id: I87fe81e217c99af80e3d9f8f6659404d454531e2
locapi: Add support for locapi version 50000

Enable with:
BOARD_USES_QCOM_GPS := true
BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := board-name
BOARD_VENDOR_QCOM_GPS_LOC_API_AMSS_VERSION := 50000

Change-Id: I6200dac2a4632ce3cc8e0e38db90a7e4917de2fb
locapi: Add support for locapi version 20000/20002

Enable with:
BOARD_USES_QCOM_GPS := true
BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := board-name
BOARD_VENDOR_QCOM_GPS_LOC_API_AMSS_VERSION := 20000

This will also require an update to librpc, and the usage of librpc-qcom

Change-Id: I2e4b5a99868a34f9a60e9c1fc040d36a333bff88
Convert bearing/heading from 10 bit value to degrees on locapi 20000

Big thanks to Christopher Lais (zinx) who made me aware of the 10 bit
value (decimal places).

Change-Id: If18aa560a93105f993fb110449d573fe942add4f
libloc_api: fix possible use of uninitialized variable

Change-Id: I749dc4db85eed614a95e9e4edde8420f4609724a
libloc_api: use privacy lock on 1240 too

Change-Id: I9c1d186224877da568f972391331e8c77cc84d24
libloc_api: do xtra when cb is registered, and retry on fail

Fix a race condition in libloc_api where the xtra data can be requested
before the callback is registered, losing the call to the callback
without a retry.

Also, retry xtra uploads when they fail (Kineto GAN proofing)

Change-Id: I4b2deb1ebba67b55688e322cd4cce89a2dfb71c0
libloc_api: provide a default timeout/accuracy for 1240 fix criteria

Change-Id: Ibab47b3f996efa57f8db4ebee4ae2e67eda06789
libloc_api: create deferred action thread after client is opened

The deferred action thread uses client_handle, so it needs to be
started after client_handle is valid.

Change-Id: I470d24b746c3dbe1ea70483e3ed4f09032ca315d
libloc_api-rpc: retry calls when busy

This should prevent RPC_LOC_IOCTL_SET_ENGINE_LOCK and other calls
from interfering with each other when loc_api_sync_ioctl is used
from different threads.

Change-Id: I9579ba2a72e9193cb92816758f5ff27bda6718a6
Updates to build with JB

Change-Id: I7c545cbb66efc22b9554de5cdfad5a85e4dfa972
Split API 50000 support

Use the older true and tested CM code for these devices :)

Change-Id: I75b640a1daa74482c1c2f3207a8d57a2f87961f2
qcom/gps: add TARGET_PROVIDES_GPS_LOC_API

Change-Id: Ia3126d6fceedad4b6fc19e4695c8996aaea65c53
AMSS 50000: use privacy lock

fixes gps on AMSS 50000 devices such as nozomi, pyramid