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
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
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iEYEABECAAYFAlPXonYACgkQoUgPZYCpAfEVqgCg0nHy46bwOfBa0LPbxt0PTV4r
MGsAnAlTanVV1UfX/HzMGmdNyA0D0VZ4
=Wxhx
-----END PGP SIGNATURE-----
Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.073' into HEAD
AU_LINUX_ANDROID_KK.04.04.04.010.073 based on quic/aosp/kk
Change-Id: I5ae2317a9d43cde94c587cb292212f1435472607
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
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
Change-Id: Ic2c8418d785e891ad0a660a615cd5111fafc4ff2
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
It is useful for LocApiBase derived classes to have
access to sending messages to the message handling
thread without going through an adapter
Change-Id: If60c473bfb504aab68ec661ecdfb012ef410c9cf
CRs-fixed: 615958
This change is for the new added emergency
SUPL session. Adding a new field in gps.conf
named SUPL_ES, which is for emergency supl NI.
CRs-fixed: 600375
Change-Id: I7c21c5589259df4f1cb7ec2f850e708b2c4faa1a
To avoid the race condition between
when the fix criteria is set and checked,
the position mode is copied to the dummy
ULP proxy and it is used to inform ULP
when a true proxy is registered
Change-Id: I72285c7926814ec85dae64e6634f0c79ea5e6c51
CRs-fixed: 604905
To avoid the race condition between
when the fix criteria is set and checked,
the position mode is copied to the dummy
ULP proxy and it is used to inform ULP
when a true proxy is registered
Change-Id: I72285c7926814ec85dae64e6634f0c79ea5e6c51
CRs-fixed: 604905
QMI_LOC added a new msg that sends geofence
breach reports in batches instead of individual
breach reports. This change adds constants to
support this new msg
Change-Id: Ic2f0bb66181ceda371a8a7a8d8681d62207835d1
CRs-fixed: 604766
This change is for the new added emergency
SUPL session. Adding a new field in gps.conf
named SUPL_ES, which is for emergency supl NI.
CRs-fixed: 600375
Change-Id: I7c21c5589259df4f1cb7ec2f850e708b2c4faa1a
LocAdapterProxyBase bridges the LocAdapterBase and
IzatAdapterBase to communicate SSR events.
CRs-Fixed: 598430
Change-Id: I8aa54f207e474974fa6fd5330c1545f94720a5cb
Changes for enabling Zero Power positioning feature in the
location services subsystem.It involves modifications to
HAL and ULP engine.
CRs-Fixed: 457060
Change-Id: I62187e66d44c5b40e1b2a41cafc0cb3e7c94f6d8
The default implementation print was being printed
at warning level, which can create log spam.
Change-Id: I2d8c15fa0b8c647da57fbec6d0b7016117a82d7b
CRs-fixed: 576609
Modem released new batching location feature, which adds
new masks for batching. this change is corresponding
to new masks.
Change-Id: I8bd8e978a0f1066130049b8b2fc669298691d935
Provide function for qca1530 detection. Rename 'get_target' to
'loc_get_target'. Fix loc_get_target state detection to avoid double
detection. Fix few minor code defects.
Change-Id: I3daaff99598771742572aab407475474fad41e93
send ULP the position mode if it is valid when ULP handle
is first received. This helps handling a race condition
where ULP handshake happens when a GPS session is about
to happen or already happening.
Change-Id: I029e5c3bbb9d8e89b220ca44e9704b5a1d1451ff
CRs-Fixed: 554340
In order to preserve the ordering of
position reports and status reports from
the GPS engine, status reports are sent
through the ULP too
CRS-Fixed: 538143
Change-Id: I41be2121493c6a0b35a5726fd546eb0fa5e9b20c
Added new module liblbs_core to make
LocApiV02 independent of pre-built binaries.
This patch provies the necessary changes to
support the new module
CRs-fixed: 538124
Change-Id: I716cf169de9dae164a141651af971793099a927d
Added get zpp fix API so that different other features can
make use of this feature in the AP space.
Change-Id: I32e750626704c5d0069723ee1ca949fda4a5505e
BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE needs to be
checked inside all gps hal module makefiles.
libloc_core was missing this check.
Change-Id: Ica508bcd2dc0747e354f43d7d87af5b2b06d1437
Changes to ensure the code breaks out of the adapter session
check loop once any one of them is in session.
Change-Id: I73b3a5f4954050abf5ce3d4c5a04245c894725f2
CRs-Fixed: 534811
Masks for deleting aiding data
of Glonass satellites have been
moved to gps.h. Also added NAME_VAL
pairs for BDS
Change-Id: I6b5e427e3bac3936f98137ddc1c25cb35f324231
CRs-fixed: 498642
ULP will no longer be loaded and init'ed from loc eng
HAL. GPS HAL will look for ULP once it completes init
and waits for a msg back once it hears from ULP. This
is done with introduction of UlpProxy. Default proxy
is a no op proxy.
Change-Id: If0be0b5744f9de20f12c2f0b9704dea66aa454c0
(cherry picked from commit 2eb4ddcae94283df6c6be450c4c070ffd8ff9cd7)
Removed makefile dependency to AndrodRuntime; Renamed
library to be loaded from liblocation to libizat_core;
Made some class private access to protected for the
needs of inheritance; piggy bagged some optimizations.
Change-Id: Id7e3127baa1833cbad7739f50808941c733b87f2
(cherry picked from commit c039ceaec84b25573d710b31831c9b06d4f3d1c6)
Changes can be highlighted with below summary:
* Split the original LocApiAdapter to LocAdapter and LocApi.
Now different adapter implementations can flexibly connect
to different LocApi;
* LocApi continues to abstract the API binding to RPC or QMI;
* MsgTask which creates and owns a msg Q and a thread, and it
define a LocMsg base msg class. The handler pulls a msg out
of the Q and calls its proc() method. This makes it possible
for msg sender to keep the data in the msg encapsulated, as
it no longer requires a central msg handler who must under-
stand all data format. This used to be where all the compile
time dependencies are tangled together;
* Added Context to bundle MsgTask and LocApi;
* Added LocDualContext specifically for the FLP Location Hal
architecture requirement;
* Placed all the base classes of the above in loc_core folder
/ loc_core namespace / libloc_core.so, so other libraries
can easily use derive from here without having to pull in
the loc_eng implementation, which is a large library to
include or link to;
Change-Id: I40abfba96dea76757c98530c1f5e076b34ba4ac7