Revert "Audio CAP: Address ANAPIC comments, Part 3."
Revert submission 3341640-fix-b-364310317-fix-ANAPIC-comments-3
Reason for revert: Droidmonitor created revert due to b/380080376. Will be verifying through ABTD before submission.
Reverted changes: /q/submissionid:3341640-fix-b-364310317-fix-ANAPIC-comments-3
Change-Id: Id5a16b796187b9674395fef32deb068a1d7cf20c
diff --git a/services/audiopolicy/engineconfigurable/config/src/CapEngineConfig.cpp b/services/audiopolicy/engineconfigurable/config/src/CapEngineConfig.cpp
index b89fba0..b72e517 100644
--- a/services/audiopolicy/engineconfigurable/config/src/CapEngineConfig.cpp
+++ b/services/audiopolicy/engineconfigurable/config/src/CapEngineConfig.cpp
@@ -41,23 +41,21 @@
namespace android {
-using base::unexpected;
+using utilities::convertTo;
using media::audio::common::AudioDeviceAddress;
using media::audio::common::AudioDeviceDescription;
using media::audio::common::AudioHalCapCriterion;
-using media::audio::common::AudioHalCapCriterionV2;
using media::audio::common::AudioHalCapParameter;
using media::audio::common::AudioHalCapRule;
-using media::audio::common::AudioPolicyForceUse;
using media::audio::common::AudioSource;
using media::audio::common::AudioStreamType;
-using utilities::convertTo;
+using media::audio::common::AudioHalCapCriterionV2;
+using ::android::base::unexpected;
namespace capEngineConfig {
static constexpr const char *gLegacyOutputDevicePrefix = "AUDIO_DEVICE_OUT_";
static constexpr const char *gLegacyInputDevicePrefix = "AUDIO_DEVICE_IN_";
-static constexpr const char *gLegacyForcePrefix = "AUDIO_POLICY_FORCE_";
static constexpr const char *gLegacyStreamPrefix = "AUDIO_STREAM_";
static constexpr const char *gLegacySourcePrefix = "AUDIO_SOURCE_";
static constexpr const char *gPolicyParamPrefix = "/Policy/policy/";
@@ -85,134 +83,6 @@
return capName;
}
-ConversionResult<audio_policy_forced_cfg_t>
- aidl2legacy_AudioPolicyForceUseCommunicationDeviceCategory_audio_policy_forced_cfg_t(
- const AudioPolicyForceUse::CommunicationDeviceCategory aidl) {
- switch (aidl) {
- case AudioPolicyForceUse::CommunicationDeviceCategory::NONE:
- return AUDIO_POLICY_FORCE_NONE;
- case AudioPolicyForceUse::CommunicationDeviceCategory::SPEAKER:
- return AUDIO_POLICY_FORCE_SPEAKER;
- case AudioPolicyForceUse::CommunicationDeviceCategory::BT_SCO:
- return AUDIO_POLICY_FORCE_BT_SCO;
- case AudioPolicyForceUse::CommunicationDeviceCategory::BT_BLE:
- return AUDIO_POLICY_FORCE_BT_BLE;
- case AudioPolicyForceUse::CommunicationDeviceCategory::WIRED_ACCESSORY:
- return AUDIO_POLICY_FORCE_WIRED_ACCESSORY;
- }
- return unexpected(BAD_VALUE);
-}
-
-ConversionResult<audio_policy_forced_cfg_t>
- aidl2legacy_AudioPolicyForceUseMediaDeviceCategory_audio_policy_forced_cfg_t(
- const AudioPolicyForceUse::MediaDeviceCategory aidl) {
- switch (aidl) {
- case AudioPolicyForceUse::MediaDeviceCategory::NONE:
- return AUDIO_POLICY_FORCE_NONE;
- case AudioPolicyForceUse::MediaDeviceCategory::SPEAKER:
- return AUDIO_POLICY_FORCE_SPEAKER;
- case AudioPolicyForceUse::MediaDeviceCategory::HEADPHONES:
- return AUDIO_POLICY_FORCE_HEADPHONES;
- case AudioPolicyForceUse::MediaDeviceCategory::BT_A2DP:
- return AUDIO_POLICY_FORCE_BT_A2DP;
- case AudioPolicyForceUse::MediaDeviceCategory::ANALOG_DOCK:
- return AUDIO_POLICY_FORCE_ANALOG_DOCK;
- case AudioPolicyForceUse::MediaDeviceCategory::DIGITAL_DOCK:
- return AUDIO_POLICY_FORCE_DIGITAL_DOCK;
- case AudioPolicyForceUse::MediaDeviceCategory::WIRED_ACCESSORY:
- return AUDIO_POLICY_FORCE_WIRED_ACCESSORY;
- case AudioPolicyForceUse::MediaDeviceCategory::NO_BT_A2DP:
- return AUDIO_POLICY_FORCE_NO_BT_A2DP;
- }
- return unexpected(BAD_VALUE);
-}
-
-ConversionResult<audio_policy_forced_cfg_t>
- aidl2legacy_AudioPolicyForceUseDockType_audio_policy_forced_cfg_t(
- const AudioPolicyForceUse::DockType aidl) {
- switch (aidl) {
- case AudioPolicyForceUse::DockType::NONE:
- return AUDIO_POLICY_FORCE_NONE;
- case AudioPolicyForceUse::DockType::BT_CAR_DOCK:
- return AUDIO_POLICY_FORCE_BT_CAR_DOCK;
- case AudioPolicyForceUse::DockType::BT_DESK_DOCK:
- return AUDIO_POLICY_FORCE_BT_DESK_DOCK;
- case AudioPolicyForceUse::DockType::ANALOG_DOCK:
- return AUDIO_POLICY_FORCE_ANALOG_DOCK;
- case AudioPolicyForceUse::DockType::DIGITAL_DOCK:
- return AUDIO_POLICY_FORCE_DIGITAL_DOCK;
- case AudioPolicyForceUse::DockType::WIRED_ACCESSORY:
- return AUDIO_POLICY_FORCE_WIRED_ACCESSORY;
- }
- return unexpected(BAD_VALUE);
-}
-
-ConversionResult<audio_policy_forced_cfg_t>
- aidl2legacy_AudioPolicyForceUseEncodedSurroundConfig_audio_policy_forced_cfg_t(
- const AudioPolicyForceUse::EncodedSurroundConfig aidl) {
- switch (aidl) {
- case AudioPolicyForceUse::EncodedSurroundConfig::UNSPECIFIED:
- return AUDIO_POLICY_FORCE_NONE;
- case AudioPolicyForceUse::EncodedSurroundConfig::NEVER:
- return AUDIO_POLICY_FORCE_ENCODED_SURROUND_NEVER;
- case AudioPolicyForceUse::EncodedSurroundConfig::ALWAYS:
- return AUDIO_POLICY_FORCE_ENCODED_SURROUND_ALWAYS;
- case AudioPolicyForceUse::EncodedSurroundConfig::MANUAL:
- return AUDIO_POLICY_FORCE_ENCODED_SURROUND_MANUAL;
- }
- return unexpected(BAD_VALUE);
-}
-
-ConversionResult<std::pair<audio_policy_force_use_t, audio_policy_forced_cfg_t>>
- aidl2legacy_AudioPolicyForceUse_audio_policy_force_use_t_audio_policy_forced_cfg_t(
- const AudioPolicyForceUse& aidl) {
- switch (aidl.getTag()) {
- case AudioPolicyForceUse::forCommunication:
- return std::make_pair(
- AUDIO_POLICY_FORCE_FOR_COMMUNICATION,
- VALUE_OR_RETURN(
- aidl2legacy_AudioPolicyForceUseCommunicationDeviceCategory_audio_policy_forced_cfg_t(
- aidl.get<AudioPolicyForceUse::forCommunication>())));
- case AudioPolicyForceUse::forMedia:
- return std::make_pair(
- AUDIO_POLICY_FORCE_FOR_MEDIA,
- VALUE_OR_RETURN(
- aidl2legacy_AudioPolicyForceUseMediaDeviceCategory_audio_policy_forced_cfg_t(
- aidl.get<AudioPolicyForceUse::forMedia>())));
- case AudioPolicyForceUse::forRecord:
- return std::make_pair(
- AUDIO_POLICY_FORCE_FOR_RECORD,
- VALUE_OR_RETURN(
- aidl2legacy_AudioPolicyForceUseCommunicationDeviceCategory_audio_policy_forced_cfg_t(
- aidl.get<AudioPolicyForceUse::forRecord>())));
- case AudioPolicyForceUse::dock:
- return std::make_pair(AUDIO_POLICY_FORCE_FOR_DOCK,
- VALUE_OR_RETURN(
- aidl2legacy_AudioPolicyForceUseDockType_audio_policy_forced_cfg_t(
- aidl.get<AudioPolicyForceUse::dock>())));
- case AudioPolicyForceUse::systemSounds:
- return std::make_pair(AUDIO_POLICY_FORCE_FOR_SYSTEM,
- aidl.get<AudioPolicyForceUse::systemSounds>() ?
- AUDIO_POLICY_FORCE_SYSTEM_ENFORCED : AUDIO_POLICY_FORCE_NONE);
- case AudioPolicyForceUse::hdmiSystemAudio:
- return std::make_pair(
- AUDIO_POLICY_FORCE_FOR_HDMI_SYSTEM_AUDIO,
- aidl.get<AudioPolicyForceUse::hdmiSystemAudio>() ?
- AUDIO_POLICY_FORCE_HDMI_SYSTEM_AUDIO_ENFORCED : AUDIO_POLICY_FORCE_NONE);
- case AudioPolicyForceUse::encodedSurround:
- return std::make_pair(AUDIO_POLICY_FORCE_FOR_ENCODED_SURROUND, VALUE_OR_RETURN(
- aidl2legacy_AudioPolicyForceUseEncodedSurroundConfig_audio_policy_forced_cfg_t(
- aidl.get<AudioPolicyForceUse::encodedSurround>())));
- case AudioPolicyForceUse::forVibrateRinging:
- return std::make_pair(
- AUDIO_POLICY_FORCE_FOR_VIBRATE_RINGING,
- VALUE_OR_RETURN(
- aidl2legacy_AudioPolicyForceUseCommunicationDeviceCategory_audio_policy_forced_cfg_t(
- aidl.get<AudioPolicyForceUse::forVibrateRinging>())));
- }
- return unexpected(BAD_VALUE);
-}
-
ConversionResult<std::string> aidl2legacy_AudioHalCapCriterionV2_CapName(
const AudioHalCapCriterionV2& aidl) {
switch (aidl.getTag()) {
@@ -227,14 +97,14 @@
case AudioHalCapCriterionV2::telephonyMode:
return gPhoneStateCriterionName;
case AudioHalCapCriterionV2::forceConfigForUse: {
- auto aidlCriterion = aidl.get<AudioHalCapCriterionV2::forceConfigForUse>().values[0];
- const auto [forceUse, _] = VALUE_OR_RETURN(
- aidl2legacy_AudioPolicyForceUse_audio_policy_force_use_t_audio_policy_forced_cfg_t(
- aidlCriterion));
- return gForceUseCriterionTag[forceUse];
+ auto aidlCriterion = aidl.get<AudioHalCapCriterionV2::forceConfigForUse>();
+ return gForceUseCriterionTag[VALUE_OR_RETURN(
+ aidl2legacy_AudioPolicyForceUse_audio_policy_force_use_t(
+ aidlCriterion.forceUse))];
}
+ default:
+ return unexpected(BAD_VALUE);
}
- return unexpected(BAD_VALUE);
}
ConversionResult<std::string> aidl2legacy_AudioHalCapCriterionV2TypeDevice_CapCriterionValue(
@@ -251,32 +121,6 @@
isOut ? gLegacyOutputDevicePrefix : gLegacyInputDevicePrefix);
}
-ConversionResult<audio_policy_forced_cfg_t>
- aidl2legacy_AudioHalCapCriterionV2ForceUse_audio_policy_forced_cfg_t(
- const AudioPolicyForceUse& aidl) {
- const auto [_, legacyForcedCfg] = VALUE_OR_RETURN(
- aidl2legacy_AudioPolicyForceUse_audio_policy_force_use_t_audio_policy_forced_cfg_t(
- aidl));
- return legacyForcedCfg;
-}
-
-ConversionResult<std::string> audio_policy_forced_cfg_t_CapCriterionValue(
- audio_policy_forced_cfg_t legacyForcedCfg) {
- std::string legacyForcedCfgLiteral = audio_policy_forced_cfg_to_string(legacyForcedCfg);
- if (legacyForcedCfgLiteral.empty()) {
- ALOGE("%s Invalid forced config value %d", __func__, legacyForcedCfg);
- return unexpected(BAD_VALUE);
- }
- return truncatePrefix(legacyForcedCfgLiteral, gLegacyForcePrefix);
-}
-
-ConversionResult<std::string> aidl2legacy_AudioHalCapCriterionV2ForceUse_CapCriterionValue(
- const AudioPolicyForceUse& aidl) {
- const audio_policy_forced_cfg_t legacyForcedCfg = VALUE_OR_RETURN(
- aidl2legacy_AudioHalCapCriterionV2ForceUse_audio_policy_forced_cfg_t(aidl));
- return audio_policy_forced_cfg_t_CapCriterionValue(legacyForcedCfg);
-}
-
ConversionResult<std::string> aidl2legacy_AudioHalCapCriterionV2Type_CapCriterionValue(
const AudioHalCapCriterionV2& aidl) {
switch (aidl.getTag()) {
@@ -295,10 +139,10 @@
case AudioHalCapCriterionV2::telephonyMode:
return toString(aidl.get<AudioHalCapCriterionV2::telephonyMode>().values[0]);
case AudioHalCapCriterionV2::forceConfigForUse:
- return aidl2legacy_AudioHalCapCriterionV2ForceUse_CapCriterionValue(
- aidl.get<AudioHalCapCriterionV2::forceConfigForUse>().values[0]);
+ return toString(aidl.get<AudioHalCapCriterionV2::forceConfigForUse>().values[0]);
+ default:
+ return unexpected(BAD_VALUE);
}
- return unexpected(BAD_VALUE);
}
ConversionResult<std::string> aidl2legacy_AudioHalCapRule_CapRule(
@@ -487,28 +331,24 @@
engineConfig::Criterion& criterion = capCriterion.criterion;
engineConfig::CriterionType& criterionType = capCriterion.criterionType;
- auto loadForceUseCriterion = [](const auto& aidlCriterion, auto& criterion,
- auto& criterionType) -> status_t {
- if (aidlCriterion.values.empty()) {
- return BAD_VALUE;
- }
- const auto [legacyForceUse, _] = VALUE_OR_RETURN_STATUS(
- aidl2legacy_AudioPolicyForceUse_audio_policy_force_use_t_audio_policy_forced_cfg_t(
- aidlCriterion.values[0]));
+ auto loadForceUseCriterion = [](const auto &aidlCriterion, auto &criterion,
+ auto &criterionType) -> status_t {
+ uint32_t legacyForceUse = VALUE_OR_RETURN_STATUS(
+ aidl2legacy_AudioPolicyForceUse_audio_policy_force_use_t(
+ aidlCriterion.forceUse));
criterion.typeName = criterionType.name;
criterionType.name = criterion.typeName + gCriterionTypeSuffix;
criterionType.isInclusive =
(aidlCriterion.logic == AudioHalCapCriterionV2::LogicalDisjunction::INCLUSIVE);
criterion.name = gForceUseCriterionTag[legacyForceUse];
- criterion.defaultLiteralValue = toString(
- aidlCriterion.defaultValue.template get<AudioPolicyForceUse::forMedia>());
+ criterion.defaultLiteralValue = toString(aidlCriterion.defaultValue);
+ if (aidlCriterion.values.empty()) {
+ return BAD_VALUE;
+ }
for (auto &value : aidlCriterion.values) {
- const audio_policy_forced_cfg_t legacyForcedCfg = VALUE_OR_RETURN_STATUS(
- aidl2legacy_AudioHalCapCriterionV2ForceUse_audio_policy_forced_cfg_t(value));
- const std::string legacyForcedCfgLiteral = VALUE_OR_RETURN_STATUS(
- audio_policy_forced_cfg_t_CapCriterionValue(legacyForcedCfg));
- criterionType.valuePairs.push_back(
- {legacyForcedCfg, 0, legacyForcedCfgLiteral});
+ uint32_t legacyForcedConfig = VALUE_OR_RETURN_STATUS(
+ aidl2legacy_AudioPolicyForcedConfig_audio_policy_forced_cfg_t(value));
+ criterionType.valuePairs.push_back({legacyForcedConfig, 0, toString(value)});
}
return NO_ERROR;
};