summaryrefslogtreecommitdiff
path: root/gnss/GnssAdapter.cpp
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2022-11-08 01:02:30 -0800
committerLinux Build Service Account <lnxbuild@localhost>2022-11-08 01:02:30 -0800
commit28fb84e8d1cb41e22e7f6210ea04190914db103f (patch)
tree5b738415dd104ede73fc0302be693557ad2cc3d5 /gnss/GnssAdapter.cpp
parentc259797d7567e8fb71d46fb69a0fa941cdd4b72c (diff)
parentee0fa20a1d35466b22264116eaeb957495ce6667 (diff)
Merge ee0fa20a1d35466b22264116eaeb957495ce6667 on remote branchHEADumineko-8350tachibana-8350
Change-Id: Ie3e99d857848862a71a6b35e4293b905b7fd9fd4
Diffstat (limited to 'gnss/GnssAdapter.cpp')
-rw-r--r--gnss/GnssAdapter.cpp78
1 files changed, 17 insertions, 61 deletions
diff --git a/gnss/GnssAdapter.cpp b/gnss/GnssAdapter.cpp
index 0235d2c..f3ccd99 100644
--- a/gnss/GnssAdapter.cpp
+++ b/gnss/GnssAdapter.cpp
@@ -170,6 +170,7 @@ GnssAdapter::GnssAdapter() :
readConfigCommand();
initDefaultAgpsCommand();
initEngHubProxyCommand();
+
// at last step, let us inform adapater base that we are done
// with initialization, e.g.: ready to process handleEngineUpEvent
doneInit();
@@ -2564,51 +2565,15 @@ GnssAdapter::updateClientsEventMask()
}
void
-GnssAdapter::handleEngineLockStatusEvent(EngineLockState engineLockState) {
-
- LOC_LOGD("%s]: Old Engine state %d, New Engine state : %d,",
- __func__, mLocApi->getEngineLockState(), engineLockState);
-
- struct MsgEngineLockStateEvent : public LocMsg {
- GnssAdapter& mAdapter;
- EngineLockState mEngineLockState;
-
- inline MsgEngineLockStateEvent(GnssAdapter& adapter, EngineLockState engineLockState) :
- LocMsg(),
- mAdapter(adapter),
- mEngineLockState(engineLockState) {}
-
- virtual void proc() const {
- mAdapter.handleEngineLockStatus(mEngineLockState);
- }
- };
-
- sendMsg(new MsgEngineLockStateEvent(*this, engineLockState));
-}
-
-void
-GnssAdapter::handleEngineLockStatus(EngineLockState engineLockState) {
-
- if (ENGINE_LOCK_STATE_ENABLED == engineLockState) {
- for (auto msg: mPendingGnssEnabledMsgs) {
- sendMsg(msg);
- }
- mPendingGnssEnabledMsgs.clear();
- }
-}
-
-void
GnssAdapter::handleEngineUpEvent()
{
LOC_LOGD("%s]: ", __func__);
struct MsgHandleEngineUpEvent : public LocMsg {
GnssAdapter& mAdapter;
- LocApiBase& mApi;
- inline MsgHandleEngineUpEvent(GnssAdapter& adapter, LocApiBase& api) :
+ inline MsgHandleEngineUpEvent(GnssAdapter& adapter) :
LocMsg(),
- mAdapter(adapter),
- mApi(api) {}
+ mAdapter(adapter) {}
virtual void proc() const {
mAdapter.setEngineCapabilitiesKnown(true);
mAdapter.broadcastCapabilities(mAdapter.getCapabilities());
@@ -2620,19 +2585,17 @@ GnssAdapter::handleEngineUpEvent()
mAdapter.gnssSecondaryBandConfigUpdate();
// start CDFW service
mAdapter.initCDFWService();
-
- if (ENGINE_LOCK_STATE_ENABLED == mApi.getEngineLockState()) {
- // restart sessions
- mAdapter.restartSessions(true);
- for (auto msg: mAdapter.mPendingMsgs) {
- mAdapter.sendMsg(msg);
- }
+ // restart sessions
+ mAdapter.restartSessions(true);
+ for (auto msg: mAdapter.mPendingMsgs) {
+ mAdapter.sendMsg(msg);
}
+ mAdapter.mPendingMsgs.clear();
}
};
readConfigCommand();
- sendMsg(new MsgHandleEngineUpEvent(*this, *mLocApi));
+ sendMsg(new MsgHandleEngineUpEvent(*this));
}
void
@@ -3009,11 +2972,9 @@ GnssAdapter::startTrackingCommand(LocationAPI* client, TrackingOptions& options)
mAdapter.saveTrackingSession(mClient, mSessionId, mOptions);
mApi.startDistanceBasedTracking(mSessionId, mOptions,
new LocApiResponse(*mAdapter.getContext(),
- [&mAdapter = mAdapter, mSessionId = mSessionId, mClient = mClient,
- &mApi = mApi]
+ [&mAdapter = mAdapter, mSessionId = mSessionId, mClient = mClient]
(LocationError err) {
- if (ENGINE_LOCK_STATE_ENABLED == mApi.getEngineLockState() &&
- LOCATION_ERROR_SUCCESS != err) {
+ if (LOCATION_ERROR_SUCCESS != err) {
mAdapter.eraseTrackingSession(mClient, mSessionId);
}
mAdapter.reportResponse(mClient, err, mSessionId);
@@ -3120,8 +3081,7 @@ GnssAdapter::startTimeBasedTracking(LocationAPI* client, uint32_t sessionId,
if (!checkAndSetSPEToRunforNHz(tempOptions)) {
mLocApi->startTimeBasedTracking(tempOptions, new LocApiResponse(*getContext(),
[this, client, sessionId] (LocationError err) {
- if (ENGINE_LOCK_STATE_ENABLED == mLocApi->getEngineLockState() &&
- LOCATION_ERROR_SUCCESS != err) {
+ if (LOCATION_ERROR_SUCCESS != err) {
eraseTrackingSession(client, sessionId);
} else {
checkUpdateDgnssNtrip(false);
@@ -3156,8 +3116,7 @@ GnssAdapter::updateTracking(LocationAPI* client, uint32_t sessionId,
if(!checkAndSetSPEToRunforNHz(tempOptions)) {
mLocApi->startTimeBasedTracking(tempOptions, new LocApiResponse(*getContext(),
[this, client, sessionId, oldOptions] (LocationError err) {
- if (ENGINE_LOCK_STATE_ENABLED == mLocApi->getEngineLockState() &&
- LOCATION_ERROR_SUCCESS != err) {
+ if (LOCATION_ERROR_SUCCESS != err) {
// restore the old LocationOptions
saveTrackingSession(client, sessionId, oldOptions);
}
@@ -3272,10 +3231,9 @@ GnssAdapter::updateTrackingOptionsCommand(LocationAPI* client, uint32_t id,
if (LOCATION_ERROR_SUCCESS == err) {
mApi.startDistanceBasedTracking(mSessionId, mOptions,
new LocApiResponse(*mAdapter.getContext(),
- [&mAdapter, mClient, mSessionId, mOptions, &mApi = mApi]
+ [&mAdapter, mClient, mSessionId, mOptions]
(LocationError err) {
- if (ENGINE_LOCK_STATE_DISABLED == mApi.getEngineLockState() ||
- LOCATION_ERROR_SUCCESS == err) {
+ if (LOCATION_ERROR_SUCCESS == err) {
mAdapter.saveTrackingSession(mClient, mSessionId, mOptions);
}
mAdapter.reportResponse(mClient, err, mSessionId);
@@ -3389,11 +3347,9 @@ GnssAdapter::stopTrackingCommand(LocationAPI* client, uint32_t id)
} else if (isDistanceBased) {
mApi.stopDistanceBasedTracking(mSessionId, new LocApiResponse(
*mAdapter.getContext(),
- [&mAdapter = mAdapter, mSessionId = mSessionId, mClient = mClient,
- &mApi = mApi]
+ [&mAdapter = mAdapter, mSessionId = mSessionId, mClient = mClient]
(LocationError err) {
- if (ENGINE_LOCK_STATE_DISABLED == mApi.getEngineLockState() ||
- LOCATION_ERROR_SUCCESS == err) {
+ if (LOCATION_ERROR_SUCCESS == err) {
mAdapter.eraseTrackingSession(mClient, mSessionId);
}
mAdapter.reportResponse(mClient, err, mSessionId);