Add register/unregister methods for SvStatus and NMEA
(hardware/interfaces)
Bug: 213375506
Test: atest VtsHalGnssTargetTest
Change-Id: I7468336b5e1759f4ce90a42fbfd19e3bb17baaa9
diff --git a/gnss/aidl/default/Gnss.h b/gnss/aidl/default/Gnss.h
index b50a1ae..1489b4b 100644
--- a/gnss/aidl/default/Gnss.h
+++ b/gnss/aidl/default/Gnss.h
@@ -51,6 +51,10 @@
ndk::ScopedAStatus injectBestLocation(const GnssLocation& location) override;
ndk::ScopedAStatus deleteAidingData(GnssAidingData aidingDataFlags) override;
ndk::ScopedAStatus setPositionMode(const PositionModeOptions& options) override;
+ ndk::ScopedAStatus startSvStatus() override;
+ ndk::ScopedAStatus stopSvStatus() override;
+ ndk::ScopedAStatus startNmea() override;
+ ndk::ScopedAStatus stopNmea() override;
ndk::ScopedAStatus getExtensionPsds(std::shared_ptr<IGnssPsds>* iGnssPsds) override;
ndk::ScopedAStatus getExtensionGnssConfiguration(
@@ -83,9 +87,10 @@
private:
void reportLocation(const GnssLocation&) const;
+ void reportSvStatus() const;
void reportSvStatus(const std::vector<IGnssCallback::GnssSvInfo>& svInfoList) const;
std::vector<IGnssCallback::GnssSvInfo> filterBlocklistedSatellites(
- std::vector<IGnssCallback::GnssSvInfo> gnssSvInfoList);
+ std::vector<IGnssCallback::GnssSvInfo> gnssSvInfoList) const;
void reportGnssStatusValue(const IGnssCallback::GnssStatusValue gnssStatusValue) const;
std::unique_ptr<GnssLocation> getLocationFromHW();
@@ -93,6 +98,7 @@
std::atomic<long> mMinIntervalMs;
std::atomic<bool> mIsActive;
+ std::atomic<bool> mIsSvStatusActive;
std::atomic<bool> mFirstFixReceived;
std::thread mThread;