Migrate forced config and for force use to android.media.audio.common.types
Bug: 307310023
Test: m
Change-Id: I58747a8591b3a990ca986143f470b49b4b438413
Signed-off-by: François Gaffie <francois.gaffie@ampere.cars>
diff --git a/audio/aidl/common/include/Utils.h b/audio/aidl/common/include/Utils.h
index dd216e5..74be3c4 100644
--- a/audio/aidl/common/include/Utils.h
+++ b/audio/aidl/common/include/Utils.h
@@ -29,6 +29,7 @@
#include <aidl/android/media/audio/common/AudioIoFlags.h>
#include <aidl/android/media/audio/common/AudioMode.h>
#include <aidl/android/media/audio/common/AudioOutputFlags.h>
+#include <aidl/android/media/audio/common/AudioPolicyForcedConfig.h>
#include <aidl/android/media/audio/common/PcmType.h>
#include <android/binder_auto_utils.h>
@@ -58,6 +59,31 @@
::aidl::android::media::audio::common::AudioMode::CALL_SCREEN,
};
+constexpr std::array<::aidl::android::media::audio::common::AudioPolicyForcedConfig, 17>
+ kValidAudioPolicyForcedConfig = {
+ ::aidl::android::media::audio::common::AudioPolicyForcedConfig::NONE,
+ ::aidl::android::media::audio::common::AudioPolicyForcedConfig::SPEAKER,
+ ::aidl::android::media::audio::common::AudioPolicyForcedConfig::HEADPHONES,
+ ::aidl::android::media::audio::common::AudioPolicyForcedConfig::BT_SCO,
+ ::aidl::android::media::audio::common::AudioPolicyForcedConfig::BT_A2DP,
+ ::aidl::android::media::audio::common::AudioPolicyForcedConfig::WIRED_ACCESSORY,
+ ::aidl::android::media::audio::common::AudioPolicyForcedConfig::BT_CAR_DOCK,
+ ::aidl::android::media::audio::common::AudioPolicyForcedConfig::BT_DESK_DOCK,
+ ::aidl::android::media::audio::common::AudioPolicyForcedConfig::ANALOG_DOCK,
+ ::aidl::android::media::audio::common::AudioPolicyForcedConfig::DIGITAL_DOCK,
+ ::aidl::android::media::audio::common::AudioPolicyForcedConfig::NO_BT_A2DP,
+ ::aidl::android::media::audio::common::AudioPolicyForcedConfig::SYSTEM_ENFORCED,
+ ::aidl::android::media::audio::common::AudioPolicyForcedConfig::
+ HDMI_SYSTEM_AUDIO_ENFORCED,
+ ::aidl::android::media::audio::common::AudioPolicyForcedConfig::
+ ENCODED_SURROUND_NEVER,
+ ::aidl::android::media::audio::common::AudioPolicyForcedConfig::
+ ENCODED_SURROUND_ALWAYS,
+ ::aidl::android::media::audio::common::AudioPolicyForcedConfig::
+ ENCODED_SURROUND_MANUAL,
+ ::aidl::android::media::audio::common::AudioPolicyForcedConfig::BT_BLE,
+};
+
constexpr size_t getPcmSampleSizeInBytes(::aidl::android::media::audio::common::PcmType pcm) {
using ::aidl::android::media::audio::common::PcmType;
switch (pcm) {
@@ -133,6 +159,12 @@
kValidAudioModes.end();
}
+constexpr bool isValidAudioPolicyForcedConfig(
+ ::aidl::android::media::audio::common::AudioPolicyForcedConfig config) {
+ return std::find(kValidAudioPolicyForcedConfig.begin(), kValidAudioPolicyForcedConfig.end(),
+ config) != kValidAudioPolicyForcedConfig.end();
+}
+
static inline bool maybeVendorExtension(const std::string& s) {
// Only checks whether the string starts with the "vendor prefix".
static const std::string vendorPrefix = "VX_";