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>
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
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
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
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>
It is not safe to call into framework code from an RPC callback.
Change-Id: Idb85590f5648b85ba4dd352136f89652b3128fbe
Signed-off-by: Mike Lockwood <lockwood@android.com>