Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 40f51ffe authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Implement config flag in default AIDL radio HAL" into main

parents ebb57064 3bd4d9b2
Loading
Loading
Loading
Loading
+13 −7
Original line number Diff line number Diff line
@@ -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(
+3 −0
Original line number Diff line number Diff line
@@ -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);