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

Commit 0db56b3e authored by SPeak Shen's avatar SPeak Shen Committed by Jiabin Huang
Browse files

av: audioflinger: reduce duplicate code



reduce duplicate code

Test: TH
Bug: 260145070

Change-Id: I0d3600fc27ed64d6331222715ca5c3ee56e64c6a
Merged-In: I0d3600fc27ed64d6331222715ca5c3ee56e64c6a
Signed-off-by: default avatarSPeak Shen <speakshen@163.com>
parent 80cd30ae
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -310,6 +310,7 @@ protected:
        binder::Status unmute(/*out*/ bool *ret) override;
    private:
        Track* const mTrack;
        bool setMute(bool muted);
    };
    sp<AudioVibrationController> mAudioVibrationController;
    sp<os::ExternalVibration>    mExternalVibration;
+10 −17
Original line number Diff line number Diff line
@@ -1898,9 +1898,7 @@ void AudioFlinger::PlaybackThread::Track::updateTrackFrameInfo(
    }
}

binder::Status AudioFlinger::PlaybackThread::Track::AudioVibrationController::mute(
        /*out*/ bool *ret) {
    *ret = false;
bool AudioFlinger::PlaybackThread::Track::AudioVibrationController::setMute(bool muted) {
    sp<ThreadBase> thread = mTrack->mThread.promote();
    if (thread != 0) {
        // Lock for updating mHapticPlaybackEnabled.
@@ -1908,27 +1906,22 @@ binder::Status AudioFlinger::PlaybackThread::Track::AudioVibrationController::mu
        PlaybackThread *playbackThread = (PlaybackThread *)thread.get();
        if ((mTrack->channelMask() & AUDIO_CHANNEL_HAPTIC_ALL) != AUDIO_CHANNEL_NONE
                && playbackThread->mHapticChannelCount > 0) {
            mTrack->setHapticPlaybackEnabled(false);
            *ret = true;
            mTrack->setHapticPlaybackEnabled(!muted);
            return true;
        }
    }
    return false;
}

binder::Status AudioFlinger::PlaybackThread::Track::AudioVibrationController::mute(
        /*out*/ bool *ret) {
    *ret = setMute(true);
    return binder::Status::ok();
}

binder::Status AudioFlinger::PlaybackThread::Track::AudioVibrationController::unmute(
        /*out*/ bool *ret) {
    *ret = false;
    sp<ThreadBase> thread = mTrack->mThread.promote();
    if (thread != 0) {
        // Lock for updating mHapticPlaybackEnabled.
        Mutex::Autolock _l(thread->mLock);
        PlaybackThread *playbackThread = (PlaybackThread *)thread.get();
        if ((mTrack->channelMask() & AUDIO_CHANNEL_HAPTIC_ALL) != AUDIO_CHANNEL_NONE
                && playbackThread->mHapticChannelCount > 0) {
            mTrack->setHapticPlaybackEnabled(true);
            *ret = true;
        }
    }
    *ret = setMute(false);
    return binder::Status::ok();
}