KW warnings

dlsym on gps_geofence_get_interface should check NULL,
and gmtime return should also check NULL

Change-Id: I23ab17f016ad9f4667ac197c12f016433c48af90
CRs-Fixed: 674884
(cherry picked from commit 6a46a6a56cda146f71b02f51eaa150c38fb92b92)
Add support for XTRA_VERSION_CHECK QMI LOC msg

A new QMI LOC msg is introduced which injects into
the modem a value that determines whether or not
the version of XTRA is to be checked

Change-Id: I0ef579332d064713ce73d80e66dc8c6fef1c1638
CRs-fixed: 649860
(cherry picked from commit ff623883942a52539141e66e91cf2c0b9c35fa39)
fixing the SSR recovery race condition

There is a race condition where when startFix is
called right at the time when modem or griffon
subsystem is down, GPS HAL doesn't get the correct
error code, and therefore the right handling.

Mapped ENGINE_DOWN to ENGINE_OFFLINE, as they are
the same; and modified loc_eng_start_handler to
update the state upon the right error code.

There is a one problem though. General failure is
also handled as SSR. This is because of an unhandled
race condition in the kernel, so the error code
returned and propagated is not deterministic enough
for us to tell if this is SSR. Until that fix is in
place, we might have to treat general failure as SSR
although the side effect should be none. Only
semantically incorrect.

Change-Id: If93823f08428275da171bb22d73a06e38365585b
CR-Fixed: 692085
(cherry picked from commit 5adb1181db8898561f92df07772a7780600787dd)
loc timer util fix to handle the race condition

loc timer util stop() routine may have race condition
with the timer thread, when timer expires at the same
time stop() routine tries to lock mutex.  The race
condition can go 2 ways:
* timer thread expires, unlocks mutex, context switch,
stop() thread acquires lock, context switch, timer
thread destroys mutex.  Destroy will fail, resulting
mutex leak.
* timer thread expires, unlocks mutex, destroys mutex,
stop() acqures lock, signal, and releases lock. Would
be super rare conditions though.

Fix is that we give 5 seconds for stop() thread to
give up the lock when destroy. After that the timer
thread will release the mutex and go on destroy.
Meanwhile the stop() thread would check the lock
return to move on with signal and unlock.

Change-Id: Iff9e34d08a1faf0828049de2fede2e7a5d15b161
CRs-Fixed: 699856
(cherry picked from commit f0d29606718d064f23ac506ba26d5276cbd2a589)
Fix for CR 692085, error mapping incorrect in one of the cases

eLOC_CLIENT_FAILURE_INTERNAL returned from loc_api_v02 was mapped
to LOC_API_ADAPTER_ERR_FAILUR, however in loc_eng_start_handle it
is LOC_API_ADAPTER_ERR_GENERAL_FAILURE that is being checked for.
Created a new error ID LOC_API_ADAPTER_ERR_INTERNAL specifically
for this error case.

Change-Id: Ib2ad6e983d6c598ec57f1a2584166da2be95946b
CRs-Fixed: 706520
(cherry picked from commit 5cbdf700e59d9f6bae8d87c6ebae0f3b73a5e426)
Platform:ADPES2,Chip Info:APQ8064 Automotive

Changes to include "auto" option as well for ro.baseband property.
submitting on behalf of Madhanraj Chelladurai

Change-Id: I96abaea799df34d375a6a5db7341c17b99c94675
(cherry picked from commit 1cf14b646a6353aa262c0896e51d8e7a9e3bf2b8)
Changes for External DR enablement feature.

Change Summary:
* Structure definitions for GNSS SV Measurement and GNSS SV
  Polynomial to report it to ULP and to external DR module;
* New function additions in LocApiBase, LocAdapterBase and
  LocEngAdapter to report SV Measurement and SV Polynomial;
* definition and changes to detect "auto" platform in loc_target;
* enable SV Measurement and SV Polynomial report for "auto"
  platform;

Change-Id: I0611023197ce58f5d083588809c2f18922738357
(cherry picked from commit 3924d22241c4c25213c4f70dc1722b23a0fef05a)
Migrating XTRA from gpsonextra.net to cloud based izatcloud.net

*Added logic to remove xtra1.gpsonextra.net from URLs
received from modem.
*Added logic to override modem URLs with those configured
in gps.conf
*Replaced all instances of xtra{1,2,3}.gpsonextra.net domain URLs
in gps.conf with xtrapath{1,2,3}.izatcloud.net URLs.
*Replaced all commented instances of xtra.bin in gps.conf with xtra2.bin.

CRs-fixed: 643816

Change-Id: I803b26bce22f06910dcaa1ee057902b9381667bf

Conflicts:
	gps/etc/gps.conf

(cherry picked from commit 1b9b266c8ff61f1fd00f062c2ebeda4bf9a20643)
Remove reduntant clearing of GpsLocation memory

GpsLocation memory will now be cleared inside the
Loc Api handler itself, so no need to do it a second
time before calling into the Loc Api handler.

Change-Id: Iec37624621d6eb4806eb8e13c807bb4e40584e39
CRs-fixed: 726800
(cherry picked from commit 23638886c514e6210bb98f5c547009ad7f985204)
Camera2: disable histogram

Change-Id: Ifba9198a902a022c1da56c7041d65d5994762f2b
(cherry picked from commit cfc08e80330bfb8cddd69bbd72d9da7e4aedf639)