Commit graph

11 commits

Author SHA1 Message Date
Kevin Tang
9b2e79c42e Fix race condition that adapter does not get handleEngineUp
- Removed redundant injectFeatureConfig() call, as it this
happens twice, once when the first context is created which
would have been too early and once when LocApi open success.
- Resolved a race condition that second adapter added may not
have been in LocApi's adapter list yet when handleEngineUp()
is broadcast.

Change-Id: I8ecc18eab6b450c326c0be1abc011f70285439aa
CRs-Fixed: 2397902
2019-02-14 11:08:21 -08:00
Harikrishnan Hariharan
ee2d6658cb Add DataItemObserver interface in SystemStatus
Add DataItemObserver interface in SystemStatus so
that clients can subscribe dataitem events from
SystemStatus. Also moving DateItem and its observer,
subscription classes into HAL

Simplify DataItem class implementation.

Change-Id: I7b2c3fc9dcf67dd6132bbcccda874e3f7ed6fa94
CRs-Fixed: 2041019 2072896
2017-08-11 13:51:48 -07:00
Katz Yamada
592b3f557e SystemStatus - initial release
Add GNSS SystemStatus component to handle debug NMEA messages
from mpss. This component handles GNSS debug info sent through
debug NMEA and then stores it in its cache and pass it to
clients per requests. Also debug NMEA is turned on by default.

Change-Id: Ia11a124ff43d27568f544a3a4742dd7a846869fe
CRs-Fixed: 1099152
2017-03-21 09:55:08 -07:00
Kevin Tang
94ecbf6804 Crash fix with MsgTask API change
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
2015-09-21 14:45:58 -07:00
Jiafei Wen
a284b9a83b Adding Mutex for Creating Context
Adding lock for creating foreground context
and background context, preventing any possible
race condition.

CRs-fixed: 820078
Change-Id: I7ace685622904ee2aa12f317540f9c04880acc70
2015-04-09 11:00:22 -07:00
Tushar Janefalkar
9e585cb7bf Inject feature config
This change injects feature config
through using the first available
context

CRs-fixed: 616544

Change-Id: Idea5bd8acfff729589c071f20bec18679c89ab25
2014-05-05 12:10:59 -07:00
Kevin Tang
61fedb4567 removed ulp dependency.
ULP will no longer be loaded and init'ed from loc eng
HAL. GPS HAL will look for ULP once it completes init
and waits for a msg back once it hears from ULP. This
is done with introduction of UlpProxy. Default proxy
is a no op proxy.

Change-Id: If0be0b5744f9de20f12c2f0b9704dea66aa454c0
(cherry picked from commit 2eb4ddcae94283df6c6be450c4c070ffd8ff9cd7)
2013-08-09 11:44:34 -07:00
Kevin Tang
3535edcfb0 corresponding to izat_core and LBSAdapter changes.
Removed makefile dependency to AndrodRuntime; Renamed
library to be loaded from liblocation to libizat_core;
Made some class private access to protected for the
needs of inheritance; piggy bagged some optimizations.

Change-Id: Id7e3127baa1833cbad7739f50808941c733b87f2
(cherry picked from commit c039ceaec84b25573d710b31831c9b06d4f3d1c6)
2013-08-09 11:44:27 -07:00
Kevin Tang
11adbb371f Revert "Revert "Location Hal Design Level Change for FLP Requirement"".
This reverts commit 55a6841843.
(cherry picked from commit 363ed1a6b09d7426bfd3726becd2d713da57fa80)

Change-Id: I19153a904dd7587dfd517dcc86f51f4b1110289a
2013-08-09 11:44:12 -07:00
Sridhar Gujje
55a6841843 Revert "Location Hal Design Level Change for FLP Requirement"
This reverts commit a915406668

Change-Id: I7f677a9540a64a60b5f4ed898ba6bed8b3482687
2013-08-07 03:27:20 -07:00
Kevin Tang
a915406668 Location Hal Design Level Change for FLP Requirement
Changes can be highlighted with below summary:
* Split the original LocApiAdapter to LocAdapter and LocApi.
  Now different adapter implementations can flexibly connect
  to different LocApi;
* LocApi continues to abstract the API binding to RPC or QMI;
* MsgTask which creates and owns a msg Q and a thread, and it
  define a LocMsg base msg class. The handler pulls a msg out
  of the Q and calls its proc() method. This makes it possible
  for msg sender to keep the data in the msg encapsulated, as
  it no longer requires a central msg handler who must under-
  stand all data format. This used to be where all the compile
  time dependencies are tangled together;
* Added Context to bundle MsgTask and LocApi;
* Added LocDualContext specifically for the FLP Location Hal
  architecture requirement;
* Placed all the base classes of the above in loc_core folder
  / loc_core namespace / libloc_core.so, so other libraries
  can easily use derive from here without having to pull in
  the loc_eng implementation, which is a large library to
  include or link to;

Change-Id: I40abfba96dea76757c98530c1f5e076b34ba4ac7
2013-08-02 19:29:22 -07:00