The struct was not defined in the
NAME_VAL() format and hence was returning
garbage characters in place of error
strings
Change-Id: Ic59e636c8bf99fe91488c312b83f31c36941c202
Introduced support for handling modem request
to start an emergency call using QMI WDS profiles
or fallback to an ATL request if the call does
not succeed.
Change-Id: I29b617687db0d3f26610bc74f8dc95940574f52d
The function was returning an error code
which was causing GPSLocationProvider to
fail initialization
CRs-fixed: 501318
Change-Id: Icec707c3b9edc60bd07914b130077f9a96c5e794
Position report NMEAs will be generated only
if the position report is a final fix and not
an intermediate fix. Blank NMEAs will be sent
otherwise.
CRs-fixed: 467575
Change-Id: I60e63faf3e4503f5a6ce93211d4017aa7695b78b
In order to prevent the issue where the xtra server url
that stored in gps.conf is incorrect (like xtra.bin instead
of xtra2.bin) for a particular modem, I've made this change
so that the xtra server url can be queried through loc api.
CRs-fixed: 366599
Change-Id: If65de98d837f068fd61a235cbf1104026246e5a9
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
GPS-enable gets too heavy at powerup, when loc_init is
synchronous, where loc goes to get the hardware handle
if AP init happens faster than the GPS hardware. The
loc init calling thread is from Android framework, and
it locks a mutex that in turn could lock up system server
main thread upon race conditions.
The second half of loc init, i.e. the reinit, is now moved
to loc worker thread. This should help release some of the
powerup timing pressure on the framework threads.
Add a message just for asynchrous Loc Init so as to execute
init specifically.
Change-Id: I369e461ca4ca61cea3a9729c84d24af4ffa8e51d
CRs-fixed: 472843
Changes to ensure FLP positioning call flow works
even if GPS is disabled on the Android settings
menu.
CRs-Fixed: 476628
Change-Id: I54b9f9861a14f7c42f45c48e57e9558f14a4de92
Changes to manage user preference for Precise Indoor
Positioning Control through settings on the OS UI menu
CRs-Fixed: 492707
Change-Id: I6a0cc0a92c35d05122efce310274f20590a16118
Updated LOC API source and header files
since the new version had updated masks
that were required for loc eng
Change-Id: Ia0d57770a737ef6d05e881ac0512eb174e7c9fd1
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
This is so that data disable is not
sent to the modem by default if data
is enabled
Change-Id: I383443fc0321380c22382ba7d7f85dacf948853a
CRs-fixed: 460376
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
The number of bytes to be written for
the checksum exceeded the buffer length.
This change corrects makes the correction.
Change-Id: If90c6f5b2006a013a096a767334deac1555553f1
CRs-fixed: 468553
Port back of an earlier patch applied to the GPS HAL
that was moved out of aosp (change id of the patch was
Icc302c91da4104679d2548e4527d0aee430f3761
Change-Id: I133f92e316872c60830df5553f31d34ecd9d7a84
In order to control the logging levels
of location Hal irrespective of the
process calling it, a call to read
debug level from gps.conf is added
CRs-fixed: 461436
Change-Id: Id54083df36e3ee266c79c7b5178993dd5f3bdb78
gps.conf now split into
izat.conf: proprietary items
sap.conf : sensor assisted positioning items
gps.conf : items used in open source
(gps.conf moved to open source)
CRs-fixed: 461129
Change-Id: I819230ee3bb13aad0b91f7d33bfb9e57b6d1abe1
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
SUPL ES added additional optional fields in the NI indiation. We
need to copy back these info as then came when we send back the
notification to modem. This change is to add that.
CRs-Fixed: 443946
Change-Id: Ib4a99441a03b2cb41b66d4c97253acbf118e4f05
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
Locking the slot mutext during a loc_ioctl call
can cause deadlock in some rare cases.
Change-Id: I09aa2ad7c67c326fee90447db960895d7f1fb149
CRs-fixed: 412208
As a security measure, callbacks
are checked to make sure they are
not NULL pointers.
Change-Id: I391e1cc373e8098449303709d8d1b67d305fb633
CRs-Fixed: 404438
This fixes the problem that GPS doesn't work until reboot after modem reset.
Bug: 7216911
Change-Id: Ibfee6a28850490548da2e0ccaefdabe9b826b5e9
Signed-off-by: Iliyan Malchev <malchev@google.com>
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
Instead of having a switch case that sets bits in the
lppconfig mask, the mask is assigned whatever value
was read from gps.conf. The advantage of this being
that if in the future additional bits are added in
lppconfig, there need not be a code change; only
comments in gps.conf have to be updated to inform the
correct value for those additional bits
CRs-Fixed: 406969
Change-Id: I979151b44cd85e98b59b4586fdd49e20a7d7c82b
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
this is to support bringup efforts. This change will decouple
the dependencies between GPS HAL and proprietary QMI headers,
so that we can build HAL without any proprietary repos.
Change-Id: I7b836d09f4ac6b1a1bdb38f8d6a2bfb90bb5bf01
Changes to assign the correct permissions for 'gps" group for
Rx path from HAL to BIT daemon
Change-Id: I6c5dc4ff0a1379a95888f4d98e88f0174a7a2a79
CRs-Fixed: 400339, 387672
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
AgpsStatus added with a couple string fields for wifi
which are not NULL ended when they are not used. This
get passed to AFW JNI, and allow UTF8 string with the
open ended buffer with junks in it. It might cause
exception depending on the content of the garbadge.
CRs-Fixed: 405473
Change-Id: If762748a4c63fe1be59491b5d08dbadd479176b3
Since modem does not consistently send
SESSON_END/ENGINE_OFF event, always report
SESSION_END on stop gps and SESSION_BEGIN on
start gps so that the icon is turned on/off
correctly.
CRs-fixed: 401664
Change-Id: Ib3954529056a653d7057aedb489be1ccee9eaf1d
The current cleanup mismatches agps_init(), so that it the agps state
machines will get deleted in the cleanup but never get recreated next
time apgs_init() is called.
Bug 7216641
Change-Id: Iddba9fd0d90c790e658f14c42c8a25d22b8749c0
Since modem does not consistently send
SESSON_END/ENGINE_OFF event, always report
SESSION_END on stop gps and SESSION_BEGIN on
start gps so that the icon is turned on/off
correctly.
Bug 7185242
Change-Id: Ib3954529056a653d7057aedb489be1ccee9eaf1d
Inject motion data and Get NI Geofence List;
subsystem restart over QMUXD;
CR 368109
SGLTE CID / OOS / NI SUPL INIT
Change-Id: I3bd77e87de61c2c2565bbb151d661c717367c0ed
b/7175603
This caused one of the gps related libraries to be not built in the full tree,
causing GPS failure
Change-Id: Iff51c1a588a22f0b46b075ebf27d2b6493b97e40
Signed-off-by: Iliyan Malchev <malchev@google.com>
This is to support bringup efforts. This change will decouple
the dependencies between GPS HAL and proprietary QMI headers,
so that we can build HAL without any proprietary repos.
Change-Id: I7b836d09f4ac6b1a1bdb38f8d6a2bfb90bb5bf01
Signed-off-by: Iliyan Malchev <malchev@google.com>
Suppress the registering for QMI_LOC_EVENT_MASK_FIX_SESSION_STATE_V02
event from modem, that is normally responsible for generating
GPS_STATUS_SESSION_BEGIN and GPS_STATUS_SESSION_END, and instead
initiate these events from hal from when we get GPS_STATUS_ENGINE_ON
and GPS_STATUS_ENGINE_OFF.
Change-Id: I9d220bef7ee4f989a3982d888ed46279861f612d
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
Suppress the registering for QMI_LOC_EVENT_MASK_FIX_SESSION_STATE_V02
event from modem, that is normally responsible for generating
GPS_STATUS_SESSION_BEGIN and GPS_STATUS_SESSION_END, and instead
initiate these events from hal from when we get GPS_STATUS_ENGINE_ON
and GPS_STATUS_ENGINE_OFF
Change-Id: I9d220bef7ee4f989a3982d888ed46279861f612d
CRs-fixed: 370904
If service list check fails initially while the modem
is not up yet, the rc is not updated after client gets
signaled that the modem is now up.
Change-Id: I5fe05ddad7764874eda45521e9394bfbee0eb85f
CRs-fixed: 385158
Sends the technology mask of the position report to ulp and blocks
the injected wifi fix from getting reported as final
Change-Id: I3a9b390d3d6d9be1a913731d6e8d8ee1d3ced686
Looking for a service results in opening and closing the IPC Router
socket. This in turn involves IPC Router to trigger loading & unloading
the modem. Sometimes this causes the race condition between modem unload
and modem coming out of reset.
CRs-fixed: 384906
Change-Id: I61767d3eeab5867f64f94c5d4cdee4272de2dc44
Merges the following change lists:
Ibdd65ec497ad6996c5d55ca907a995ed63b797cf
I75266b7102f8cd06db7b9bf038ee24c0dfbed822
I398704add524a807ddc088dfd28520dad7668784
Change-Id: I29275e65fc98568625eded942587c87b4ac8d1b9
HAL_MODULE_INFO_SYM was declared as read-only, but
the struct is written to by libhardware. This causes
a segfault when -Wl,-z,relro is enabled.
Fixed.
Change-Id: Ied24f54a294ea705b06754a419823d595e3def62
In some circumstances we were calling wait after we had been signalled, causing
us to wait until we are signalled again (while holding a wakelock).
Now we only want to wait in the deferred action thread if no events are pending
and only hold the wakelock while not waiting.
BUG: 3127617
Change-Id: I4c6886b2bbdcbcb2c0cf348d89bc5408f0d875b9
Signed-off-by: Mike Lockwood <lockwood@google.com>
Sometimes the engine does not send us the GPS_STATUS_ENGINE_OFF message,
so we end up blinking the GPS icon forever. Deferring the loc_eng_stop call
until the AGPS activity is done works around this problem.
Change-Id: Iad0d15323ff909c0d371f9db3a6e899e51375a99
Signed-off-by: Mike Lockwood <lockwood@android.com>
This avoids a race condition that can crash the BP if the GPS is disabled
in settings while it is running.
This also fixes a problem with the GPS icon in the status bar not
getting removed when the GPS is disabled.
BUG: 3005091
Change-Id: I539eef716231cefae3d4d0a8203135da9827b45d
Signed-off-by: Mike Lockwood <lockwood@android.com>
The API version can be chosen by specifying the AMSS version in the board config
by setting the BOARD_VENDOR_QCOM_GPS_LOC_API_AMSS_VERSION variable.
The existing GPS_LOC_API_HARDWARE has been renamed BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE
Change-Id: I25aa313d7f291b874d52dfb7edf151e280061438
Signed-off-by: Mike Lockwood <lockwood@android.com>
It is not safe to call into framework code from an RPC callback.
Change-Id: Idb85590f5648b85ba4dd352136f89652b3128fbe
Signed-off-by: Mike Lockwood <lockwood@android.com>