summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorKevin Tang <zhikait@codeaurora.org>2019-07-17 12:06:57 -0700
committerKevin Tang <zhikait@codeaurora.org>2019-07-17 12:06:57 -0700
commit1a16ef3803aca2b2d8f1468e9aa99961781dfac3 (patch)
tree384dc9d7e797a1c9a984d495c4a26e59a7328cbf /core
parent3bbb89aee1a89cc7d268927ac8265a70a330f2fb (diff)
downloadgps-1a16ef3803aca2b2d8f1468e9aa99961781dfac3.tar.gz
Report ErrRecovery only when there is actual event
SystemStatus needs to report ErrRecovery events only when they actually happen (value != 0). Change-Id: I282d9c703542ef4bfd61ded78b903017816bd2cb CRs-Fixed: 2491022
Diffstat (limited to 'core')
-rw-r--r--core/SystemStatus.cpp3
-rw-r--r--core/SystemStatus.h32
2 files changed, 20 insertions, 15 deletions
diff --git a/core/SystemStatus.cpp b/core/SystemStatus.cpp
index 9ca126f..1c326c1 100644
--- a/core/SystemStatus.cpp
+++ b/core/SystemStatus.cpp
@@ -1338,6 +1338,9 @@ SystemStatus::SystemStatus(const MsgTask* msgTask) :
template <typename TYPE_REPORT, typename TYPE_ITEM>
bool SystemStatus::setIteminReport(TYPE_REPORT& report, TYPE_ITEM&& s)
{
+ if (s.ignore()) {
+ return false;
+ }
if (!report.empty() && report.back().equals(static_cast<TYPE_ITEM&>(s.collate(report.back())))) {
// there is no change - just update reported timestamp
report.back().mUtcReported = s.mUtcReported;
diff --git a/core/SystemStatus.h b/core/SystemStatus.h
index 94f7f0b..8a6fd72 100644
--- a/core/SystemStatus.h
+++ b/core/SystemStatus.h
@@ -86,6 +86,7 @@ public:
return *this;
}
virtual void dump(void) {};
+ inline virtual bool ignore() { return false; };
};
class SystemStatusLocation : public SystemStatusItemBase
@@ -102,7 +103,7 @@ public:
mLocation(location),
mLocationEx(locationEx) {}
bool equals(const SystemStatusLocation& peer);
- void dump(void);
+ void dump(void) override;
};
class SystemStatusPQWM1;
@@ -132,7 +133,7 @@ public:
mTimeUncNs(0ULL) {}
inline SystemStatusTimeAndClock(const SystemStatusPQWM1& nmea);
bool equals(const SystemStatusTimeAndClock& peer);
- void dump(void);
+ void dump(void) override;
};
class SystemStatusXoState : public SystemStatusItemBase
@@ -143,7 +144,7 @@ public:
mXoState(0) {}
inline SystemStatusXoState(const SystemStatusPQWM1& nmea);
bool equals(const SystemStatusXoState& peer);
- void dump(void);
+ void dump(void) override;
};
class SystemStatusRfAndParams : public SystemStatusItemBase
@@ -190,7 +191,7 @@ public:
mGalBpAmpQ(0) {}
inline SystemStatusRfAndParams(const SystemStatusPQWM1& nmea);
bool equals(const SystemStatusRfAndParams& peer);
- void dump(void);
+ void dump(void) override;
};
class SystemStatusErrRecovery : public SystemStatusItemBase
@@ -201,7 +202,8 @@ public:
mRecErrorRecovery(0) {};
inline SystemStatusErrRecovery(const SystemStatusPQWM1& nmea);
bool equals(const SystemStatusErrRecovery& peer);
- void dump(void);
+ inline bool ignore() override { return 0 == mRecErrorRecovery; };
+ void dump(void) override;
};
class SystemStatusPQWP1;
@@ -225,7 +227,7 @@ public:
mEpiSrc(0) {}
inline SystemStatusInjectedPosition(const SystemStatusPQWP1& nmea);
bool equals(const SystemStatusInjectedPosition& peer);
- void dump(void);
+ void dump(void) override;
};
class SystemStatusPQWP2;
@@ -247,7 +249,7 @@ public:
mBestAltUnc(0) {}
inline SystemStatusBestPosition(const SystemStatusPQWP2& nmea);
bool equals(const SystemStatusBestPosition& peer);
- void dump(void);
+ void dump(void) override;
};
class SystemStatusPQWP3;
@@ -283,7 +285,7 @@ public:
mNavicXtraValid(0) {}
inline SystemStatusXtra(const SystemStatusPQWP3& nmea);
bool equals(const SystemStatusXtra& peer);
- void dump(void);
+ void dump(void) override;
};
class SystemStatusPQWP4;
@@ -303,7 +305,7 @@ public:
mQzssEpheValid(0) {}
inline SystemStatusEphemeris(const SystemStatusPQWP4& nmea);
bool equals(const SystemStatusEphemeris& peer);
- void dump(void);
+ void dump(void) override;
};
class SystemStatusPQWP5;
@@ -349,7 +351,7 @@ public:
mNavicBadMask(0) {}
inline SystemStatusSvHealth(const SystemStatusPQWP5& nmea);
bool equals(const SystemStatusSvHealth& peer);
- void dump(void);
+ void dump(void) override;
};
class SystemStatusPQWP6;
@@ -361,7 +363,7 @@ public:
mFixInfoMask(0) {}
inline SystemStatusPdr(const SystemStatusPQWP6& nmea);
bool equals(const SystemStatusPdr& peer);
- void dump(void);
+ void dump(void) override;
};
class SystemStatusPQWP7;
@@ -385,7 +387,7 @@ public:
}
inline SystemStatusNavData(const SystemStatusPQWP7& nmea);
bool equals(const SystemStatusNavData& peer);
- void dump(void);
+ void dump(void) override;
};
class SystemStatusPQWS1;
@@ -399,7 +401,7 @@ public:
mHepeLimit(0) {}
inline SystemStatusPositionFailure(const SystemStatusPQWS1& nmea);
bool equals(const SystemStatusPositionFailure& peer);
- void dump(void);
+ void dump(void) override;
};
/******************************************************************************
@@ -710,7 +712,7 @@ public:
inline bool equals(const SystemStatusTac& peer) {
return (mValue == peer.mValue);
}
- inline void dump(void) {
+ inline void dump(void) override {
LOC_LOGD("Tac: value=%s", mValue.c_str());
}
};
@@ -726,7 +728,7 @@ public:
inline bool equals(const SystemStatusMccMnc& peer) {
return (mValue == peer.mValue);
}
- inline void dump(void) {
+ inline void dump(void) override {
LOC_LOGD("TacMccMnc value=%s", mValue.c_str());
}
};