To prevent reading beyond the length of
the buffer that contains XTRA data, a
check has been introduced assuming an
approximate limit for the size of the
data
Change-Id: I7e05beadec76c3308448b9198fd23c8e8b97394d
CRs-fixed: 420623
In order to handle ipv6 requests, a new struct
is being used instead of an array to store ipv6
info
CRs-Fixed: 817295
Change-Id: I030d4206c01724f08b311697f0bbefb1f9fd10e6
byte long each, but the loc_set_config_entry() util call
writes an int at a time, causing buffer overflow. #2, in
loc_xtra-init(), a data structure wrap happened without
iniializing the unused data fields.
Change-Id: I96b40a330316927d276840a997082fe759263699
CRs-Fixed: 866937
The modem power vote feature needs to move
out of hal as it has non-aosp dependency.
CRs-fixed: 831075
Change-Id: Ic83276e9d3c0d125a01f50719102fcd7c0455385
If overwrite happened, loc config update will
restore gps.conf capabilities based on target type.
Change-Id: I958ce8da0e8062549f12808aca4aebcf4a7fb95d
CRs-Fixed: 850144
Implementation of GNSS Measurements support.
In GPS HAL, Only GPS Measurements report
will be collected from modem.
CRs-fixed: 771496
Change-Id: Ief4368099df4ff573ad1a764f4156d63685e936d
Defined PLA functions to enable gps libraries to call
platform-dependent library calls transparantly. Removed
fake files and replaced the fake function with defined
PLA functions.
CRs-fixed: 605817
Change-Id: I677f658001329a10ef9b49bd963631a83fb4c85f
It contains the following changes:
- porting from AU_LINUX_ANDROID_LNX.LA.3.5.1_RB1.04.04.02.048.040
- updated package loc-api files according to the merge
- rename loc-api to loc-hal
- dynamically load liblbs_core.so.1 file for LE platforms
- print a warning message when loading the lbs_core library fails
CRs-fixed: 605821
Change-Id: I54e1a9c742d1734ffa29e6864901119e0ee600c8
GpsLocationProvider gets SUPL_MODE, and passes is to
GPS HAL along with other configs upon sim hot swap.
GPS HAL needs to parse it out and factor in that
information in for ULP so that ULP can make correct
decision w.r.t. position mode when gnss positioning
is needed.
Change-Id: I1a14dd9d9e47b5d7ea072ae08ee99bbb7c69dbe0
CRs-Fixed: 749794
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iEYEABECAAYFAlRGYwkACgkQoUgPZYCpAfF2rwCg5quG/L+pzo5R94uD/QSR1Xs6
mpsAoIxxW/ftz0uMbp67UANrb7EQyVNY
=eKHq
-----END PGP SIGNATURE-----
Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.214' into HEAD
AU_LINUX_ANDROID_KK.04.04.04.010.214 based on quic/aosp/kk
Change-Id: Ida51fa96a5a39fcb3bb2f2c6ab9be84a3ec44d41
when the device boots with gps disabled in settings and
later enabled post pwoer up, the lock state doesn't get
updated correctly.
Bug: 16131208
CRs-fixed: 736966
Change-Id: Ice8237a3fd67740819de573ffebbab851363163d
Some of the parameters configured in gps.conf may be
carrier dependent. This provides a mechanism so that
GpsLocationProvider can determine current operator
resolve of the carrier specific configurations and
update HAL with those configurations post init.
Bug: 17110478
CRs-fixed: 736966
Change-Id: I80aa4404da7666824335fee074dae2ffcba40548
To prevent reading beyond the length of
the buffer that contains XTRA data, a
check has been introduced assuming an
approximate limit for the size of the
data
Change-Id: I7e05beadec76c3308448b9198fd23c8e8b97394d
CRs-fixed: 420623
The first time injection is ignored from
an adapter that doesn't support CPI Extended
Capabilities to prevent time from being
injected twice on startup.
CRs-fixed: 720540
Change-Id: If786cf2c750906093f21272aae928e4d9fc4dea8
Since libmdmdetect and peripheral manager
are not available on all targets, added
compilation flags to use these APIs only on
supported targets
Change-Id: I404e3273718dc7f9e6475f5a1d2c2f0b010cb33f
Peripheral manager APIs are now used to vote
for modem to be powered up when location is enabled
and powered down when location is disabled.
If peripheral manager is not supported, the powerup
node will be opened and closed to vote
CRs-fixed: 655587
Change-Id: I2b865ce1d88bf1a65e3c9b875f24d669579bc61e
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
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
Use mdmdetect library to detect
presence of an mdm and open/close the
device node if present
CRs-fixed: 605216
Change-Id: I81d5b35ff8259e775dc6cb9d5c531fe06ae77ba0
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
Always register for ATL events reguardless of hw target
or MSA/MSB capabilities. For APQ target, do not handle
certain types of ATL events that it doen't support.
For APQ target, use only position mode of Standalone.
CRs-fixed: 533932
Change-Id: Icd626e3e7155d5c2ba871a343430e441924ce93c
The AGPS interface will be returned
as null if MSA and MSB capabilities
are not set in gps config
Change-Id: I388654c9f527bfed128f431ccb8956e19be0f7f2
(cherry picked from commit 50891ecfe09b19a130b675ddc818ecf4ae31a3da)
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