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
LocTimer on timeout would currently delete timer delegate.
This meddles into the management of LocTimer::stop() call,
and the order of obj delete needs to be synchronized in a
few different places as a result.
This change lets the delete of the timer delegate obj fold
into the stop() handling, which would be easier to synch.
Change-Id: Ic3e0b3d183dceb9e6e2db4c47ec9d6e296b0c3f6
CRs-Fixed: 916590
To support next version of GTP AP protocol,
this change adds the support for the below
3 fields in GPS pipe and FLP pipe :
1). heading_unc
2). horizontal_reliability
3). vertical_reliability
Change-Id: If51c38f9159f372c2b2c12fbb55d123958cfee95
CRs-Fixed: 898876
For crowd sourcing, FLP HAL needs to share
with ULP the flp fixes in real time. This
change is making FLP HAL to send flp fixes
to ULP.
Change-Id: I1a852ec69db8eb50de5c18b03205d1b488cfd4b0
CRs-fixed: 874928 878064
Removed tCreate and tAssociate from MsgTask. LocThread
now can optionally take a tCreate method. Associator is
replaced with *firstMsg* option to MsgTask, which is a
more generic option, that can associate or do other set
up job at the create of a MsgTask.
The current MsgTask doesn't use tCreate, which exposes
a slight time window for Location HAL when its MsgTask
is NOT associated to DVM heap but a message delivery to
DVM could be attempted during this time.
Change-Id: Iafd5b91b693baacb9b7064463f8c44f74026f54c
CRs-Fixed: 902350
when a ticking timer is stopped, currently kernel doesn't
get updated with the next immediate timer's interval. As a
result, kernel timer will expire sooner (with the stopped
timer's interval), and the next timer's client is notified
for this expiration.
Change-Id: I0d67d1418cb9bfe7f70ae71252901d4c6bb699b3
CRs-Fixed: 909776
The change included the following fixes:
increased buffer size to hold the initial UA string;
use file for saving the initial UA string
Change-Id: I52ef94e57695f1411a34e338e89325de382b09b5
CRs-fixed: 905170
LocTimer::stop() can be called from different threads, which must
be protected. Currently there is a race condition between back to
back stop()'s or expire() + stop() events.
Change-Id: Iae80b78f049a32da87639f813c6f5126b4ccd072
CRs-Fixed: 904627
BOOTTIME_ALARM and BOOTTIME were added to timerfd_create
in kernel version 3.11 and 3.15 respectively.
But for targets still on older kernel version we fallback on MONOTONIC.
CRs-Fixed: 897805
Change-Id: I47d9780d69ce5ee8c183c84baa93ea3c1a00db57
Post SSR, ensure necessary config injection is done before restarting
an existing tracking session
Change-Id: I1bec8ff1cab3a9762e73a13958fe91c62f40fb92
CRs-fixed: 888187
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
This change moves those definitions related to FLP form
gps_extented_c.h to gps-noship.
Change-Id: I3da452fa3e885af509199cae9fe1b1f24ff48100
CRs-fixed: 801916
LocTimerWrapper implements loc_timer_start/stop calls for backward
compatibility. There is a race condtiion where the wrapper object
could be deleted by the client thread and expireation handling at
rough the same time, which would have the memory freed twice. Now
they are mutext protected.
Change-Id: I25d7466db88a840a8a09e7a476cface48c91d22e
GpsLocation object need to be cleared in case
the base calss member function being called so
that no bad values will be passed up.
Change-Id: I224ecebb3e4137c1baddd99ce0211a0f60d3e5b4
CRs-fixed: 879356
Timer must be removed from epoll as soon as it expires,
otherwise it continuously expire. Current timer removes
from a different thread, this triggers repeated expire
events until the maintain thread gets to remove it.
Change-Id: Ie523bce5069416521d49bc0178d2cad2dd1f04da
CRs-Fixed: 870568
All instances of MsgTask were not calling associator
because of a use of a static variable check.
All instance of MsgTask thread must call the associator.
CRs-Fixed: 870450
Change-Id: I18314ec3ca0fe21f4bbd12a505bf552e64e25307
LocHeap, LocThread, LocTimer, and moved MsgTask to
utils. Also added are LocRankable and LocRunnable
abstract classes.
Change-Id: I76975455d24f2c84a95dcc1b04f79fea562ea5ba
CRs-Fixed: 855222
GPGGA/GPRMC/GPGSA can be reported two times per
second in some cases where we lose all satellite
signals. We should report these NMEA sentences only
from position report to prevent this.
CRs-fixed: 884484
Change-Id: I123d9f074ca725703c6e90397160b701033e22f0
The modem power vote feature needs to move
out of hal as it has non-aosp dependency.
CRs-fixed: 831075
Change-Id: Ic83276e9d3c0d125a01f50719102fcd7c0455385
1. Add two new ulp location sources (PIP and NLP)
ULP_LOCATION_IS_FROM_NLP to mark locations from NLP
ULP_LOCATION_IS_FROM_PIP to mark locations from PIP
2. Introduce a macro for printing exit log with error
CRs-Fixed: 694343
Change-Id: Ifa11803df2ed4fc249a5c339acfeeb5d89bf55d5
NMEA is supposed to be generated only when GPS tracking
is going on in GPS HAL but it was also observed when
ZPP report, so add a check if isInSession is true to
avoid that.
Change-Id: Ia6152fe78243d45e71adccce956d0a727c3f17a2
The used-in-fix mask is only keeping track
of GPS SVs, so add a used-in-fix mask for
GlONASS SVs and BDS SVs as well to avoid
NMEA generation issues
CRs-fixed: 826152
Change-Id: I33862cf8d40db1d667179ef68d18703edc359843