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>