Loading media/libaudioclient/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -348,6 +348,7 @@ aidl_interface { "aidl/android/media/AudioUniqueIdUse.aidl", "aidl/android/media/AudioUsage.aidl", "aidl/android/media/AudioUuid.aidl", "aidl/android/media/AudioVibratorInfo.aidl", "aidl/android/media/EffectDescriptor.aidl", "aidl/android/media/ExtraAudioDescriptor.aidl", ], Loading media/libaudioclient/AudioSystem.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -2258,6 +2258,15 @@ status_t AudioSystem::registerSoundTriggerCaptureStateListener( return NO_ERROR; } status_t AudioSystem::setVibratorInfos( const std::vector<media::AudioVibratorInfo>& vibratorInfos) { const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger(); if (af == nullptr) { return PERMISSION_DENIED; } return af->setVibratorInfos(vibratorInfos); } // --------------------------------------------------------------------------- int AudioSystem::AudioPolicyServiceClient::addAudioPortCallback( Loading media/libaudioclient/IAudioFlinger.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -733,6 +733,11 @@ status_t AudioFlingerClientAdapter::setAudioHalPids(const std::vector<pid_t>& pi return statusTFromBinderStatus(mDelegate->setAudioHalPids(pidsAidl)); } status_t AudioFlingerClientAdapter::setVibratorInfos( const std::vector<media::AudioVibratorInfo>& vibratorInfos) { return statusTFromBinderStatus(mDelegate->setVibratorInfos(vibratorInfos)); } //////////////////////////////////////////////////////////////////////////////////////////////////// // AudioFlingerServerAdapter Loading Loading @@ -1174,4 +1179,9 @@ Status AudioFlingerServerAdapter::setAudioHalPids(const std::vector<int32_t>& pi return Status::ok(); } Status AudioFlingerServerAdapter::setVibratorInfos( const std::vector<media::AudioVibratorInfo>& vibratorInfos) { return Status::fromStatusT(mDelegate->setVibratorInfos(vibratorInfos)); } } // namespace android media/libaudioclient/aidl/android/media/AudioVibratorInfo.aidl 0 → 100644 +27 −0 Original line number Diff line number Diff line /* * Copyright (C) 2021 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media; /** * {@hide} * A class for vibrator information. The information will be used in HapticGenerator effect. */ parcelable AudioVibratorInfo { int id; float resonantFrequency; float qFactor; } media/libaudioclient/aidl/android/media/IAudioFlingerService.aidl +5 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.media.AudioPortConfig; import android.media.AudioStreamType; import android.media.AudioUniqueIdUse; import android.media.AudioUuid; import android.media.AudioVibratorInfo; import android.media.CreateEffectRequest; import android.media.CreateEffectResponse; import android.media.CreateRecordRequest; Loading Loading @@ -202,4 +203,8 @@ interface IAudioFlingerService { MicrophoneInfoData[] getMicrophones(); void setAudioHalPids(in int[] /* pid_t[] */ pids); // Set vibrators' information. // The value will be used to initialize HapticGenerator. void setVibratorInfos(in AudioVibratorInfo[] vibratorInfos); } Loading
media/libaudioclient/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -348,6 +348,7 @@ aidl_interface { "aidl/android/media/AudioUniqueIdUse.aidl", "aidl/android/media/AudioUsage.aidl", "aidl/android/media/AudioUuid.aidl", "aidl/android/media/AudioVibratorInfo.aidl", "aidl/android/media/EffectDescriptor.aidl", "aidl/android/media/ExtraAudioDescriptor.aidl", ], Loading
media/libaudioclient/AudioSystem.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -2258,6 +2258,15 @@ status_t AudioSystem::registerSoundTriggerCaptureStateListener( return NO_ERROR; } status_t AudioSystem::setVibratorInfos( const std::vector<media::AudioVibratorInfo>& vibratorInfos) { const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger(); if (af == nullptr) { return PERMISSION_DENIED; } return af->setVibratorInfos(vibratorInfos); } // --------------------------------------------------------------------------- int AudioSystem::AudioPolicyServiceClient::addAudioPortCallback( Loading
media/libaudioclient/IAudioFlinger.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -733,6 +733,11 @@ status_t AudioFlingerClientAdapter::setAudioHalPids(const std::vector<pid_t>& pi return statusTFromBinderStatus(mDelegate->setAudioHalPids(pidsAidl)); } status_t AudioFlingerClientAdapter::setVibratorInfos( const std::vector<media::AudioVibratorInfo>& vibratorInfos) { return statusTFromBinderStatus(mDelegate->setVibratorInfos(vibratorInfos)); } //////////////////////////////////////////////////////////////////////////////////////////////////// // AudioFlingerServerAdapter Loading Loading @@ -1174,4 +1179,9 @@ Status AudioFlingerServerAdapter::setAudioHalPids(const std::vector<int32_t>& pi return Status::ok(); } Status AudioFlingerServerAdapter::setVibratorInfos( const std::vector<media::AudioVibratorInfo>& vibratorInfos) { return Status::fromStatusT(mDelegate->setVibratorInfos(vibratorInfos)); } } // namespace android
media/libaudioclient/aidl/android/media/AudioVibratorInfo.aidl 0 → 100644 +27 −0 Original line number Diff line number Diff line /* * Copyright (C) 2021 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media; /** * {@hide} * A class for vibrator information. The information will be used in HapticGenerator effect. */ parcelable AudioVibratorInfo { int id; float resonantFrequency; float qFactor; }
media/libaudioclient/aidl/android/media/IAudioFlingerService.aidl +5 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.media.AudioPortConfig; import android.media.AudioStreamType; import android.media.AudioUniqueIdUse; import android.media.AudioUuid; import android.media.AudioVibratorInfo; import android.media.CreateEffectRequest; import android.media.CreateEffectResponse; import android.media.CreateRecordRequest; Loading Loading @@ -202,4 +203,8 @@ interface IAudioFlingerService { MicrophoneInfoData[] getMicrophones(); void setAudioHalPids(in int[] /* pid_t[] */ pids); // Set vibrators' information. // The value will be used to initialize HapticGenerator. void setVibratorInfos(in AudioVibratorInfo[] vibratorInfos); }