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)
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
The current changes to default the operation mode
to Standalone by the CHIP ID. A new method is used
for solving this issue.
CRs-Fixed: 510462
Change-Id: I58fd85e2c28bf824edeaef62660c62c34761bd37
Check the CAPABILITIES in gps.conf to see if the geofence is
enabled or not. If it is not enabled, the function of getting
geofence interface will return null.
Change-Id: I6500cedd775d83b4701fbe2b3a111c170c8a34be
CRs-fixed: 513494
Changed the communication path from ULP JNI to libulp
engine to avoid the GPS HAL layer. This improves modularity,
removes dependencies and promote easier integration for OEMs.
Change-Id: I6bc883499b8ed3649cfc194038057a19ba2fd4f6
Changes to ensure FLP positioning call flow works
even if GPS is disabled on the Android settings
menu.
CRs-Fixed: 476628
Change-Id: I54b9f9861a14f7c42f45c48e57e9558f14a4de92
qcom bsp will handle xtra/agps/ni/time through
qcom propreitary service, and non-qcom bsp will handle
xtra/gps/ni/time through android framework.
xtra url will be queried from modem on qcom bsp,
and read from gps.conf from non-qcom bsp.
Change-Id: Ib54a1596caa65f7aa0358f639640c3d1074980e7
In accordance to gps.conf, debug level of 0 now
produces no logs at all. In addition, if the
parameter DEBUG_LEVEL is commented in gps.conf,
logs will be printed according to Android's logging
levels
CRs-fixed: 503157
Change-Id: I26ca2be67fbc7ce2bf633f66d9b88ca6450e9d27
Moving these features out of afw allows these
features to still work on platforms that do not
allow changes to afw and it also gives us more
control.
Change-Id: I6923b302f93222dc10189c3a6a7b6ba2ec1a3378
Changes to ensure FLP positioning call flow works
even if GPS is disabled on the Android settings
menu.
CRs-Fixed: 476628
Change-Id: I54b9f9861a14f7c42f45c48e57e9558f14a4de92
To allow ulp to select MSA for single shot
location requests, change the recurrence type
for MSA requests to SINGLE.
CRs-fixed: 479303
Change-Id: I97043233e0590b25bc63f3709b2bbb3dfd22cbd0
No support for SUPl,starting MSB it wouldn.t request a PD.
Disabled the MSA and MSB for this PL.
This fix is needed because this PL doesnot have a modem.
Change-Id: I8fa1145db07f681c0f6e733da253f06f01f7edd6
CRs-Fixed: 471589
Since the switch for ulp in gps.conf did not truly turn QCA
implementation for Fused Location Provider on/off this change
removes this redundant parameter from gps.conf
Change-Id: I677c42a00e6b0d156c2e4c3b65da13a55eb97279
CRs-Fixed: 461273
Earlier this identification was done in loc.cpp
This change moves that to a separate utility.
Also included is a change to not return
a handle to the GPS interface if the target
is found to be MPQ8064.
This change is a re-cherry-pick from
change id - I98d5619d2e6e63711a9b56f0af2b3ddd27372871
Change-Id: I058d206c37245b44f1cf74d6065e7ce46f50baf7
CRs-Fixed: 418009
Changes for providing the plumbing from UlpService down
to the native UlpEngine.
Change-Id: I67e48fad47675d9fa9a3026763daa0f248369f60
CRs-Fixed: 443444
Earlier this identification was done in loc.cpp
This change moves that to a separate utility.
Also included is a change to not return
a handle to the GPS interface if the target
is found to be MPQ8064.
CRs-Fixed: 418009
Change-Id: I98d5619d2e6e63711a9b56f0af2b3ddd27372871
As a security measure, callbacks
are checked to make sure they are
not NULL pointers.
Change-Id: I391e1cc373e8098449303709d8d1b67d305fb633
CRs-Fixed: 404438
Disable coarse position injection from GPS HAL when XTWiFi
Network Location Provider is in use. This is needed to avoid self
learning loop inside modem.
Change-Id: I0526317221d3490c41d0d8d901fbfa4d93e9a0b0
CRs-Fixed: 409409
Previously, modem's request for NTP time was not supported.
This change enables that request to be serviced through the HAL
and current NTP time is injected into the modem
CRs-Fixed: 406357
Change-Id: I471f98cf57a276902d7991da48cf7244fe798318
The id for apq8064 v2 is 153 vs apq8064 v1
id of 109, so the id can be either in order
to conclude that the device is apq8064 so
that GSS can be launched.
Change-Id: I8126854f18ba30a1fe46992993185266e9d1db18
CRs-fixed: 405494
Move the launching of GSS from loc_init to
get_gps_interface, since loc_init is only called
by AFW when GPS is enabled.
CRs-fixed: 399637
Change-Id: I7cf8500f6a345f3bef71f717c595ea734da2bff2