Loading services/audioflinger/AudioFlinger.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -642,21 +642,22 @@ status_t AudioFlinger::openMmapStream(MmapStreamInterface::stream_direction_t di } /* static */ int AudioFlinger::onExternalVibrationStart(const sp<os::ExternalVibration>& externalVibration) { os::HapticScale AudioFlinger::onExternalVibrationStart( const sp<os::ExternalVibration>& externalVibration) { sp<os::IExternalVibratorService> evs = getExternalVibratorService(); if (evs != nullptr) { int32_t ret; binder::Status status = evs->onExternalVibrationStart(*externalVibration, &ret); if (status.isOk()) { ALOGD("%s, start external vibration with intensity as %d", __func__, ret); return ret; return os::ExternalVibration::externalVibrationScaleToHapticScale(ret); } } ALOGD("%s, start external vibration with intensity as MUTE due to %s", __func__, evs == nullptr ? "external vibration service not found" : "error when querying intensity"); return static_cast<int>(os::HapticScale::MUTE); return os::HapticScale::MUTE; } /* static */ Loading services/audioflinger/AudioFlinger.h +2 −1 Original line number Diff line number Diff line Loading @@ -320,7 +320,8 @@ public: sp<MmapStreamInterface>& interface, audio_port_handle_t *handle); static int onExternalVibrationStart(const sp<os::ExternalVibration>& externalVibration); static os::HapticScale onExternalVibrationStart( const sp<os::ExternalVibration>& externalVibration); static void onExternalVibrationStop(const sp<os::ExternalVibration>& externalVibration); status_t addEffectToHal(audio_port_handle_t deviceId, Loading services/audioflinger/Effects.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -1597,7 +1597,7 @@ bool AudioFlinger::EffectModule::isHapticGenerator() const { return isHapticGenerator(&mDescriptor.type); } status_t AudioFlinger::EffectModule::setHapticIntensity(int id, int intensity) status_t AudioFlinger::EffectModule::setHapticIntensity(int id, os::HapticScale intensity) { if (mStatus != NO_ERROR) { return mStatus; Loading @@ -1613,7 +1613,7 @@ status_t AudioFlinger::EffectModule::setHapticIntensity(int id, int intensity) param->vsize = sizeof(int32_t) * 2; *(int32_t*)param->data = HG_PARAM_HAPTIC_INTENSITY; *((int32_t*)param->data + 1) = id; *((int32_t*)param->data + 2) = intensity; *((int32_t*)param->data + 2) = static_cast<int32_t>(intensity); std::vector<uint8_t> response; status_t status = command(EFFECT_CMD_SET_PARAM, request, sizeof(int32_t), &response); if (status == NO_ERROR) { Loading Loading @@ -2676,7 +2676,7 @@ bool AudioFlinger::EffectChain::containsHapticGeneratingEffect_l() return false; } void AudioFlinger::EffectChain::setHapticIntensity_l(int id, int intensity) void AudioFlinger::EffectChain::setHapticIntensity_l(int id, os::HapticScale intensity) { Mutex::Autolock _l(mLock); for (size_t i = 0; i < mEffects.size(); ++i) { Loading services/audioflinger/Effects.h +2 −2 Original line number Diff line number Diff line Loading @@ -280,7 +280,7 @@ public: static bool isHapticGenerator(const effect_uuid_t* type); bool isHapticGenerator() const; status_t setHapticIntensity(int id, int intensity); status_t setHapticIntensity(int id, os::HapticScale intensity); status_t setVibratorInfo(const media::AudioVibratorInfo& vibratorInfo); status_t getConfigs(audio_config_base_t* inputCfg, Loading Loading @@ -550,7 +550,7 @@ public: bool containsHapticGeneratingEffect_l(); void setHapticIntensity_l(int id, int intensity); void setHapticIntensity_l(int id, os::HapticScale intensity); sp<EffectCallbackInterface> effectCallback() const { return mEffectCallback; } wp<ThreadBase> thread() const { return mEffectCallback->thread(); } Loading services/audioflinger/Threads.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -2742,7 +2742,7 @@ status_t AudioFlinger::PlaybackThread::addTrack_l(const sp<Track>& track) // Unlock due to VibratorService will lock for this call and will // call Tracks.mute/unmute which also require thread's lock. mLock.unlock(); const int intensity = AudioFlinger::onExternalVibrationStart( const os::HapticScale intensity = AudioFlinger::onExternalVibrationStart( track->getExternalVibration()); std::optional<media::AudioVibratorInfo> vibratorInfo; { Loading @@ -2752,7 +2752,7 @@ status_t AudioFlinger::PlaybackThread::addTrack_l(const sp<Track>& track) vibratorInfo = std::move(mAudioFlinger->getDefaultVibratorInfo_l()); } mLock.lock(); track->setHapticIntensity(static_cast<os::HapticScale>(intensity)); track->setHapticIntensity(intensity); if (vibratorInfo) { track->setHapticMaxAmplitude(vibratorInfo->maxAmplitude); } Loading Loading @@ -4497,7 +4497,7 @@ void AudioFlinger::PlaybackThread::removeTracks_l(const Vector< sp<Track> >& tra // When the track is stop, set the haptic intensity as MUTE // for the HapticGenerator effect. if (chain != nullptr) { chain->setHapticIntensity_l(track->id(), static_cast<int>(os::HapticScale::MUTE)); chain->setHapticIntensity_l(track->id(), os::HapticScale::MUTE); } } } Loading Loading
services/audioflinger/AudioFlinger.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -642,21 +642,22 @@ status_t AudioFlinger::openMmapStream(MmapStreamInterface::stream_direction_t di } /* static */ int AudioFlinger::onExternalVibrationStart(const sp<os::ExternalVibration>& externalVibration) { os::HapticScale AudioFlinger::onExternalVibrationStart( const sp<os::ExternalVibration>& externalVibration) { sp<os::IExternalVibratorService> evs = getExternalVibratorService(); if (evs != nullptr) { int32_t ret; binder::Status status = evs->onExternalVibrationStart(*externalVibration, &ret); if (status.isOk()) { ALOGD("%s, start external vibration with intensity as %d", __func__, ret); return ret; return os::ExternalVibration::externalVibrationScaleToHapticScale(ret); } } ALOGD("%s, start external vibration with intensity as MUTE due to %s", __func__, evs == nullptr ? "external vibration service not found" : "error when querying intensity"); return static_cast<int>(os::HapticScale::MUTE); return os::HapticScale::MUTE; } /* static */ Loading
services/audioflinger/AudioFlinger.h +2 −1 Original line number Diff line number Diff line Loading @@ -320,7 +320,8 @@ public: sp<MmapStreamInterface>& interface, audio_port_handle_t *handle); static int onExternalVibrationStart(const sp<os::ExternalVibration>& externalVibration); static os::HapticScale onExternalVibrationStart( const sp<os::ExternalVibration>& externalVibration); static void onExternalVibrationStop(const sp<os::ExternalVibration>& externalVibration); status_t addEffectToHal(audio_port_handle_t deviceId, Loading
services/audioflinger/Effects.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -1597,7 +1597,7 @@ bool AudioFlinger::EffectModule::isHapticGenerator() const { return isHapticGenerator(&mDescriptor.type); } status_t AudioFlinger::EffectModule::setHapticIntensity(int id, int intensity) status_t AudioFlinger::EffectModule::setHapticIntensity(int id, os::HapticScale intensity) { if (mStatus != NO_ERROR) { return mStatus; Loading @@ -1613,7 +1613,7 @@ status_t AudioFlinger::EffectModule::setHapticIntensity(int id, int intensity) param->vsize = sizeof(int32_t) * 2; *(int32_t*)param->data = HG_PARAM_HAPTIC_INTENSITY; *((int32_t*)param->data + 1) = id; *((int32_t*)param->data + 2) = intensity; *((int32_t*)param->data + 2) = static_cast<int32_t>(intensity); std::vector<uint8_t> response; status_t status = command(EFFECT_CMD_SET_PARAM, request, sizeof(int32_t), &response); if (status == NO_ERROR) { Loading Loading @@ -2676,7 +2676,7 @@ bool AudioFlinger::EffectChain::containsHapticGeneratingEffect_l() return false; } void AudioFlinger::EffectChain::setHapticIntensity_l(int id, int intensity) void AudioFlinger::EffectChain::setHapticIntensity_l(int id, os::HapticScale intensity) { Mutex::Autolock _l(mLock); for (size_t i = 0; i < mEffects.size(); ++i) { Loading
services/audioflinger/Effects.h +2 −2 Original line number Diff line number Diff line Loading @@ -280,7 +280,7 @@ public: static bool isHapticGenerator(const effect_uuid_t* type); bool isHapticGenerator() const; status_t setHapticIntensity(int id, int intensity); status_t setHapticIntensity(int id, os::HapticScale intensity); status_t setVibratorInfo(const media::AudioVibratorInfo& vibratorInfo); status_t getConfigs(audio_config_base_t* inputCfg, Loading Loading @@ -550,7 +550,7 @@ public: bool containsHapticGeneratingEffect_l(); void setHapticIntensity_l(int id, int intensity); void setHapticIntensity_l(int id, os::HapticScale intensity); sp<EffectCallbackInterface> effectCallback() const { return mEffectCallback; } wp<ThreadBase> thread() const { return mEffectCallback->thread(); } Loading
services/audioflinger/Threads.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -2742,7 +2742,7 @@ status_t AudioFlinger::PlaybackThread::addTrack_l(const sp<Track>& track) // Unlock due to VibratorService will lock for this call and will // call Tracks.mute/unmute which also require thread's lock. mLock.unlock(); const int intensity = AudioFlinger::onExternalVibrationStart( const os::HapticScale intensity = AudioFlinger::onExternalVibrationStart( track->getExternalVibration()); std::optional<media::AudioVibratorInfo> vibratorInfo; { Loading @@ -2752,7 +2752,7 @@ status_t AudioFlinger::PlaybackThread::addTrack_l(const sp<Track>& track) vibratorInfo = std::move(mAudioFlinger->getDefaultVibratorInfo_l()); } mLock.lock(); track->setHapticIntensity(static_cast<os::HapticScale>(intensity)); track->setHapticIntensity(intensity); if (vibratorInfo) { track->setHapticMaxAmplitude(vibratorInfo->maxAmplitude); } Loading Loading @@ -4497,7 +4497,7 @@ void AudioFlinger::PlaybackThread::removeTracks_l(const Vector< sp<Track> >& tra // When the track is stop, set the haptic intensity as MUTE // for the HapticGenerator effect. if (chain != nullptr) { chain->setHapticIntensity_l(track->id(), static_cast<int>(os::HapticScale::MUTE)); chain->setHapticIntensity_l(track->id(), os::HapticScale::MUTE); } } } Loading