1: GNSS adapter change to block out position and SV report from
ULP when engine hub aggregator is used
2: Support unpropagated position report
Change-Id: Id0cacd87d3f3f8eec893d751b9f7a55a736a4023
CRs-fixed: 2210253
1: GNSS adapter change to block out position and SV report from
ULP when engine hub aggregator is used
2: Support unpropagated position report
Change-Id: Id0cacd87d3f3f8eec893d751b9f7a55a736a4023
CRs-fixed: 2210253
(1) allow engine hub to be able to receive connectivity
status update
(2) fix kw warning in LocIpc.h
Change-Id: I62ac534639003051a8992c143ff273d5ff66ee5a
CRs-fixed: 2198446
- Define gps user and group id's for Android and LE.
- Update to use getgrnam for getting group id's.
- Get group id's for child processes for LE also.
Change-Id: I5365dbc1c51eb89ab66ba8652f3ed1c5dbea6eb4
CRs-Fixed: 2183710
- Capabilities MSA/MSB should be reset even if defined in
gps.conf for APQ/QSC targets. Since WWAN modem will not be
available, we need to trigger Standalone fixes only. If MSB
capability is set,then default position mode is MSB.
- Handle the new string "qcs" for baseband for Gen9 APQ targets.
- Make sure that ContextBase::readConfig avoid repeat initialize
for config reading.
Change-Id: Ic0a1e57dd76a88bf4d037cd374ceded84cc0f904
CRs-Fixed: 2193207
Match the output of izat_remote_api clients with LocationAPI clients.
Fill GnssLocationInfoNotification with missing fields from
GpsLocationExtended and Location structure. And allow one single
callback to report complete position info. Meanwhile, remove fields
from UlpLocation that are no longer used.
CRs-fixed: 2169738
Change-Id: Ib5bd3dd9c065c4b3d6cad32b23167546ad950d06
LocIpcSender::send() doesn't return correct
boolean result code. It always returns false
even it is successfully sent.
Change-Id: I74d85501f5d097dc1ede4dea5b2d9c9d752affda
CRs-Fixed: 2179096
Make routine to parse process info defined in conf file
a util routine so it can be shared among modules
Change-Id: I934c7346aee377eeebf4cdf4738bcfcc943840e1
CRs-fixed: 2174890
separated utils, core, ds and loc-api-v02 from loc-hal into their
own independent packages; simplified loc-pla; moved pla to the
root of project; removed loc-stub.
Change-Id: I373f02f9306646addf55ae90d71c4ba8e3741d09
CRs-Fixed: 2172544
For startListeningNoBlocking, for callers that need to know
when the socket is actually being created and ready to receive
message, this change allows callback to be invoked when socket
is ready.
Change-Id: Ie7c6eb1a3966371d84fc98109f07805ac7d4e3a1
CRs-fixed: 2169568
Also change the reg mask to 64 bit since we now
have more than 32 possible bits.
CRs-fixed: 2129134
Change-Id: I006f5fffac3d9dd2d96ca82d84f49bde96bc0f55
Add LocIpcSender class and add an overloaded
send method in LocIpc class that takes binary
data block.
Change-Id: I102f23fe8bf378c3bed5cac0086aa9773c62727b
CRs-Fixed: 2144883
Change LocIpc::send() method implementation from
regular member to static, since it does not modify
any of its class member variables. Sender code
should be able to call this method without creating
an instance.
Change-Id: I9d08404c3fae615fd20531904241bf2e246fa592
CRs-Fixed: 2143522
1. Add Navigational status to $--RMC sentence
2. Add Signal ID to $--GSV sentence
Change-Id: I5ae26bed8dcca577ee661a4129858a8482d172a6
CRs-fixed: 2109692
Add support for logcat logging for location modules
in LE, by adding appropriate flags -llog to LDFLAGS.
Update logging macros to use ALOG* so that logs can
be outputed using standard logcat adb commands.
Change-Id: I94b5a1e9f0b4ec78a55e7189002e0f674ef174d2
CRs-Fixed: 2117669
Fix compilation errors in xtra-daemon in LE for changes made
as part of adding biway IPC communication changes. New files
created are added as part of LE Makefile.
Change-Id: Ic0f0d60dd85eea38bb47753aea4fccfb3070d64c
CRs-Fixed: 2122852
this patch contains the following changes:
1. added header and implemenation files of socket util apis
in libgps.utils; 2. updated XtraSystemStatusObserver to use
the new apis; 3. added HAL socket and new thread to listen to it.
Change-Id: If1f6b4b4d6ea2d03640f68e96f0286300404f42b
CRs-fixed: 2108635
Call LocNetIfaceAgps_getStatusCb implemented in libloc_net_iface.so,
use the return function as default agps status callback.
Change-Id: I4d966a888e312c2d0fb1a6c9e30752294876e500
CRs-Fixed: 2064002
Add / Modify Location API for
Outdoor Trip Batching feature.
Introduce a batch mode to differentiate
between routine and outdoor trip mode.
CRs-Fixed: 2041674
Change-Id: Ia8b2d34457b29c4fe754ab24287a6984ab9a96f5
1. Validity bit for vertical uncertainity was conflicting
with the validity bit of location source, hence had
to change the bit.
2. Modify ZPP API to report speed and bearing accuracy.
CRs-Fixed:2064017
Change-Id: I8b09ecab3d67557ad7c2451fee71dbc0e1f14371
Avoid setting debug NMEA bit of QMI_LOC_SET_
NMEA_TYPES_REQ message when the feature is
unsupported.
Change-Id: I999654f627eac68042597ee51aff81e8588bfa9b
CRs-Fixed: 2072961
Change the comment for param_type member of loc_param_s_type
struct: 'f' for float --> 'f' for double
Change-Id: Ibf9c6bec624bd3900c4b96100c359ed7350becc6
CRs-fixed: 2068995
Replace copying header files to out folder
for use by other modules to instead build
headers into separate libraries that end
with _headers that can be used by other
modules.
Change-Id: I073967cd34e5c79110895908a4eef1b7d17bf9ea
CRs-fixed: 2068129
it is a stale feature, been disconnected for years.
Also tightend up loc_get_target(), as it currently
doesn't get produce a result, but also return -1,
which would cause the next call and every call going
through the entire function every time it is called.
Change-Id: I348d99f690eb8973730112d5edeb870b2be2c6c8
CRs-Fixed: 2062169
Adding priority flags while registering NI
handling callback and AGPS handling callback.
To ensure that both NI and AGPS are always
handled by our stack instead of Android
Framework stack.
CRs-Fixed: 2059476
Change-Id: I585328491a7f5d9099287924a03d7710f4e5fda9
Implemented graceful fallback when
timerfd_create is failing for
CLOCK_BOOTTIME_ALARM
Change-Id: I6561be840f37a985104a2766fc4b521d237da3b2
CRs-fixed: 2051787
Add LOC_API_ADAPTER_BIT_POSITION_INJECTION_REQUEST mask bit to
decouple from LOC_API_ADAPTER_BIT_ASSISTANCE_DATA_REQUEST.
Change-Id: I4c2f8439dca9ea3b4d56a3cd00da88e4488717bf
CRs-fixed: 2044870
Add vertical uncertainity field to
LocGpsLocation and report whenever
possible.
CRs-Fixed: 2028902
Change-Id: I2610b0eaf527b516e7a1cac958b82795f535cc06
Add ephemeris detail info in Gnss Debug interface. This new info
also comes up in NMEA stings. Requires a new QMI_LOC interface
that supports extended NMEA string TLV.
Change-Id: I5dc566fb210c06a443ed6c27e064377851ce83a5
CRs-Fixed: 2024594
Checking in GnssAdapter::reportNmeaEvent to see if the
incoming nmea is debug, in which case we do not route
that to ULP. Debug NMEA is only for SystemStatus
consumption.
Change-Id: Ifb60b9a643ad6aeb732fcaf5a68f868cb55cd88a
CRs-Fixed: 2027134
Generate --GSV sentences from SVs in view
instead of generate them from SVs used in fix
Change-Id: I1de113e86b987b6ea01b50d800e5e13e7277baff
CRs-Fixed: 2015049
NMEA generation logic needs to be reused across the
interface boundaries. Moved this logic inside utils.
Change-Id: Icb5c6fbc38b178c5edea468d26286e21749bfbfb
CRs-Fixed: 1098734
The current logging macro always uses LOGE, which is
confusing to external developer looking at our logs.
Also changed LOC_LOGx definition to follow the same
syntax as that of LOC_LOGX.
Bug: 29499503
Change-Id: I803233a9d0b241bf9aeb2ee0d4bd2e7cc52ed75b
CRs-Fixed: 1113702
Moving all vendor specific conf files to /vendor/etc instead of
current /etc folder
CRs-Fixed: 1099981
Change-Id: I4495d8527941959be0847c4722ea8b68ee6c87ee
it appears some of the MsgTask msgs might fail
to create, ending up with a NULL pointer, in
which case when it gets received, dereferencing
a NULL pointer will happen, causing crash.
Change-Id: I5a4295b4fba9c8383754e2abe6558782b1b83143
CRs-Fixed: 1106034
Updating target derivation logic based on ro.baseband property.
There are new values which must be considered in the target
derivation logic.
Change-Id: I2e81ab00c107247dcb8f1a919136bb61b482e73c
CRs-Fixed: 1105916
To identify the target as MDM, we need to check for "/target"
node mdm targets instead of "/dev/mdm".
Change-Id: Ibb53acfd06a0a586f2cdca784f475d0a45718581
CRs-Fixed: 1101185
when MsgTask::destroy() happens, msg_q_unblock() triggers
the running thread to come out from blocking state. A race
condition may happen such that that thread may complete
first, causing msgTask obj to be already deleted. A next
allocation may change the value at MsgTask::mThread. Then
when control comes back to destroy(), it may try to check
mThread and call delete on it to crash the program.
mThread is a heap obj, so it is possible to delete it after
the hosting msgTask obj is deleted. We just have to keep
its value on the stack before calling msg_q_unblock().
Change-Id: If15884815eea05fbfa523ec92aa300ed21ef897c
CR-Fixed: 1091530
need to remove get_process_name as it is removed
from libcutil. Call getprogname is available in
libc but not LE glibc. Implementing a simple call
wrapper.
Change-Id: I68244b9f7fcbc290222b074f80da03330315ea29
CRs-Fixed: 1080605
Overwrites the default hidl gnss hal implementation
to interface directly to LocationAPI
CRs-fixed: 1112712
Change-Id: I3385911956c0c6c457202a8584b108046c587b36
Implementation of LocationAPI into gps hal
to be a common API that is called into by platform
specific APIs.
Change-Id: Ie5a7bd217d4ae2175ad49e6aca2fb6ecd4702f3b
CRs-fixed: 1112712
Remove all usage of gps.h and fused_location.h
from all gnss models except gps/fpl hal librarys
Change-Id: I90ba233c6bbe5c31a4cacceeb981833719c871f2
CRs-Fixed: 1067953
Adding handling for new ro.baseband value provided by target team
If the target does not have WGR (GPS Receiver), we return NULL
GPS and FLP interfaces.
CRs-Fixed: 1033674
Change-Id: I1561518c4f4b0c52ab934feb2fa43e9078c91d86
merge automotive specific changes from LA.AF.1.2.1 into
location development branch
Change-Id: I90a5e60c46bb5b1aafaf4cd9aaf2dcb79449f288
CRs-Fixed: 1017254
Removing LOCAL_CLANG := false from makefiles.
Couple of instances got added back as part of
LE merge.
Change-Id: I7d18d573c1d12597914124e35cb024df3343f0db
CRs-Fixed: 1021759
automotive platform introduced a new android property called
ro.hardware.type to detect automotive platform for the
purpose of having automotive specific features.
Added changes in loc_target to detect auto platform.
Change-Id: Ib886b96b2e95dafc151bead041e5fc3d6740c468
CRs-Fixed: 992647
missing include of a head file. A late check in for Android introduced
this. This blocks LE mainline switching to component model.
Change-Id: Idc93f1ec9b1ccb548d3119e72ce0e3e797f2039f
CRs-Fixed: 1004488
This project implemented XTRA "Enhancements" grouped as XTRA Client 2.0.
1. Added NTP_SERVER config into gps.conf
2. Removed XTRA Client 2.0 Phase 1 code changes
3. Disabled public api to delete aiding data in user build
CRs-fixed: 917950
Change-Id: I18b31da74c9fe0c24d0ced3770f099197ad32d9a
Fix for buffer overflow possibility for the thread name passed in to
pthread_setname_np() method.
Change-Id: Id323dd058eddcf50d6fd9ec8908e9997b30c561b
CRs-Fixed: 999457
Fixed compilation issues for LA after merging
oe_master with location.lnx.1.0-dev.1.0.
Change-Id: I7940429c369249ab9aa636fe9850c1281cf2dc01
CRs-Fixed: 995520
automotive platform introduced a new android property called
ro.hardware.type to detect automotive platform for the
purpose of having automotive specific features.
Added changes in loc_target to detect auto platform.
Change-Id: Ib886b96b2e95dafc151bead041e5fc3d6740c468
CRs-Fixed: 992647
Removing statement to set LOCAL_CLANG flag explicity to
true. It will be true by default.
Change-Id: I2eaba5a89e64088e3383b962dceaaa7e975e997a
CRs-Fixed: 989476
The current share() and drop() calls are not thread
safe, which can cause memory heap correuption. This
changes the read / write ops to be atomic.
Change-Id: Ic241d4573bdf2e58c4e264e97bd41b56f882c791
CRs-Fixed: 975372
The current share() and drop() calls are not thread
safe, which can cause memory heap correuption. This
changes the read / write ops to be atomic.
Change-Id: Ic241d4573bdf2e58c4e264e97bd41b56f882c791
CRs-Fixed: 975372
The current share() and drop() calls are not thread
safe, which can cause memory heap correuption. This
changes the read / write ops to be atomic.
Change-Id: Ic241d4573bdf2e58c4e264e97bd41b56f882c791
CRs-Fixed: 975372
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
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
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
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
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
LocHeap, LocThread, LocTimer, and moved MsgTask to
utils. Also added are LocRankable and LocRunnable
abstract classes.
Change-Id: I76975455d24f2c84a95dcc1b04f79fea562ea5ba
CRs-Fixed: 855222
Reduce memory footprint by moving data sets into const
data segments. Update function parameters to accept const
parameters when appropriate.
CRs-fixed: 928770
Change-Id: I42955cf18de2b0541cfaed89359cdcf9ae6fea8a
While it is important to continue to log events
at debug level logs, logging all data may not be
as important. Moving such logs to verbose level
CRs-Fixed: 936031
Change-Id: I634d173b645180d55d620a24cce2c31aee966b8f
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