Loading broadcastradio/aidl/default/BroadcastRadio.cpp +13 −7 Original line number Diff line number Diff line Loading @@ -421,20 +421,26 @@ ScopedAStatus BroadcastRadio::stopProgramListUpdates() { return ScopedAStatus::ok(); } ScopedAStatus BroadcastRadio::isConfigFlagSet(ConfigFlag flag, [[maybe_unused]] bool* returnIsSet) { ScopedAStatus BroadcastRadio::isConfigFlagSet(ConfigFlag flag, bool* returnIsSet) { LOG(DEBUG) << __func__ << ": flag = " << toString(flag); LOG(INFO) << __func__ << ": getting ConfigFlag is not supported"; return ScopedAStatus::fromServiceSpecificErrorWithMessage( resultToInt(Result::NOT_SUPPORTED), "getting ConfigFlag is not supported"); int flagBit = static_cast<int>(flag); lock_guard<mutex> lk(mMutex); *returnIsSet = ((mConfigFlagValues >> flagBit) & 1) == 1; return ScopedAStatus::ok(); } ScopedAStatus BroadcastRadio::setConfigFlag(ConfigFlag flag, bool value) { LOG(DEBUG) << __func__ << ": flag = " << toString(flag) << ", value = " << value; LOG(INFO) << __func__ << ": setting ConfigFlag is not supported"; return ScopedAStatus::fromServiceSpecificErrorWithMessage( resultToInt(Result::NOT_SUPPORTED), "setting ConfigFlag is not supported"); int flagBitMask = 1 << (static_cast<int>(flag)); lock_guard<mutex> lk(mMutex); if (value) { mConfigFlagValues |= flagBitMask; } else { mConfigFlagValues &= ~flagBitMask; } return ScopedAStatus::ok(); } ScopedAStatus BroadcastRadio::setParameters( Loading broadcastradio/aidl/default/BroadcastRadio.h +3 −0 Original line number Diff line number Diff line Loading @@ -75,6 +75,9 @@ class BroadcastRadio final : public BnBroadcastRadio { ProgramSelector mCurrentProgram GUARDED_BY(mMutex) = {}; std::shared_ptr<ITunerCallback> mCallback GUARDED_BY(mMutex); // Bitmap for all ConfigFlag values int mConfigFlagValues GUARDED_BY(mMutex) = 0; std::optional<AmFmBandRange> getAmFmRangeLocked() const; void cancelLocked(); ProgramInfo tuneInternalLocked(const ProgramSelector& sel); Loading Loading
broadcastradio/aidl/default/BroadcastRadio.cpp +13 −7 Original line number Diff line number Diff line Loading @@ -421,20 +421,26 @@ ScopedAStatus BroadcastRadio::stopProgramListUpdates() { return ScopedAStatus::ok(); } ScopedAStatus BroadcastRadio::isConfigFlagSet(ConfigFlag flag, [[maybe_unused]] bool* returnIsSet) { ScopedAStatus BroadcastRadio::isConfigFlagSet(ConfigFlag flag, bool* returnIsSet) { LOG(DEBUG) << __func__ << ": flag = " << toString(flag); LOG(INFO) << __func__ << ": getting ConfigFlag is not supported"; return ScopedAStatus::fromServiceSpecificErrorWithMessage( resultToInt(Result::NOT_SUPPORTED), "getting ConfigFlag is not supported"); int flagBit = static_cast<int>(flag); lock_guard<mutex> lk(mMutex); *returnIsSet = ((mConfigFlagValues >> flagBit) & 1) == 1; return ScopedAStatus::ok(); } ScopedAStatus BroadcastRadio::setConfigFlag(ConfigFlag flag, bool value) { LOG(DEBUG) << __func__ << ": flag = " << toString(flag) << ", value = " << value; LOG(INFO) << __func__ << ": setting ConfigFlag is not supported"; return ScopedAStatus::fromServiceSpecificErrorWithMessage( resultToInt(Result::NOT_SUPPORTED), "setting ConfigFlag is not supported"); int flagBitMask = 1 << (static_cast<int>(flag)); lock_guard<mutex> lk(mMutex); if (value) { mConfigFlagValues |= flagBitMask; } else { mConfigFlagValues &= ~flagBitMask; } return ScopedAStatus::ok(); } ScopedAStatus BroadcastRadio::setParameters( Loading
broadcastradio/aidl/default/BroadcastRadio.h +3 −0 Original line number Diff line number Diff line Loading @@ -75,6 +75,9 @@ class BroadcastRadio final : public BnBroadcastRadio { ProgramSelector mCurrentProgram GUARDED_BY(mMutex) = {}; std::shared_ptr<ITunerCallback> mCallback GUARDED_BY(mMutex); // Bitmap for all ConfigFlag values int mConfigFlagValues GUARDED_BY(mMutex) = 0; std::optional<AmFmBandRange> getAmFmRangeLocked() const; void cancelLocked(); ProgramInfo tuneInternalLocked(const ProgramSelector& sel); Loading