1 #define LOG_TAG "GnssConfiguration" 2 3 #include "GnssConfiguration.h" 4 #include <log/log.h> 5 6 namespace android { 7 namespace hardware { 8 namespace gnss { 9 namespace V1_1 { 10 namespace implementation { 11 12 // Methods from ::android::hardware::gnss::V1_0::IGnssConfiguration follow. setSuplEs(bool)13Return<bool> GnssConfiguration::setSuplEs(bool) { 14 // TODO implement 15 return bool{}; 16 } 17 setSuplVersion(uint32_t)18Return<bool> GnssConfiguration::setSuplVersion(uint32_t) { 19 // TODO implement 20 return bool{}; 21 } 22 setSuplMode(hidl_bitfield<SuplMode>)23Return<bool> GnssConfiguration::setSuplMode(hidl_bitfield<SuplMode>) { 24 // TODO implement 25 return bool{}; 26 } 27 setGpsLock(hidl_bitfield<GpsLock>)28Return<bool> GnssConfiguration::setGpsLock(hidl_bitfield<GpsLock>) { 29 // TODO implement 30 return bool{}; 31 } 32 setLppProfile(hidl_bitfield<LppProfile>)33Return<bool> GnssConfiguration::setLppProfile(hidl_bitfield<LppProfile>) { 34 // TODO implement 35 return bool{}; 36 } 37 setGlonassPositioningProtocol(hidl_bitfield<GlonassPosProtocol>)38Return<bool> GnssConfiguration::setGlonassPositioningProtocol(hidl_bitfield<GlonassPosProtocol>) { 39 // TODO implement 40 return bool{}; 41 } 42 setEmergencySuplPdn(bool)43Return<bool> GnssConfiguration::setEmergencySuplPdn(bool) { 44 // TODO implement 45 return bool{}; 46 } 47 48 // Methods from ::android::hardware::gnss::V1_1::IGnssConfiguration follow. setBlacklist(const hidl_vec<BlacklistedSource> & sourceList)49Return<bool> GnssConfiguration::setBlacklist(const hidl_vec<BlacklistedSource>& sourceList) { 50 std::unique_lock<std::recursive_mutex> lock(mMutex); 51 mBlacklistedConstellationSet.clear(); 52 mBlacklistedSourceSet.clear(); 53 for (auto source : sourceList) { 54 if (source.svid == 0) { 55 // Wildcard blacklist, i.e., blacklist entire constellation. 56 mBlacklistedConstellationSet.insert(source.constellation); 57 } else { 58 mBlacklistedSourceSet.insert(source); 59 } 60 } 61 return true; 62 } 63 isBlacklisted(const GnssSvInfo & gnssSvInfo) const64Return<bool> GnssConfiguration::isBlacklisted(const GnssSvInfo& gnssSvInfo) const { 65 std::unique_lock<std::recursive_mutex> lock(mMutex); 66 if (mBlacklistedConstellationSet.find(gnssSvInfo.constellation) != 67 mBlacklistedConstellationSet.end()) { 68 return true; 69 } 70 BlacklistedSource source = {.constellation = gnssSvInfo.constellation, .svid = gnssSvInfo.svid}; 71 return (mBlacklistedSourceSet.find(source) != mBlacklistedSourceSet.end()); 72 } 73 getMutex() const74std::recursive_mutex& GnssConfiguration::getMutex() const { 75 return mMutex; 76 } 77 78 // Methods from ::android::hidl::base::V1_0::IBase follow. 79 80 } // namespace implementation 81 } // namespace V1_1 82 } // namespace gnss 83 } // namespace hardware 84 } // namespace android 85