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
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
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
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
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
Remove dependence on android_runtime and
return invalid value if gps daemon is not
responding
CRs-fixed: 649065
Change-Id: I16dbf1bffe6193114c1da08730f0627377179a2a
In case the lbs or izat libs are not
present, fall back to LocApiV02 to
obtain the qmi client handle. This
change will enable basic GPS functionality
without lbs or izat lib dependencies
CRs-fixed: 649065
Change-Id: Ic2c8418d785e891ad0a660a615cd5111fafc4ff2
New qmi loc api v02 adds a raw uncertainty to the
inject position api, which will be used by the
geofence engine.
Change-Id: I307619006c799c31121941ac5c11bf62f4691c86
CRs-fixed: 682963
dlsym on gps_geofence_get_interface should check NULL,
and gmtime return should also check NULL
Change-Id: I23ab17f016ad9f4667ac197c12f016433c48af90
CRs-Fixed: 674884
ULP Should be informed of all sessions in progress.
-Added methods to ULP Proxy for the purpose of reporting
batching sessions to ULP
CRs-fixed: 657554
Change-Id: I6e1d9728a0462b86c4ffe73bd5a6ac98e7c0fafe
If MsgTask thread is created before context that
has associator is initialized, the associator
callback was not getting called.
CRs-fixed: 650061
Change-Id: I45d81e1b49fc8dcbc93d1ceef4fef38468ecb4f8
Network Initiated notify verify request that is
the emergency type should override any pending
Network Initiaed notify verify session.
CRs-fixed: 563670
Change-Id: I2d05449a8ebaa1dfa08f4c839422a7adbd1b871d
The logging macro seems to break c++11 toolchain. A change
is make to address that
Change-Id: I5056fe0431ff064ac4805facbb59195fe04b154e
CRs-Fixed: 646028
CPI should not be dependent on persist.gps.qc_nlp_in_use
property. It should only be dependent on whether CPI is enabled
or not.
Reduce confidence in position if required.
CRs-Fixed: 639153
Change-Id: I9e54ab1ac605143843a2e19607ff8e2e20704d01