diff options
63 files changed, 20495 insertions, 2 deletions
diff --git a/services/audiopolicy/Android.mk b/services/audiopolicy/Android.mk index d4ce86a..5b38e1c 100644 --- a/services/audiopolicy/Android.mk +++ b/services/audiopolicy/Android.mk @@ -64,8 +64,23 @@ LOCAL_SHARED_LIBRARIES := \ liblog \ libsoundtrigger +ifeq ($(USE_CONFIGURABLE_AUDIO_POLICY), 1) + +LOCAL_REQUIRED_MODULES := \ + parameter-framework.policy \ + audio_policy_criteria.conf \ + +LOCAL_C_INCLUDES += \ + $(TOPDIR)frameworks/av/services/audiopolicy/engineconfigurable/include \ + +LOCAL_SHARED_LIBRARIES += libaudiopolicyengineconfigurable + +else + LOCAL_SHARED_LIBRARIES += libaudiopolicyenginedefault +endif + LOCAL_C_INCLUDES += \ $(TOPDIR)frameworks/av/services/audiopolicy/common/include \ $(TOPDIR)frameworks/av/services/audiopolicy/engine/interface \ diff --git a/services/audiopolicy/engine/interface/AudioPolicyManagerInterface.h b/services/audiopolicy/engine/interface/AudioPolicyManagerInterface.h index db0573f..e73e543 100755 --- a/services/audiopolicy/engine/interface/AudioPolicyManagerInterface.h +++ b/services/audiopolicy/engine/interface/AudioPolicyManagerInterface.h @@ -107,8 +107,8 @@ public: * @param[in] usage for which a configuration shall be forced. * @param[in] config wished to be forced for the given usage. * - * @return NO_ERROR if the Force Use config was set correctly, error code otherwise (e.g. config not - * allowed a given usage...) + * @return NO_ERROR if the Force Use config was set correctly, error code otherwise (e.g. config + * not allowed a given usage...) */ virtual status_t setForceUse(audio_policy_force_use_t usage, audio_policy_forced_cfg_t config) = 0; diff --git a/services/audiopolicy/engineconfigurable/Android.mk b/services/audiopolicy/engineconfigurable/Android.mk new file mode 100755 index 0000000..b18c520 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/Android.mk @@ -0,0 +1,59 @@ +ifeq ($(USE_CONFIGURABLE_AUDIO_POLICY), 1) + +LOCAL_PATH := $(call my-dir) + +# Component build +####################################################################### + +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + src/Engine.cpp \ + src/EngineInstance.cpp \ + src/Stream.cpp \ + src/Strategy.cpp \ + src/Usage.cpp \ + src/InputSource.cpp \ + +audio_policy_engine_includes_common := \ + $(TOPDIR)frameworks/av/services/audiopolicy/engineconfigurable/include \ + $(TOPDIR)frameworks/av/services/audiopolicy/engineconfigurable/interface \ + $(TOPDIR)frameworks/av/services/audiopolicy/engine/interface + +LOCAL_CFLAGS += \ + -Wall \ + -Werror \ + -Wextra \ + +LOCAL_EXPORT_C_INCLUDE_DIRS := \ + $(audio_policy_engine_includes_common) + +LOCAL_C_INCLUDES := \ + $(audio_policy_engine_includes_common) \ + $(TARGET_OUT_HEADERS)/hw \ + $(call include-path-for, frameworks-av) \ + $(call include-path-for, audio-utils) \ + $(TOPDIR)frameworks/av/services/audiopolicy/common/include + + +LOCAL_MODULE := libaudiopolicyengineconfigurable +LOCAL_MODULE_TAGS := optional +LOCAL_STATIC_LIBRARIES := \ + libmedia_helper \ + libaudiopolicypfwwrapper \ + libaudiopolicycomponents + +LOCAL_SHARED_LIBRARIES := \ + libcutils \ + libutils \ + libaudioutils \ + libparameter + +include $(BUILD_SHARED_LIBRARY) + +####################################################################### +# Recursive call sub-folder Android.mk +# +include $(call all-makefiles-under,$(LOCAL_PATH)) + +endif diff --git a/services/audiopolicy/engineconfigurable/include/AudioPolicyEngineInstance.h b/services/audiopolicy/engineconfigurable/include/AudioPolicyEngineInstance.h new file mode 100755 index 0000000..6c4be2c --- /dev/null +++ b/services/audiopolicy/engineconfigurable/include/AudioPolicyEngineInstance.h @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +class AudioPolicyManagerInterface; +class AudioPolicyPluginInterface; + +namespace android +{ +namespace audio_policy +{ + +class Engine; + +class EngineInstance +{ +protected: + EngineInstance(); + +public: + virtual ~EngineInstance(); + + /** + * Get Audio Policy Engine instance. + * + * @return pointer to Route Manager Instance object. + */ + static EngineInstance *getInstance(); + + /** + * Interface query. + * The first client of an interface of the policy engine will start the singleton. + * + * @tparam RequestedInterface: interface that the client is wishing to retrieve. + * + * @return interface handle. + */ + template <class RequestedInterface> + RequestedInterface *queryInterface() const; + +protected: + /** + * Get Audio Policy Engine instance. + * + * @return Audio Policy Engine singleton. + */ + Engine *getEngine() const; + +private: + /* Copy facilities are put private to disable copy. */ + EngineInstance(const EngineInstance &object); + EngineInstance &operator=(const EngineInstance &object); +}; + +/** + * Limit template instantation to supported type interfaces. + * Compile time error will claim if invalid interface is requested. + */ +template <> +AudioPolicyManagerInterface *EngineInstance::queryInterface() const; + +template <> +AudioPolicyPluginInterface *EngineInstance::queryInterface() const; + +}; // namespace audio_policy + +}; // namespace android diff --git a/services/audiopolicy/engineconfigurable/include/EngineDefinition.h b/services/audiopolicy/engineconfigurable/include/EngineDefinition.h new file mode 100755 index 0000000..54d8db5 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/include/EngineDefinition.h @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +#include <Volume.h> +#include <vector> + +typedef std::vector<VolumeCurvePoint> VolumeCurvePoints; diff --git a/services/audiopolicy/engineconfigurable/interface/AudioPolicyPluginInterface.h b/services/audiopolicy/engineconfigurable/interface/AudioPolicyPluginInterface.h new file mode 100755 index 0000000..74daba5 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/interface/AudioPolicyPluginInterface.h @@ -0,0 +1,147 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +#include <RoutingStrategy.h> +#include <EngineDefinition.h> +#include <Volume.h> +#include <system/audio.h> +#include <utils/Errors.h> +#include <string> +#include <vector> + +namespace android { + +/** + * This interface allows the parameter plugin to: + * - instantiate all the members of the policy engine (strategies, input sources, usages, profiles) + * - keep up to date the attributes of these policy members ( i.e. devices to be used for a + * strategy, strategy to be followed by a usage or a stream, ...) + */ +class AudioPolicyPluginInterface +{ +public: + /** + * Add a strategy to the engine + * + * @param[in] name of the strategy to add + * @param[in] identifier: the numerical value associated to this member. It MUST match either + * system/audio.h or system/audio_policy.h enumration value in order to link the + * parameter controled by the PFW and the policy manager component. + * + * @return NO_ERROR if the strategy has been added successfully, error code otherwise. + * + */ + virtual android::status_t addStrategy(const std::string &name, routing_strategy id) = 0; + + /** + * Add a streams to the engine. + * + * @param[in] name of the stream to add + * @param[in] identifier: the numerical value associated to this member. It MUST match either + * system/audio.h or system/audio_policy.h enumration value in order to link the + * parameter controled by the PFW and the policy manager component. + * + * @return NO_ERROR if the stream has been added successfully, error code otherwise. + * + */ + virtual android::status_t addStream(const std::string &name, audio_stream_type_t id) = 0; + + /** + * Add a usage to the engine + * + * @param[in] name of the usage to add + * @param[in] identifier: the numerical value associated to this member. It MUST match either + * system/audio.h or system/audio_policy.h enumration value in order to link the + * parameter controled by the PFW and the policy manager component. + * + * @return NO_ERROR if the usage has been added successfully, error code otherwise. + * + */ + virtual android::status_t addUsage(const std::string &name, audio_usage_t id) = 0; + + /** + * Add an input source to the engine + * + * @param[in] name of the input source to add + * @param[in] identifier: the numerical value associated to this member. It MUST match either + * system/audio.h or system/audio_policy.h enumration value in order to link the + * parameter controled by the PFW and the policy manager component. + * + * @return NO_ERROR if the input source has been added successfully, error code otherwise. + * + */ + virtual android::status_t addInputSource(const std::string &name, audio_source_t id) = 0; + + /** + * Set the device to be used by a strategy. + * + * @param[in] strategy: name of the strategy for which the device to use has to be set + * @param[in] devices; mask of devices to be used for the given strategy. + * + * @return true if the devices were set correclty for this strategy, false otherwise. + */ + virtual bool setDeviceForStrategy(const routing_strategy &strategy, audio_devices_t devices) = 0; + + /** + * Set the strategy to be followed by a stream. + * + * @param[in] stream: name of the stream for which the strategy to use has to be set + * @param[in] strategy to follow for the given stream. + * + * @return true if the strategy were set correclty for this stream, false otherwise. + */ + virtual bool setStrategyForStream(const audio_stream_type_t &stream, routing_strategy strategy) = 0; + + /** + * Set the strategy to be followed by a stream. + * + * @param[in] stream: name of the stream for which the strategy to use has to be set + * @param[in] strategy to follow for the given stream. + * + * @return true if the strategy were set correclty for this stream, false otherwise. + */ + virtual bool setVolumeProfileForStream(const audio_stream_type_t &stream, + Volume::device_category category, + const VolumeCurvePoints &points) = 0; + + /** + * Set the strategy to be followed by a usage. + * + * @param[in] usage: name of the usage for which the strategy to use has to be set + * @param[in] strategy to follow for the given usage. + * + * @return true if the strategy were set correclty for this usage, false otherwise. + */ + virtual bool setStrategyForUsage(const audio_usage_t &usage, routing_strategy strategy) = 0; + + /** + * Set the input device to be used by an input source. + * + * @param[in] inputSource: name of the input source for which the device to use has to be set + * @param[in] devices; mask of devices to be used for the given input source. + * + * @return true if the devices were set correclty for this input source, false otherwise. + */ + virtual bool setDeviceForInputSource(const audio_source_t &inputSource, + audio_devices_t device) = 0; + +protected: + virtual ~AudioPolicyPluginInterface() {} +}; + +}; // namespace android diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/Android.mk b/services/audiopolicy/engineconfigurable/parameter-framework/Android.mk new file mode 100644 index 0000000..c402fd5 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/Android.mk @@ -0,0 +1,7 @@ +LOCAL_PATH := $(call my-dir) + +####################################################################### +# Recursive call sub-folder Android.mk +####################################################################### + +include $(call all-makefiles-under,$(LOCAL_PATH)) diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Android.mk b/services/audiopolicy/engineconfigurable/parameter-framework/example/Android.mk new file mode 100644 index 0000000..e9b1902 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Android.mk @@ -0,0 +1,105 @@ +################################################################################################ +# +# @NOTE: +# Audio Policy Engine configurable example for generic device build +# +# Any vendor shall have its own configuration within the corresponding device folder +# +################################################################################################ + + +LOCAL_PATH := $(call my-dir) + +PFW_CORE := external/parameter-framework +BUILD_PFW_SETTINGS := $(PFW_CORE)/support/android/build_pfw_settings.mk +PFW_DEFAULT_SCHEMAS_DIR := $(PFW_CORE)/Schemas +PFW_SCHEMAS_DIR := $(PFW_DEFAULT_SCHEMAS_DIR) + +################################################################## +# CONFIGURATION FILES +################################################################## +######### Policy PFW top level file ######### + +include $(CLEAR_VARS) +LOCAL_MODULE := ParameterFrameworkConfigurationPolicy.xml +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/parameter-framework +LOCAL_SRC_FILES := $(LOCAL_MODULE) +include $(BUILD_PREBUILT) + + +########## Policy PFW Structures ######### + +include $(CLEAR_VARS) +LOCAL_MODULE := PolicyClass.xml +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/parameter-framework/Structure/Policy +LOCAL_SRC_FILES := Structure/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := PolicySubsystem.xml +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_REQUIRED_MODULES := \ + PolicySubsystem-CommonTypes.xml \ + PolicySubsystem-Volume.xml \ + libpolicy-subsystem \ + +LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/parameter-framework/Structure/Policy +LOCAL_SRC_FILES := Structure/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := PolicySubsystem-CommonTypes.xml +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/parameter-framework/Structure/Policy +LOCAL_SRC_FILES := Structure/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := PolicySubsystem-Volume.xml +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/parameter-framework/Structure/Policy +LOCAL_SRC_FILES := Structure/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +######### Policy PFW Settings ######### +include $(CLEAR_VARS) +LOCAL_MODULE := parameter-framework.policy +LOCAL_MODULE_STEM := PolicyConfigurableDomains.xml +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework/Settings/Policy +LOCAL_ADDITIONAL_DEPENDENCIES := \ + PolicyClass.xml \ + PolicySubsystem.xml \ + ParameterFrameworkConfigurationPolicy.xml + +ifeq ($(pfw_rebuild_settings),true) +PFW_TOPLEVEL_FILE := $(TARGET_OUT_ETC)/parameter-framework/ParameterFrameworkConfigurationPolicy.xml +PFW_CRITERIA_FILE := $(LOCAL_PATH)/policy_criteria.txt +PFW_EDD_FILES := \ + $(LOCAL_PATH)/Settings/device_for_strategy_media.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_phone.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_sonification.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_sonification_respectful.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_dtmf.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_enforced_audible.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_transmitted_through_speaker.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_accessibility.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_rerouting.pfw \ + $(LOCAL_PATH)/Settings/strategy_for_stream.pfw \ + $(LOCAL_PATH)/Settings/strategy_for_usage.pfw \ + $(LOCAL_PATH)/Settings/device_for_input_source.pfw \ + $(LOCAL_PATH)/Settings/volumes.pfw + +include $(BUILD_PFW_SETTINGS) +else +# Use the existing file +LOCAL_SRC_FILES := Settings/$(LOCAL_MODULE_STEM) +include $(BUILD_PREBUILT) +endif # pfw_rebuild_settings diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/ParameterFrameworkConfigurationPolicy.xml b/services/audiopolicy/engineconfigurable/parameter-framework/example/ParameterFrameworkConfigurationPolicy.xml new file mode 100755 index 0000000..6905201 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/ParameterFrameworkConfigurationPolicy.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ParameterFrameworkConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="Schemas/ParameterFrameworkConfiguration.xsd" + SystemClassName="Policy" ServerPort="5019" TuningAllowed="true"> + + <SubsystemPlugins> + <Location Folder=""> + <Plugin Name="libpolicy-subsystem.so"/> + </Location> + </SubsystemPlugins> + <StructureDescriptionFileLocation Path="Structure/Policy/PolicyClass.xml"/> + <SettingsConfiguration> + <ConfigurableDomainsFileLocation Path="Settings/Policy/PolicyConfigurableDomains.xml"/> + </SettingsConfiguration> +</ParameterFrameworkConfiguration> diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/README.md b/services/audiopolicy/engineconfigurable/parameter-framework/example/README.md new file mode 100644 index 0000000..92668e1 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/README.md @@ -0,0 +1,11 @@ +Configurable Policy Engine Example +================================ + +This folder exposes a generic functional configurable policy engine configuration files +to provide to have a product following the nexus experience. + +A vendor wishing to customize the behavior shall provides its own set of configuration files +within the device folder for the product to customize. + +For any question about the parameter framework and configuration files, +See [the wiki on github](https://github.com/01org/parameter-framework/wiki). diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/PolicyConfigurableDomains.xml b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/PolicyConfigurableDomains.xml new file mode 100644 index 0000000..8cb0723 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/PolicyConfigurableDomains.xml @@ -0,0 +1,11298 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- #### DO NOT EDIT THIS FILE #### --> +<ConfigurableDomains xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Schemas/ConfigurableDomains.xsd" SystemClassName="Policy"> + <ConfigurableDomain Name="DeviceForStrategy.Media.UnreachableDevices" SequenceAware="false"> + <Configurations> + <Configuration Name="Calibration"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/fm"/> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/speaker_safe"/> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/earpiece"/> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_sco"/> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_sco_carkit"/> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/telephony_tx"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Calibration"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.Media.Device2" SequenceAware="false"> + <Configurations> + <Configuration Name="RemoteSubmix"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="RemoteSubmix"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dp"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dp"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dpHeadphone"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dpHeadphones"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dpSpeaker"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dpSpeaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="ForceSpeaker"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="Is" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Speaker"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForHdmiSystemAudio" MatchesWhen="IsNot" Value="ForceHdmiSystemEnforced"/> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadphone"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="WiredHeadphone"/> + </CompoundRule> + </Configuration> + <Configuration Name="Line"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Line"/> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="WiredHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="UsbAccessory"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="UsbAccessory"/> + </CompoundRule> + </Configuration> + <Configuration Name="UsbDevice"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="UsbDevice"/> + </CompoundRule> + </Configuration> + <Configuration Name="DgtlDockHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="DgtlDockHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="AuxDigital"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Hdmi"/> + </CompoundRule> + </Configuration> + <Configuration Name="AnlgDockHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="AnlgDockHeadset"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForDock" MatchesWhen="Is" Value="ForceAnalogDock"/> + </CompoundRule> + </Configuration> + <Configuration Name="Speaker"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Speaker"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForHdmiSystemAudio" MatchesWhen="IsNot" Value="ForceHdmiSystemEnforced"/> + </CompoundRule> + </Configuration> + <Configuration Name="Default"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/speaker"/> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi"/> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/angl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headphone"/> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_speaker"/> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_headphones"/> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/line"/> + </ConfigurableElements> + <Settings> + <Configuration Name="RemoteSubmix"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dp"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dpHeadphone"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dpSpeaker"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="ForceSpeaker"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadphone"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Line"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/line"> + <BitParameter Name="line">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbAccessory"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbDevice"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="DgtlDockHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="AuxDigital"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="AnlgDockHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Speaker"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Default"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.Media.Arc" SequenceAware="false"> + <Configurations> + <Configuration Name="Selected"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="HdmiArc"/> + </CompoundRule> + </Configuration> + <Configuration Name="NotSelected"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi_arc"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Selected"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi_arc"> + <BitParameter Name="hdmi_arc">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="NotSelected"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi_arc"> + <BitParameter Name="hdmi_arc">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.Media.Spdif" SequenceAware="false"> + <Configurations> + <Configuration Name="Selected"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Spdif"/> + </CompoundRule> + </Configuration> + <Configuration Name="NotSelected"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/spdif"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Selected"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/spdif"> + <BitParameter Name="spdif">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="NotSelected"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.Media.AuxLine" SequenceAware="false"> + <Configurations> + <Configuration Name="Selected"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="AuxLine"/> + </CompoundRule> + </Configuration> + <Configuration Name="NotSelected"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/aux_line"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Selected"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/aux_line"> + <BitParameter Name="aux_line">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="NotSelected"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/aux_line"> + <BitParameter Name="aux_line">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.Phone.UnreachableDevices" SequenceAware="false"> + <Configurations> + <Configuration Name="Calibration"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi_arc"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/aux_line"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/spdif"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/fm"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker_safe"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Calibration"> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi_arc"> + <BitParameter Name="hdmi_arc">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/aux_line"> + <BitParameter Name="aux_line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.Phone.Device" SequenceAware="false"> + <Configurations> + <Configuration Name="ScoCarkit"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothScoCarkit"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceBtSco"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothScoHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothScoHeadset"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceBtSco"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothSco"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothSco"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceBtSco"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dp"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dp"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceBtSco"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceNone"/> + </CompoundRule> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dpHeadphones"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dpHeadphones"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceBtSco"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceNone"/> + </CompoundRule> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dpSpeaker"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dpSpeaker"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceSpeaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadphone"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="WiredHeadphone"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="WiredHeadset"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="UsbDevice"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="UsbDevice"/> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceBtSco"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceNone"/> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="UsbAccessory"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + </CompoundRule> + </CompoundRule> + </CompoundRule> + </Configuration> + <Configuration Name="UsbAccessory"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="UsbAccessory"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + </CompoundRule> + </Configuration> + <Configuration Name="DgtlDockHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="DgtlDockHeadset"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + </CompoundRule> + </Configuration> + <Configuration Name="Hdmi"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Hdmi"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + </CompoundRule> + </Configuration> + <Configuration Name="AnlgDockHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="AnlgDockHeadset"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + </CompoundRule> + </Configuration> + <Configuration Name="Earpiece"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Earpiece"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="Line"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Line"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceSpeaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="Speaker"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Speaker"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceSpeaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="Default"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/earpiece"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headphone"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_carkit"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_headphones"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_speaker"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/angl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/telephony_tx"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/line"/> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker"/> + </ConfigurableElements> + <Settings> + <Configuration Name="ScoCarkit"> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothScoHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothSco"> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dp"> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dpHeadphones"> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dpSpeaker"> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadphone"> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbDevice"> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbAccessory"> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="DgtlDockHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Hdmi"> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="AnlgDockHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Earpiece"> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Line"> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/line"> + <BitParameter Name="line">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Speaker"> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Default"> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/phone/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.Sonification.UnreachableDevices" SequenceAware="false"> + <Configurations> + <Configuration Name="Calibration"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/hdmi_arc"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/spdif"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/fm"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/speaker_safe"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/aux_line"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/hdmi"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Calibration"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/hdmi_arc"> + <BitParameter Name="hdmi_arc">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/aux_line"> + <BitParameter Name="aux_line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.Sonification.Speaker" SequenceAware="false"> + <Configurations> + <Configuration Name="Selected"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Speaker"/> + <CompoundRule Type="Any"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + </CompoundRule> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceSpeaker"/> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="Line"/> + </CompoundRule> + </CompoundRule> + </CompoundRule> + </Configuration> + <Configuration Name="NotSelected"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/speaker"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Selected"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="NotSelected"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.Sonification.Device2" SequenceAware="false"> + <Configurations> + <Configuration Name="BluetoothA2dp"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dp"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dpHeadphones"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dpHeadphones"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dpSpeaker"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dpSpeaker"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + </CompoundRule> + </Configuration> + <Configuration Name="ScoCarkit"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceBtSco"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothScoCarkit"/> + </CompoundRule> + </Configuration> + <Configuration Name="ScoHeadset"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceBtSco"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothScoHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="Sco"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceBtSco"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothSco"/> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadphone"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="WiredHeadphone"/> + <CompoundRule Type="Any"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + </CompoundRule> + </CompoundRule> + </Configuration> + <Configuration Name="Line"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Line"/> + <CompoundRule Type="Any"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceSpeaker"/> + </CompoundRule> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + </CompoundRule> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="WiredHeadset"/> + <CompoundRule Type="Any"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + </CompoundRule> + </CompoundRule> + </Configuration> + <Configuration Name="UsbDevice"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="UsbDevice"/> + <CompoundRule Type="Any"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="UsbAccessory"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + </CompoundRule> + </CompoundRule> + </Configuration> + <Configuration Name="UsbAccessory"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="UsbAccessory"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="DgtlDockHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="DgtlDockHeadset"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="AnlgDockHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="AnlgDockHeadset"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForDock" MatchesWhen="Is" Value="ForceAnalogDock"/> + </CompoundRule> + </Configuration> + <Configuration Name="Earpiece"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="IsNot" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Earpiece"/> + </CompoundRule> + </Configuration> + <Configuration Name="None"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/earpiece"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headphone"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_carkit"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_headphones"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_speaker"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/angl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/telephony_tx"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/line"/> + </ConfigurableElements> + <Settings> + <Configuration Name="BluetoothA2dp"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dpHeadphones"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dpSpeaker"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="ScoCarkit"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="ScoHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Sco"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadphone"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Line"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/line"> + <BitParameter Name="line">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbDevice"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbAccessory"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="DgtlDockHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="AnlgDockHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Earpiece"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="None"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.SonificationRespectful.UnreachableDevices" SequenceAware="false"> + <Configurations> + <Configuration Name="Calibration"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi_arc"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/aux_line"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/spdif"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/fm"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/telephony_tx"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Calibration"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi_arc"> + <BitParameter Name="hdmi_arc">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/aux_line"> + <BitParameter Name="aux_line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.SonificationRespectful.Speakers" SequenceAware="false"> + <Configurations> + <Configuration Name="SpeakerSafe"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Speaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="SpeakerSafe"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + </CompoundRule> + </Configuration> + <Configuration Name="Speaker"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Speaker"/> + <CompoundRule Type="Any"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + </CompoundRule> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceSpeaker"/> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="Line"/> + </CompoundRule> + </CompoundRule> + </CompoundRule> + </Configuration> + <Configuration Name="None"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/speaker_safe"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/speaker"/> + </ConfigurableElements> + <Settings> + <Configuration Name="SpeakerSafe"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Speaker"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="None"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.SonificationRespectful.Device2" SequenceAware="false"> + <Configurations> + <Configuration Name="BluetoothA2dp"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="Is" Value="ForceNoBtA2dp"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dp"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dpHeadphones"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="Is" Value="ForceNoBtA2dp"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dpHeadphones"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dpSpeaker"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="Is" Value="ForceNoBtA2dp"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dpSpeaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothScoCarkit"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceBtSco"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothScoCarkit"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothScoHeadset"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceBtSco"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothScoHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothSco"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceBtSco"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothSco"/> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadphone"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="WiredHeadphone"/> + </CompoundRule> + </Configuration> + <Configuration Name="LineWhenFollowMediaStrategy"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="WiredHeadphone"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadset"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="WiredHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="UsbDevice"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="UsbAccessory"/> + </CompoundRule> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="UsbDevice"/> + </CompoundRule> + </Configuration> + <Configuration Name="UsbAccessory"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="UsbAccessory"/> + </CompoundRule> + </Configuration> + <Configuration Name="DgtlDockHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="DgtlDockHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="AuxDigital"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Hdmi"/> + </CompoundRule> + </Configuration> + <Configuration Name="AnlgDockHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForDock" MatchesWhen="Is" Value="ForceAnalogDock"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="AnlgDockHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="Earpiece"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="IsNot" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Earpiece"/> + </CompoundRule> + </Configuration> + <Configuration Name="Line"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Line"/> + </CompoundRule> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/earpiece"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_carkit"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_headphones"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_speaker"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headphone"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/line"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/angl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi"/> + </ConfigurableElements> + <Settings> + <Configuration Name="BluetoothA2dp"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dpHeadphones"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dpSpeaker"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothScoCarkit"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothScoHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothSco"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadphone"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="LineWhenFollowMediaStrategy"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/line"> + <BitParameter Name="line">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbDevice"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbAccessory"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="DgtlDockHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="AuxDigital"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="AnlgDockHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Earpiece"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Line"> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/line"> + <BitParameter Name="line">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/sonification_respectful/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.Dtmf.UnreachableDevices" SequenceAware="false"> + <Configurations> + <Configuration Name="Calibration"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/fm"/> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker_safe"/> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_carkit"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Calibration"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.Dtmf.Device2" SequenceAware="false"> + <Configurations> + <Configuration Name="RemoteSubmix"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="RemoteSubmix"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dp"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dp"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dpHeadphones"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dpHeadphones"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dpSpeaker"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dpSpeaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="ForceSpeakerWhenNotInCall"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="Is" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForHdmiSystemAudio" MatchesWhen="IsNot" Value="ForceHdmiSystemEnforced"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Speaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothScoHeadset"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothScoHeadset"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceBtSco"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothSco"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothSco"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceBtSco"/> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadphone"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + </CompoundRule> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="WiredHeadphone"/> + </CompoundRule> + </Configuration> + <Configuration Name="LineWhenFollowingMedia"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Line"/> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadset"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + </CompoundRule> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="WiredHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="UsbDevice"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="UsbAccessory"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceSpeaker"/> + </CompoundRule> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="UsbDevice"/> + </CompoundRule> + </Configuration> + <Configuration Name="UsbAccessory"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="UsbAccessory"/> + </CompoundRule> + </Configuration> + <Configuration Name="DgtlDockHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="DgtlDockHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="Hdmi"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Hdmi"/> + </CompoundRule> + </Configuration> + <Configuration Name="AnlgDockHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForDock" MatchesWhen="Is" Value="ForceAnalogDock"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="AnlgDockHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="Earpiece"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Earpiece"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="IsNot" Value="ForceSpeaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="LineWhenFallThroughPhone"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Line"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceSpeaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="Speaker"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <CompoundRule Type="All"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceSpeaker"/> + </CompoundRule> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForHdmiSystemAudio" MatchesWhen="IsNot" Value="ForceHdmiSystemEnforced"/> + </CompoundRule> + </CompoundRule> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Speaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="Default"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"/> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"/> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"/> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"/> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"/> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"/> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"/> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"/> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"/> + </ConfigurableElements> + <Settings> + <Configuration Name="RemoteSubmix"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dp"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dpHeadphones"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dpSpeaker"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="ForceSpeakerWhenNotInCall"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothScoHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothSco"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadphone"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="LineWhenFollowingMedia"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbDevice"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbAccessory"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="DgtlDockHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Hdmi"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="AnlgDockHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Earpiece"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="LineWhenFallThroughPhone"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Speaker"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Default"> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/dtmf/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.Dtmf.Arc" SequenceAware="false"> + <Configurations> + <Configuration Name="Selected"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="HdmiArc"/> + </CompoundRule> + </Configuration> + <Configuration Name="NotSelected"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi_arc"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Selected"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi_arc"> + <BitParameter Name="hdmi_arc">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="NotSelected"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/hdmi_arc"> + <BitParameter Name="hdmi_arc">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.Dtmf.Spdif" SequenceAware="false"> + <Configurations> + <Configuration Name="Selected"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Spdif"/> + </CompoundRule> + </Configuration> + <Configuration Name="NotSelected"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/spdif"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Selected"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/spdif"> + <BitParameter Name="spdif">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="NotSelected"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.Dtmf.AuxLine" SequenceAware="false"> + <Configurations> + <Configuration Name="Selected"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="AuxLine"/> + </CompoundRule> + </Configuration> + <Configuration Name="NotSelected"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/aux_line"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Selected"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/aux_line"> + <BitParameter Name="aux_line">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="NotSelected"> + <ConfigurableElement Path="/Policy/policy/strategies/media/selected_output_devices/mask/aux_line"> + <BitParameter Name="aux_line">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.EnforcedAudible.UnreachableDevices" SequenceAware="false"> + <Configurations> + <Configuration Name="Calibration"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/hdmi_arc"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/spdif"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/aux_line"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/speaker_safe"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Calibration"> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/hdmi_arc"> + <BitParameter Name="hdmi_arc">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/aux_line"> + <BitParameter Name="aux_line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.EnforcedAudible.Speaker" SequenceAware="false"> + <Configurations> + <Configuration Name="Selected"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Speaker"/> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="ForceUseForSystem" MatchesWhen="Is" Value="ForceSystemEnforced"/> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="Is" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="RemoteSubmix"/> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="BluetoothA2dp"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="BluetoothA2dpHeadphones"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="BluetoothA2dpSpeaker"/> + </CompoundRule> + </CompoundRule> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="RemoteSubmix"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="WiredHeadphone"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="Line"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="WiredHeadset"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="UsbAccessory"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="UsbDevice"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="DgtlDockHeadset"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="Hdmi"/> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="AnlgDockHeadset"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForDock" MatchesWhen="IsNot" Value="ForceAnalogDock"/> + </CompoundRule> + </CompoundRule> + </CompoundRule> + </CompoundRule> + </Configuration> + <Configuration Name="NotSelected"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/speaker"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Selected"> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="NotSelected"> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.EnforcedAudible.Device2" SequenceAware="false"> + <Configurations> + <Configuration Name="RemoteSubmix"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="RemoteSubmix"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dp"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dp"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dpHeadphones"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dpHeadphones"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dpSpeaker"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dpSpeaker"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadphone"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="WiredHeadphone"/> + </CompoundRule> + </Configuration> + <Configuration Name="Line"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Line"/> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="WiredHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="UsbAccessory"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="UsbAccessory"/> + </CompoundRule> + </Configuration> + <Configuration Name="UsbDevice"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="UsbDevice"/> + </CompoundRule> + </Configuration> + <Configuration Name="DgtlDockHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="DgtlDockHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="Hdmi"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Hdmi"/> + </CompoundRule> + </Configuration> + <Configuration Name="AnlgDockHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForDock" MatchesWhen="Is" Value="ForceAnalogDock"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="AnlgDockHeadset"/> + </CompoundRule> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/earpiece"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headphone"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_carkit"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_headphones"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_speaker"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/hdmi"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/angl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/telephony_tx"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/line"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/fm"/> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/speaker_safe"/> + </ConfigurableElements> + <Settings> + <Configuration Name="RemoteSubmix"> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dp"> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dpHeadphones"> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dpSpeaker"> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadphone"> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Line"> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/line"> + <BitParameter Name="line">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbAccessory"> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbDevice"> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="DgtlDockHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Hdmi"> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="AnlgDockHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/enforced_audible/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.TransmittedThroughSpeaker.UnreacheableDevices" SequenceAware="false"> + <Configurations> + <Configuration Name="Calibration"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/hdmi_arc"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/spdif"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/aux_line"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/fm"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/speaker_safe"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/earpiece"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/wired_headphone"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/bluetooth_sco"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/bluetooth_sco_carkit"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/bluetooth_a2dp_headphones"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/bluetooth_a2dp_speaker"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/hdmi"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/angl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/telephony_tx"/> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/line"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Calibration"> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/hdmi_arc"> + <BitParameter Name="hdmi_arc">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/aux_line"> + <BitParameter Name="aux_line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.TransmittedThroughSpeaker.Speaker" SequenceAware="false"> + <Configurations> + <Configuration Name="Selected"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Speaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="NotSelected"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/speaker"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Selected"> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="NotSelected"> + <ConfigurableElement Path="/Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.Accessibility.UnreachableDevices" SequenceAware="false"> + <Configurations> + <Configuration Name="Calibration"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/hdmi_arc"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/spdif"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/aux_line"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/fm"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker_safe"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/earpiece"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_sco"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_sco_carkit"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/telephony_tx"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Calibration"> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/hdmi_arc"> + <BitParameter Name="hdmi_arc">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/aux_line"> + <BitParameter Name="aux_line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.Accessibility.Device2" SequenceAware="false"> + <Configurations> + <Configuration Name="RemoteSubmix"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="RemoteSubmix"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dp"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dp"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dpHeadphone"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dpHeadphones"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dpSpeaker"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dpSpeaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="ForceSpeaker"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="Is" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Speaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadphone"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="WiredHeadphone"/> + </CompoundRule> + </Configuration> + <Configuration Name="Line"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Line"/> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="WiredHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="UsbAccessory"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="UsbAccessory"/> + </CompoundRule> + </Configuration> + <Configuration Name="UsbDevice"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="UsbDevice"/> + </CompoundRule> + </Configuration> + <Configuration Name="DgtlDockHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="DgtlDockHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="AuxDigital"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Hdmi"/> + </CompoundRule> + </Configuration> + <Configuration Name="AnlgDockHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="AnlgDockHeadset"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForDock" MatchesWhen="Is" Value="ForceAnalogDock"/> + </CompoundRule> + </Configuration> + <Configuration Name="Speaker"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Speaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="Default"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_headphones"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_speaker"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headphone"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/line"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/angl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/hdmi"/> + </ConfigurableElements> + <Settings> + <Configuration Name="RemoteSubmix"> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dp"> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dpHeadphone"> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dpSpeaker"> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="ForceSpeaker"> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadphone"> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Line"> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/line"> + <BitParameter Name="line">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbAccessory"> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbDevice"> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="DgtlDockHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="AuxDigital"> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="AnlgDockHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Speaker"> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Default"> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.Rerouting.UnreachableDevices" SequenceAware="false"> + <Configurations> + <Configuration Name="Calibration"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/hdmi_arc"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/spdif"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/aux_line"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/fm"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/speaker_safe"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/earpiece"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_sco"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_sco_carkit"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/telephony_tx"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Calibration"> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/hdmi_arc"> + <BitParameter Name="hdmi_arc">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/aux_line"> + <BitParameter Name="aux_line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/fm"> + <BitParameter Name="fm">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/speaker_safe"> + <BitParameter Name="speaker_safe">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/earpiece"> + <BitParameter Name="earpiece">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_sco"> + <BitParameter Name="bluetooth_sco">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_sco_carkit"> + <BitParameter Name="bluetooth_sco_carkit">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/telephony_tx"> + <BitParameter Name="telephony_tx">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForStrategy.Rerouting.Device2" SequenceAware="false"> + <Configurations> + <Configuration Name="RemoteSubmix"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="RemoteSubmix"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dp"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dp"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dpHeadphone"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dpHeadphones"/> + </CompoundRule> + </Configuration> + <Configuration Name="BluetoothA2dpSpeaker"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dpSpeaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="ForceSpeaker"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="Is" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Speaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadphone"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="WiredHeadphone"/> + </CompoundRule> + </Configuration> + <Configuration Name="Line"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Line"/> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="WiredHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="UsbAccessory"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="UsbAccessory"/> + </CompoundRule> + </Configuration> + <Configuration Name="UsbDevice"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="UsbDevice"/> + </CompoundRule> + </Configuration> + <Configuration Name="DgtlDockHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="DgtlDockHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="AuxDigital"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Hdmi"/> + </CompoundRule> + </Configuration> + <Configuration Name="AnlgDockHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="AnlgDockHeadset"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForDock" MatchesWhen="Is" Value="ForceAnalogDock"/> + </CompoundRule> + </Configuration> + <Configuration Name="Speaker"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Speaker"/> + </CompoundRule> + </Configuration> + <Configuration Name="Default"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_headphones"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_speaker"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/speaker"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headphone"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/line"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/angl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/hdmi"/> + </ConfigurableElements> + <Settings> + <Configuration Name="RemoteSubmix"> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dp"> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dpHeadphone"> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BluetoothA2dpSpeaker"> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="ForceSpeaker"> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadphone"> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Line"> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/line"> + <BitParameter Name="line">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbAccessory"> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbDevice"> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="DgtlDockHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="AuxDigital"> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="AnlgDockHeadset"> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Speaker"> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Default"> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_headphones"> + <BitParameter Name="bluetooth_a2dp_headphones">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/bluetooth_a2dp_speaker"> + <BitParameter Name="bluetooth_a2dp_speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/speaker"> + <BitParameter Name="speaker">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/wired_headphone"> + <BitParameter Name="wired_headphone">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/angl_dock_headset"> + <BitParameter Name="angl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/strategies/rerouting/selected_output_devices/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="StrategyForStream" SequenceAware="false"> + <Configurations> + <Configuration Name="Calibration"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/streams/system/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/streams/music/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/applicable_strategy/strategy"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Calibration"> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/applicable_strategy/strategy"> + <EnumParameter Name="strategy">phone</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/applicable_strategy/strategy"> + <EnumParameter Name="strategy">media</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/applicable_strategy/strategy"> + <EnumParameter Name="strategy">sonification</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/applicable_strategy/strategy"> + <EnumParameter Name="strategy">media</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/applicable_strategy/strategy"> + <EnumParameter Name="strategy">sonification</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/applicable_strategy/strategy"> + <EnumParameter Name="strategy">sonification_respectful</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/applicable_strategy/strategy"> + <EnumParameter Name="strategy">phone</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/applicable_strategy/strategy"> + <EnumParameter Name="strategy">enforced_audible</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/applicable_strategy/strategy"> + <EnumParameter Name="strategy">dtmf</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/applicable_strategy/strategy"> + <EnumParameter Name="strategy">transmitted_through_speaker</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/applicable_strategy/strategy"> + <EnumParameter Name="strategy">accessibility</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/applicable_strategy/strategy"> + <EnumParameter Name="strategy">rerouting</EnumParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="SelectedStrategyForUsages.Calibration" SequenceAware="false"> + <Configurations> + <Configuration Name="Calibration"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/usages/unknown/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/usages/media/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/usages/voice_communication/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/usages/voice_communication_signalling/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/usages/alarm/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/usages/notification/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/usages/notification_telephony_ringtone/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/usages/notification_communication_request/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/usages/notification_communication_instant/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/usages/notification_communication_delayed/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/usages/notification_event/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/usages/assistance_navigation_guidance/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/usages/assistance_sonification/applicable_strategy/strategy"/> + <ConfigurableElement Path="/Policy/policy/usages/game/applicable_strategy/strategy"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Calibration"> + <ConfigurableElement Path="/Policy/policy/usages/unknown/applicable_strategy/strategy"> + <EnumParameter Name="strategy">media</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/usages/media/applicable_strategy/strategy"> + <EnumParameter Name="strategy">media</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/usages/voice_communication/applicable_strategy/strategy"> + <EnumParameter Name="strategy">phone</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/usages/voice_communication_signalling/applicable_strategy/strategy"> + <EnumParameter Name="strategy">dtmf</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/usages/alarm/applicable_strategy/strategy"> + <EnumParameter Name="strategy">sonification</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/usages/notification/applicable_strategy/strategy"> + <EnumParameter Name="strategy">sonification_respectful</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/usages/notification_telephony_ringtone/applicable_strategy/strategy"> + <EnumParameter Name="strategy">sonification</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/usages/notification_communication_request/applicable_strategy/strategy"> + <EnumParameter Name="strategy">sonification_respectful</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/usages/notification_communication_instant/applicable_strategy/strategy"> + <EnumParameter Name="strategy">sonification_respectful</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/usages/notification_communication_delayed/applicable_strategy/strategy"> + <EnumParameter Name="strategy">sonification_respectful</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/usages/notification_event/applicable_strategy/strategy"> + <EnumParameter Name="strategy">sonification_respectful</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/usages/assistance_navigation_guidance/applicable_strategy/strategy"> + <EnumParameter Name="strategy">media</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/usages/assistance_sonification/applicable_strategy/strategy"> + <EnumParameter Name="strategy">media</EnumParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/usages/game/applicable_strategy/strategy"> + <EnumParameter Name="strategy">media</EnumParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="SelectedStrategyForUsages.AssistanceAccessibility" SequenceAware="false"> + <Configurations> + <Configuration Name="Sonification"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="RingTone"/> + </CompoundRule> + </Configuration> + <Configuration Name="Phone"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + </Configuration> + <Configuration Name="Accessibility"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/usages/assistance_accessibility/applicable_strategy/strategy"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Sonification"> + <ConfigurableElement Path="/Policy/policy/usages/assistance_accessibility/applicable_strategy/strategy"> + <EnumParameter Name="strategy">sonification</EnumParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Phone"> + <ConfigurableElement Path="/Policy/policy/usages/assistance_accessibility/applicable_strategy/strategy"> + <EnumParameter Name="strategy">phone</EnumParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Accessibility"> + <ConfigurableElement Path="/Policy/policy/usages/assistance_accessibility/applicable_strategy/strategy"> + <EnumParameter Name="strategy">accessibility</EnumParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForInputSource.Calibration" SequenceAware="false"> + <Configurations> + <Configuration Name="Calibration"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/in"/> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/communication"/> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/ambient"/> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/hdmi"/> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/telephony_rx"/> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/back_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/anlg_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/fm_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/tv_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/line"/> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/spdif"/> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/loopback"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/in"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/communication"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/ambient"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/hdmi"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/telephony_rx"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/back_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/anlg_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/fm_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/tv_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/line"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/spdif"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/loopback"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/in"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/communication"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/ambient"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/builtin_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/hdmi"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/back_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/anlg_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/fm_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/tv_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/line"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/spdif"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/loopback"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/in"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/communication"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/ambient"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/builtin_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/hdmi"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/back_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/anlg_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/fm_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/tv_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/line"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/spdif"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/loopback"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/in"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/communication"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/ambient"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/builtin_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/hdmi"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/back_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/anlg_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/fm_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/tv_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/line"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/spdif"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/loopback"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/in"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/communication"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/ambient"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/hdmi"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/telephony_rx"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/anlg_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/fm_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/tv_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/line"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/spdif"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/loopback"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/in"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/communication"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/ambient"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/hdmi"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/telephony_rx"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/back_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/anlg_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/fm_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/tv_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/line"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/spdif"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/loopback"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/in"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/communication"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/ambient"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/hdmi"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/telephony_rx"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/anlg_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/fm_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/tv_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/line"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/spdif"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/loopback"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/in"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/communication"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/ambient"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/builtin_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/hdmi"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/telephony_rx"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/back_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/anlg_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/fm_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/tv_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/line"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/spdif"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/loopback"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/in"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/communication"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/ambient"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/hdmi"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/telephony_rx"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/back_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/anlg_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/fm_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/tv_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/line"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/spdif"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/loopback"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/in"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/communication"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/ambient"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/hdmi"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/telephony_rx"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/builtin_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/back_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/remote_submix"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/anlg_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/dgtl_dock_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/usb_accessory"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/fm_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/tv_tuner"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/line"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/spdif"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/loopback"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Calibration"> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/in"> + <BitParameter Name="in">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/communication"> + <BitParameter Name="communication">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/ambient"> + <BitParameter Name="ambient">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/telephony_rx"> + <BitParameter Name="telephony_rx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/back_mic"> + <BitParameter Name="back_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/anlg_dock_headset"> + <BitParameter Name="anlg_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/fm_tuner"> + <BitParameter Name="fm_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/tv_tuner"> + <BitParameter Name="tv_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/loopback"> + <BitParameter Name="loopback">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/in"> + <BitParameter Name="in">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/communication"> + <BitParameter Name="communication">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/ambient"> + <BitParameter Name="ambient">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/telephony_rx"> + <BitParameter Name="telephony_rx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/back_mic"> + <BitParameter Name="back_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/anlg_dock_headset"> + <BitParameter Name="anlg_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/fm_tuner"> + <BitParameter Name="fm_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/tv_tuner"> + <BitParameter Name="tv_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/loopback"> + <BitParameter Name="loopback">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/in"> + <BitParameter Name="in">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/communication"> + <BitParameter Name="communication">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/ambient"> + <BitParameter Name="ambient">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/back_mic"> + <BitParameter Name="back_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/anlg_dock_headset"> + <BitParameter Name="anlg_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/fm_tuner"> + <BitParameter Name="fm_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/tv_tuner"> + <BitParameter Name="tv_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/loopback"> + <BitParameter Name="loopback">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/in"> + <BitParameter Name="in">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/communication"> + <BitParameter Name="communication">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/ambient"> + <BitParameter Name="ambient">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/back_mic"> + <BitParameter Name="back_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/anlg_dock_headset"> + <BitParameter Name="anlg_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/fm_tuner"> + <BitParameter Name="fm_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/tv_tuner"> + <BitParameter Name="tv_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/loopback"> + <BitParameter Name="loopback">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/in"> + <BitParameter Name="in">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/communication"> + <BitParameter Name="communication">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/ambient"> + <BitParameter Name="ambient">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/back_mic"> + <BitParameter Name="back_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/anlg_dock_headset"> + <BitParameter Name="anlg_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/fm_tuner"> + <BitParameter Name="fm_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/tv_tuner"> + <BitParameter Name="tv_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/loopback"> + <BitParameter Name="loopback">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/in"> + <BitParameter Name="in">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/communication"> + <BitParameter Name="communication">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/ambient"> + <BitParameter Name="ambient">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/telephony_rx"> + <BitParameter Name="telephony_rx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/anlg_dock_headset"> + <BitParameter Name="anlg_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/fm_tuner"> + <BitParameter Name="fm_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/tv_tuner"> + <BitParameter Name="tv_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/loopback"> + <BitParameter Name="loopback">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/in"> + <BitParameter Name="in">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/communication"> + <BitParameter Name="communication">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/ambient"> + <BitParameter Name="ambient">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/telephony_rx"> + <BitParameter Name="telephony_rx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/back_mic"> + <BitParameter Name="back_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/anlg_dock_headset"> + <BitParameter Name="anlg_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/fm_tuner"> + <BitParameter Name="fm_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/tv_tuner"> + <BitParameter Name="tv_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/loopback"> + <BitParameter Name="loopback">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/in"> + <BitParameter Name="in">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/communication"> + <BitParameter Name="communication">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/ambient"> + <BitParameter Name="ambient">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/telephony_rx"> + <BitParameter Name="telephony_rx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/anlg_dock_headset"> + <BitParameter Name="anlg_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/fm_tuner"> + <BitParameter Name="fm_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/tv_tuner"> + <BitParameter Name="tv_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/loopback"> + <BitParameter Name="loopback">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/in"> + <BitParameter Name="in">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/communication"> + <BitParameter Name="communication">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/ambient"> + <BitParameter Name="ambient">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/telephony_rx"> + <BitParameter Name="telephony_rx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/back_mic"> + <BitParameter Name="back_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/anlg_dock_headset"> + <BitParameter Name="anlg_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/fm_tuner"> + <BitParameter Name="fm_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/tv_tuner"> + <BitParameter Name="tv_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/loopback"> + <BitParameter Name="loopback">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/in"> + <BitParameter Name="in">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/communication"> + <BitParameter Name="communication">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/ambient"> + <BitParameter Name="ambient">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/telephony_rx"> + <BitParameter Name="telephony_rx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/back_mic"> + <BitParameter Name="back_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/anlg_dock_headset"> + <BitParameter Name="anlg_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/fm_tuner"> + <BitParameter Name="fm_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/tv_tuner"> + <BitParameter Name="tv_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/loopback"> + <BitParameter Name="loopback">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/in"> + <BitParameter Name="in">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/communication"> + <BitParameter Name="communication">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/ambient"> + <BitParameter Name="ambient">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/hdmi"> + <BitParameter Name="hdmi">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/telephony_rx"> + <BitParameter Name="telephony_rx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/back_mic"> + <BitParameter Name="back_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/anlg_dock_headset"> + <BitParameter Name="anlg_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/dgtl_dock_headset"> + <BitParameter Name="dgtl_dock_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/usb_accessory"> + <BitParameter Name="usb_accessory">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/fm_tuner"> + <BitParameter Name="fm_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/tv_tuner"> + <BitParameter Name="tv_tuner">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/line"> + <BitParameter Name="line">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/spdif"> + <BitParameter Name="spdif">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/loopback"> + <BitParameter Name="loopback">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForInputSource.DefaultAndMic" SequenceAware="false"> + <Configurations> + <Configuration Name="A2dp"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="BluetoothA2dp"/> + </CompoundRule> + </Configuration> + <Configuration Name="Sco"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="BluetoothScoHeadset"/> + <SelectionCriterionRule SelectionCriterion="ForceUseForRecord" MatchesWhen="Is" Value="ForceBtSco"/> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="WiredHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="UsbDevice"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="UsbDevice"/> + </CompoundRule> + </Configuration> + <Configuration Name="BuiltinMic"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="BuiltinMic"/> + </CompoundRule> + </Configuration> + <Configuration Name="Default"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/builtin_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/bluetooth_a2dp"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/builtin_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/bluetooth_sco_headset"/> + </ConfigurableElements> + <Settings> + <Configuration Name="A2dp"> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Sco"> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadset"> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbDevice"> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BuiltinMic"> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Default"> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/default/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/bluetooth_a2dp"> + <BitParameter Name="bluetooth_a2dp">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/mic/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForInputSource.VoiceUplinkAndVoiceDownlinkAndVoiceCall" SequenceAware="false"> + <Configurations> + <Configuration Name="VoiceCall"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="TelephonyRx"/> + </CompoundRule> + </Configuration> + <Configuration Name="Default"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/telephony_rx"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/telephony_rx"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/telephony_rx"/> + </ConfigurableElements> + <Settings> + <Configuration Name="VoiceCall"> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/telephony_rx"> + <BitParameter Name="telephony_rx">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/telephony_rx"> + <BitParameter Name="telephony_rx">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/telephony_rx"> + <BitParameter Name="telephony_rx">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Default"> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_downlink/applicable_input_device/mask/telephony_rx"> + <BitParameter Name="telephony_rx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_call/applicable_input_device/mask/telephony_rx"> + <BitParameter Name="telephony_rx">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_uplink/applicable_input_device/mask/telephony_rx"> + <BitParameter Name="telephony_rx">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForInputSource.Camcorder" SequenceAware="false"> + <Configurations> + <Configuration Name="BackMic"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="BackMic"/> + </CompoundRule> + </Configuration> + <Configuration Name="BuiltinMic"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="BuiltinMic"/> + </CompoundRule> + </Configuration> + <Configuration Name="Default"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/back_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/builtin_mic"/> + </ConfigurableElements> + <Settings> + <Configuration Name="BackMic"> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/back_mic"> + <BitParameter Name="back_mic">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BuiltinMic"> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/back_mic"> + <BitParameter Name="back_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Default"> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/back_mic"> + <BitParameter Name="back_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/camcorder/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForInputSource.VoiceRecognitionAndHotword" SequenceAware="false"> + <Configurations> + <Configuration Name="ScoHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForRecord" MatchesWhen="Is" Value="ForceBtSco"/> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="BluetoothScoHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="WiredHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="UsbDevice"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="UsbDevice"/> + </CompoundRule> + </Configuration> + <Configuration Name="BuiltinMic"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="BuiltinMic"/> + </CompoundRule> + </Configuration> + <Configuration Name="Default"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/builtin_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/builtin_mic"/> + </ConfigurableElements> + <Settings> + <Configuration Name="ScoHeadset"> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadset"> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbDevice"> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BuiltinMic"> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Default"> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_recognition/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/hotword/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForInputSource.VoiceCommunication" SequenceAware="false"> + <Configurations> + <Configuration Name="ScoHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceBtSco"/> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="BluetoothScoHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="WiredHeadset"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceNone"/> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="WiredHeadset"/> + </CompoundRule> + </Configuration> + <Configuration Name="UsbDevice"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceNone"/> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="UsbDevice"/> + </CompoundRule> + </Configuration> + <Configuration Name="BuiltinMic"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="BuiltinMic"/> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceNone"/> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Excludes" Value="BackMic"/> + </CompoundRule> + </CompoundRule> + </CompoundRule> + </Configuration> + <Configuration Name="BackMic"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceSpeaker"/> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="BackMic"/> + </CompoundRule> + </Configuration> + <Configuration Name="Default"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/bluetooth_sco_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/wired_headset"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/usb_device"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/builtin_mic"/> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/back_mic"/> + </ConfigurableElements> + <Settings> + <Configuration Name="ScoHeadset"> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/back_mic"> + <BitParameter Name="back_mic">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="WiredHeadset"> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/back_mic"> + <BitParameter Name="back_mic">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="UsbDevice"> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/back_mic"> + <BitParameter Name="back_mic">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BuiltinMic"> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">1</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/back_mic"> + <BitParameter Name="back_mic">0</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="BackMic"> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/back_mic"> + <BitParameter Name="back_mic">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Default"> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/bluetooth_sco_headset"> + <BitParameter Name="bluetooth_sco_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/wired_headset"> + <BitParameter Name="wired_headset">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/usb_device"> + <BitParameter Name="usb_device">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/builtin_mic"> + <BitParameter Name="builtin_mic">0</BitParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/input_sources/voice_communication/applicable_input_device/mask/back_mic"> + <BitParameter Name="back_mic">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForInputSource.RemoteSubmix" SequenceAware="false"> + <Configurations> + <Configuration Name="RemoteSubmix"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="RemoteSubmix"/> + </CompoundRule> + </Configuration> + <Configuration Name="Default"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/remote_submix"/> + </ConfigurableElements> + <Settings> + <Configuration Name="RemoteSubmix"> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/remote_submix"> + <BitParameter Name="remote_submix">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Default"> + <ConfigurableElement Path="/Policy/policy/input_sources/remote_submix/applicable_input_device/mask/remote_submix"> + <BitParameter Name="remote_submix">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="DeviceForInputSource.FmTuner" SequenceAware="false"> + <Configurations> + <Configuration Name="FmTuner"> + <CompoundRule Type="All"> + <SelectionCriterionRule SelectionCriterion="AvailableInputDevices" MatchesWhen="Includes" Value="FmTuner"/> + </CompoundRule> + </Configuration> + <Configuration Name="Default"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/fm_tuner"/> + </ConfigurableElements> + <Settings> + <Configuration Name="FmTuner"> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/fm_tuner"> + <BitParameter Name="fm_tuner">1</BitParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="Default"> + <ConfigurableElement Path="/Policy/policy/input_sources/fm_tuner/applicable_input_device/mask/fm_tuner"> + <BitParameter Name="fm_tuner">0</BitParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="VolumeProfilesForStream.Calibration" SequenceAware="false"> + <Configurations> + <Configuration Name="Calibration"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/headset_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/headset_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/headset_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/headset_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/headset_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/headset_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/headset_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/headset_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/speaker_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/speaker_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/speaker_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/speaker_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/earpiece_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/earpiece_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/earpiece_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/earpiece_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/extmedia_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/extmedia_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/extmedia_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/extmedia_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/headset_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/headset_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/headset_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/headset_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/headset_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/headset_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/headset_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/headset_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/speaker_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/speaker_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/speaker_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/speaker_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/earpiece_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/earpiece_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/earpiece_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/earpiece_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/extmedia_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/extmedia_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/extmedia_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/extmedia_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/headset_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/headset_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/headset_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/headset_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/headset_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/headset_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/headset_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/headset_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/speaker_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/speaker_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/speaker_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/speaker_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/earpiece_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/earpiece_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/earpiece_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/earpiece_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/extmedia_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/extmedia_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/extmedia_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/extmedia_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/headset_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/headset_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/headset_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/headset_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/headset_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/headset_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/headset_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/headset_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/speaker_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/speaker_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/speaker_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/speaker_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/earpiece_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/earpiece_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/earpiece_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/earpiece_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/extmedia_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/extmedia_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/extmedia_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/extmedia_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/headset_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/headset_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/headset_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/headset_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/headset_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/headset_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/headset_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/headset_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/speaker_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/speaker_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/speaker_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/speaker_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/earpiece_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/earpiece_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/earpiece_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/earpiece_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/extmedia_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/extmedia_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/extmedia_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/extmedia_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/headset_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/headset_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/headset_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/headset_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/headset_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/headset_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/headset_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/headset_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/speaker_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/speaker_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/speaker_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/speaker_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/earpiece_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/earpiece_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/earpiece_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/earpiece_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/extmedia_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/extmedia_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/extmedia_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/extmedia_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/headset_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/headset_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/headset_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/headset_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/headset_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/headset_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/headset_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/headset_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/speaker_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/speaker_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/speaker_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/speaker_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/earpiece_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/earpiece_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/earpiece_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/earpiece_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/extmedia_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/extmedia_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/extmedia_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/extmedia_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/headset_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/headset_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/headset_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/headset_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/headset_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/headset_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/headset_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/headset_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/speaker_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/speaker_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/speaker_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/speaker_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/earpiece_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/earpiece_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/earpiece_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/earpiece_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/extmedia_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/extmedia_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/extmedia_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/extmedia_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/headset_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/headset_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/headset_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/headset_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/headset_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/headset_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/headset_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/headset_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/speaker_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/speaker_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/speaker_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/speaker_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/earpiece_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/earpiece_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/earpiece_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/earpiece_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/extmedia_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/extmedia_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/extmedia_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/extmedia_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/headset_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/headset_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/headset_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/headset_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/headset_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/headset_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/headset_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/headset_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/speaker_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/speaker_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/speaker_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/speaker_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/earpiece_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/earpiece_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/earpiece_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/earpiece_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/extmedia_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/extmedia_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/extmedia_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/extmedia_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/headset_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/headset_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/headset_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/headset_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/headset_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/headset_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/headset_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/headset_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/speaker_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/speaker_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/speaker_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/speaker_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/earpiece_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/earpiece_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/earpiece_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/earpiece_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/extmedia_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/extmedia_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/extmedia_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/extmedia_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/headset_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/headset_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/headset_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/headset_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/headset_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/headset_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/headset_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/headset_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/speaker_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/speaker_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/speaker_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/speaker_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/earpiece_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/earpiece_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/earpiece_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/earpiece_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/extmedia_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/extmedia_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/extmedia_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/extmedia_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"/> + </ConfigurableElements> + <Settings> + <Configuration Name="Calibration"> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/headset_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/headset_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-24.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/headset_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/headset_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-18.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/headset_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/headset_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-12.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/headset_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/headset_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-6.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/speaker_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-24.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/speaker_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-16.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/speaker_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-8.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/speaker_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/earpiece_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-24.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/earpiece_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-18.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/earpiece_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-12.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/earpiece_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-6.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/extmedia_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-58.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/extmedia_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-40.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/extmedia_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-17.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/extmedia_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/voice_call/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/headset_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/headset_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-30.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/headset_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/headset_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-26.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/headset_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/headset_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-22.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/headset_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/headset_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-18.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/speaker_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-24.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/speaker_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-18.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/speaker_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-12.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/speaker_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-6.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/earpiece_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-24.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/earpiece_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-18.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/earpiece_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-12.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/earpiece_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-6.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/extmedia_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-58.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/extmedia_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-40.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/extmedia_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-21.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/extmedia_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/system/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-10.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/headset_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/headset_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-49.50000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/headset_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/headset_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-33.50000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/headset_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/headset_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-17.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/headset_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/headset_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/speaker_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-35.69921875</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/speaker_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-26.10156250</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/speaker_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-13.19921875</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/speaker_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/earpiece_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-49.50000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/earpiece_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-33.50000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/earpiece_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-17.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/earpiece_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/extmedia_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-58.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/extmedia_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-40.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/extmedia_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-27.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/extmedia_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/ring/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-10.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/headset_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/headset_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-58.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/headset_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/headset_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-40.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/headset_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/headset_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-17.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/headset_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/headset_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/speaker_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-56.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/speaker_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-34.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/speaker_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-11.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/speaker_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/earpiece_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-58.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/earpiece_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-40.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/earpiece_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-17.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/earpiece_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/extmedia_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-58.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/extmedia_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-40.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/extmedia_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-17.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/extmedia_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/music/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/headset_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/headset_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-49.50000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/headset_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/headset_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-33.50000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/headset_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/headset_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-17.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/headset_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/headset_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/speaker_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-35.69921875</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/speaker_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-26.10156250</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/speaker_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-13.19921875</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/speaker_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/earpiece_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-49.50000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/earpiece_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-33.50000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/earpiece_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-17.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/earpiece_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/extmedia_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-58.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/extmedia_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-40.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/extmedia_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-27.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/extmedia_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/alarm/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-10.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/headset_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/headset_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-49.50000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/headset_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/headset_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-33.50000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/headset_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/headset_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-17.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/headset_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/headset_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/speaker_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-35.69921875</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/speaker_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-26.10156250</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/speaker_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-13.19921875</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/speaker_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/earpiece_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-49.50000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/earpiece_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-33.50000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/earpiece_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-17.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/earpiece_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/extmedia_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-58.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/extmedia_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-40.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/extmedia_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-27.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/extmedia_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/notification/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-10.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/headset_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/headset_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-24.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/headset_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/headset_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-18.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/headset_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/headset_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-12.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/headset_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/headset_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-6.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/speaker_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-24.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/speaker_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-16.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/speaker_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-8.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/speaker_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/earpiece_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-24.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/earpiece_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-18.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/earpiece_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-12.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/earpiece_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-6.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/extmedia_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-58.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/extmedia_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-40.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/extmedia_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-17.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/extmedia_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/bluetooth_sco/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/headset_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/headset_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-30.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/headset_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/headset_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-26.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/headset_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/headset_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-22.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/headset_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/headset_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-18.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/speaker_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-24.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/speaker_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-18.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/speaker_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-12.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/speaker_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-6.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/earpiece_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-24.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/earpiece_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-18.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/earpiece_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-12.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/earpiece_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-6.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/extmedia_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-58.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/extmedia_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-40.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/extmedia_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-27.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/extmedia_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/enforced_audible/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-10.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/headset_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/headset_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-96.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/headset_device_category/curve_points/1/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/headset_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-96.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/headset_device_category/curve_points/2/index"> + <IntegerParameter Name="index">2</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/headset_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-96.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/headset_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/headset_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-96.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/speaker_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-96.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/speaker_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-68.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/speaker_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-34.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/speaker_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/earpiece_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-96.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/earpiece_device_category/curve_points/1/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-96.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/earpiece_device_category/curve_points/2/index"> + <IntegerParameter Name="index">2</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-96.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/earpiece_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-96.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/extmedia_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-96.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/extmedia_device_category/curve_points/1/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-96.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/extmedia_device_category/curve_points/2/index"> + <IntegerParameter Name="index">2</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-96.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/extmedia_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/tts/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-96.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/headset_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/headset_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-58.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/headset_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/headset_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-40.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/headset_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/headset_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-17.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/headset_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/headset_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/speaker_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-56.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/speaker_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-34.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/speaker_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-11.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/speaker_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/earpiece_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-58.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/earpiece_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-40.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/earpiece_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-17.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/earpiece_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/extmedia_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-58.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/extmedia_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-40.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/extmedia_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-17.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/extmedia_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/accessibility/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/headset_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/headset_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/headset_device_category/curve_points/1/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/headset_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/headset_device_category/curve_points/2/index"> + <IntegerParameter Name="index">2</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/headset_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/headset_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/headset_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/speaker_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/speaker_device_category/curve_points/1/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/speaker_device_category/curve_points/2/index"> + <IntegerParameter Name="index">2</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/speaker_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/earpiece_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/earpiece_device_category/curve_points/1/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/earpiece_device_category/curve_points/2/index"> + <IntegerParameter Name="index">2</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/earpiece_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/extmedia_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/extmedia_device_category/curve_points/1/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/extmedia_device_category/curve_points/2/index"> + <IntegerParameter Name="index">2</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/extmedia_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/rerouting/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/headset_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/headset_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/headset_device_category/curve_points/1/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/headset_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/headset_device_category/curve_points/2/index"> + <IntegerParameter Name="index">2</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/headset_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/headset_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/headset_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/speaker_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/speaker_device_category/curve_points/1/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/speaker_device_category/curve_points/2/index"> + <IntegerParameter Name="index">2</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/speaker_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/earpiece_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/earpiece_device_category/curve_points/1/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/earpiece_device_category/curve_points/2/index"> + <IntegerParameter Name="index">2</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/earpiece_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/extmedia_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/extmedia_device_category/curve_points/1/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/extmedia_device_category/curve_points/2/index"> + <IntegerParameter Name="index">2</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/extmedia_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/patch/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> + <ConfigurableDomain Name="VolumeProfilesForStream.Dtmf" SequenceAware="false"> + <Configurations> + <Configuration Name="InCall"> + <CompoundRule Type="Any"> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCall"/> + <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="Is" Value="InCommunication"/> + </CompoundRule> + </Configuration> + <Configuration Name="OutOfCall"> + <CompoundRule Type="All"/> + </Configuration> + </Configurations> + <ConfigurableElements> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/0/index"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/1/index"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/2/index"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/3/index"/> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"/> + </ConfigurableElements> + <Settings> + <Configuration Name="InCall"> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-30.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-26.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-22.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-18.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-24.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-18.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-12.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-6.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-24.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-18.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-12.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-6.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-58.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-40.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-27.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-10.00000000</FixedPointParameter> + </ConfigurableElement> + </Configuration> + <Configuration Name="OutOfCall"> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-24.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-18.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-12.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/headset_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-6.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-24.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-16.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-8.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/speaker_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/0/index"> + <IntegerParameter Name="index">0</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-24.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-18.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-12.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/earpiece_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-6.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/0/index"> + <IntegerParameter Name="index">1</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/0/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-58.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/1/index"> + <IntegerParameter Name="index">33</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/1/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-40.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/2/index"> + <IntegerParameter Name="index">66</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/2/db_attenuation"> + <FixedPointParameter Name="db_attenuation">-17.00000000</FixedPointParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/3/index"> + <IntegerParameter Name="index">100</IntegerParameter> + </ConfigurableElement> + <ConfigurableElement Path="/Policy/policy/streams/dtmf/volume_profiles/extmedia_device_category/curve_points/3/db_attenuation"> + <FixedPointParameter Name="db_attenuation">0.00000000</FixedPointParameter> + </ConfigurableElement> + </Configuration> + </Settings> + </ConfigurableDomain> +</ConfigurableDomains> diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_input_source.pfw b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_input_source.pfw new file mode 100644 index 0000000..d4bc370 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_input_source.pfw @@ -0,0 +1,515 @@ +supDomain: DeviceForInputSource + domain: Calibration + conf: Calibration + # + # Note that ALL input devices must have the sign bit set to 1. + # As the devices is a mask, use the "in" bit as a direction indicator. + # + component: /Policy/policy/input_sources/default/applicable_input_device/mask + in = 1 + communication = 0 + ambient = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + loopback = 0 + component: /Policy/policy/input_sources/mic/applicable_input_device/mask + in = 1 + communication = 0 + ambient = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + loopback = 0 + component: /Policy/policy/input_sources/voice_downlink/applicable_input_device/mask + in = 1 + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + component: /Policy/policy/input_sources/voice_call/applicable_input_device/mask + in = 1 + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + component: /Policy/policy/input_sources/voice_uplink/applicable_input_device/mask + in = 1 + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + component: /Policy/policy/input_sources/camcorder/applicable_input_device/mask + in = 1 + communication = 0 + ambient = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + telephony_rx = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + component: /Policy/policy/input_sources/voice_recognition/applicable_input_device/mask + in = 1 + communication = 0 + ambient = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask + in = 1 + communication = 0 + ambient = 0 + hdmi = 0 + telephony_rx = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + component: /Policy/policy/input_sources/remote_submix/applicable_input_device/mask + in = 1 + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + component: /Policy/policy/input_sources/hotword/applicable_input_device/mask + in = 1 + communication = 0 + ambient = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + component: /Policy/policy/input_sources/fm_tuner/applicable_input_device/mask + in = 1 + communication = 0 + ambient = 0 + bluetooth_sco_headset = 0 + hdmi = 0 + telephony_rx = 0 + builtin_mic = 0 + wired_headset = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + + domain: DefaultAndMic + conf: A2dp + AvailableInputDevices Includes BluetoothA2dp + + component: /Policy/policy/input_sources + component: default/applicable_input_device/mask/ + bluetooth_a2dp = 1 + wired_headset = 0 + usb_device = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + component: mic/applicable_input_device/mask/ + bluetooth_a2dp = 1 + wired_headset = 0 + usb_device = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + + conf: Sco + AvailableInputDevices Includes BluetoothScoHeadset + ForceUseForRecord Is ForceBtSco + + component: /Policy/policy/input_sources + component: default/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 0 + usb_device = 0 + builtin_mic = 0 + bluetooth_sco_headset = 1 + component: mic/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 1 + usb_device = 0 + builtin_mic = 0 + bluetooth_sco_headset = 1 + + conf: WiredHeadset + AvailableInputDevices Includes WiredHeadset + + component: /Policy/policy/input_sources + component: default/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 1 + usb_device = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + component: mic/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 1 + usb_device = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + + conf: UsbDevice + AvailableInputDevices Includes UsbDevice + + component: /Policy/policy/input_sources + component: default/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 0 + usb_device = 1 + builtin_mic = 0 + bluetooth_sco_headset = 0 + component: mic/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 0 + usb_device = 1 + builtin_mic = 0 + bluetooth_sco_headset = 0 + + conf: BuiltinMic + AvailableInputDevices Includes BuiltinMic + + component: /Policy/policy/input_sources + component: default/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 0 + usb_device = 0 + builtin_mic = 1 + bluetooth_sco_headset = 0 + component: mic/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 0 + usb_device = 0 + builtin_mic = 1 + bluetooth_sco_headset = 0 + + conf: Default + component: /Policy/policy/input_sources + component: default/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 0 + usb_device = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + component: mic/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 0 + usb_device = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + + domain: VoiceUplinkAndVoiceDownlinkAndVoiceCall + conf: VoiceCall + AvailableInputDevices Includes TelephonyRx + + component: /Policy/policy/input_sources + voice_downlink/applicable_input_device/mask/telephony_rx = 1 + voice_call/applicable_input_device/mask/telephony_rx = 1 + voice_uplink/applicable_input_device/mask/telephony_rx = 1 + + conf: Default + component: /Policy/policy/input_sources + voice_downlink/applicable_input_device/mask/telephony_rx = 0 + voice_call/applicable_input_device/mask/telephony_rx = 0 + voice_uplink/applicable_input_device/mask/telephony_rx = 0 + + domain: Camcorder + conf: BackMic + AvailableInputDevices Includes BackMic + + component: /Policy/policy/input_sources/camcorder/applicable_input_device/mask + back_mic = 1 + builtin_mic = 0 + + conf: BuiltinMic + AvailableInputDevices Includes BuiltinMic + + component: /Policy/policy/input_sources/camcorder/applicable_input_device/mask + back_mic = 0 + builtin_mic = 1 + + conf: Default + component: /Policy/policy/input_sources/camcorder/applicable_input_device/mask + back_mic = 0 + builtin_mic = 0 + + domain: VoiceRecognitionAndHotword + conf: ScoHeadset + ForceUseForRecord Is ForceBtSco + AvailableInputDevices Includes BluetoothScoHeadset + + component: /Policy/policy/input_sources + component: voice_recognition/applicable_input_device/mask + bluetooth_sco_headset = 1 + wired_headset = 0 + usb_device = 0 + builtin_mic = 0 + component: hotword/applicable_input_device/mask + bluetooth_sco_headset = 1 + wired_headset = 0 + usb_device = 0 + builtin_mic = 0 + + conf: WiredHeadset + AvailableInputDevices Includes WiredHeadset + + component: /Policy/policy/input_sources + component: voice_recognition/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 1 + usb_device = 0 + builtin_mic = 0 + component: hotword/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 1 + usb_device = 0 + builtin_mic = 0 + + conf: UsbDevice + AvailableInputDevices Includes UsbDevice + + component: /Policy/policy/input_sources + component: voice_recognition/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 1 + builtin_mic = 0 + component: hotword/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 1 + builtin_mic = 0 + + conf: BuiltinMic + AvailableInputDevices Includes BuiltinMic + + component: /Policy/policy/input_sources + component: voice_recognition/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + builtin_mic = 1 + component: hotword/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + builtin_mic = 1 + + conf: Default + component: /Policy/policy/input_sources + component: voice_recognition/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + builtin_mic = 0 + component: hotword/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + builtin_mic = 0 + + domain: VoiceCommunication + conf: ScoHeadset + # + # SCO device may be requested but no SCO device is available + # + ForceUseForCommunication Is ForceBtSco + AvailableInputDevices Includes BluetoothScoHeadset + + component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask + bluetooth_sco_headset = 1 + wired_headset = 0 + usb_device = 0 + builtin_mic = 0 + back_mic = 0 + + conf: WiredHeadset + ForceUseForCommunication Is ForceNone + AvailableInputDevices Includes WiredHeadset + + component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 1 + usb_device = 0 + builtin_mic = 0 + back_mic = 0 + + conf: UsbDevice + ForceUseForCommunication Is ForceNone + AvailableInputDevices Includes UsbDevice + + component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 1 + builtin_mic = 0 + back_mic = 0 + + conf: BuiltinMic + AvailableInputDevices Includes BuiltinMic + ANY + ForceUseForCommunication Is ForceNone + ALL + ForceUseForCommunication Is ForceSpeaker + AvailableInputDevices Excludes BackMic + + component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + builtin_mic = 1 + back_mic = 0 + + conf: BackMic + ForceUseForCommunication Is ForceSpeaker + AvailableInputDevices Includes BackMic + + component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + builtin_mic = 0 + back_mic = 1 + + conf: Default + component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + builtin_mic = 0 + back_mic = 0 + + domain: RemoteSubmix + conf: RemoteSubmix + AvailableInputDevices Includes RemoteSubmix + + component: /Policy/policy/input_sources/remote_submix/applicable_input_device/mask + remote_submix = 1 + + conf: Default + component: /Policy/policy/input_sources/remote_submix/applicable_input_device/mask + remote_submix = 0 + + domain: FmTuner + conf: FmTuner + AvailableInputDevices Includes FmTuner + + component: /Policy/policy/input_sources/fm_tuner/applicable_input_device/mask + fm_tuner = 1 + + conf: Default + component: /Policy/policy/input_sources/fm_tuner/applicable_input_device/mask + fm_tuner = 0 + diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_accessibility.pfw b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_accessibility.pfw new file mode 100644 index 0000000..e8ab33b --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_accessibility.pfw @@ -0,0 +1,302 @@ +supDomain: DeviceForStrategy + + supDomain: Accessibility + # + # @FIXME: STRATEGY_ACCESSIBILITY follows STRATEGY_MEDIA for now + # + # @FIXME: How to disable HDMI if !audio_is_linear_pcm other than programmatically??? + # + domain: UnreachableDevices + conf: Calibration + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + hdmi_arc = 0 + spdif = 0 + aux_line = 0 + fm = 0 + speaker_safe = 0 + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + telephony_tx = 0 + + domain: Device2 + conf: RemoteSubmix + AvailableOutputDevices Includes RemoteSubmix + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 1 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: BluetoothA2dp + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dp + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 1 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: BluetoothA2dpHeadphone + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dpHeadphones + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 1 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: BluetoothA2dpSpeaker + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dpSpeaker + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 1 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: ForceSpeaker + ForceUseForMedia Is ForceSpeaker + AvailableOutputDevices Includes Speaker + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 1 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: WiredHeadphone + AvailableOutputDevices Includes WiredHeadphone + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 1 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: Line + AvailableOutputDevices Includes Line + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 1 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: WiredHeadset + AvailableOutputDevices Includes WiredHeadset + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 1 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: UsbAccessory + AvailableOutputDevices Includes UsbAccessory + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 1 + usb_device = 0 + hdmi = 0 + + conf: UsbDevice + AvailableOutputDevices Includes UsbDevice + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 1 + hdmi = 0 + + conf: DgtlDockHeadset + AvailableOutputDevices Includes DgtlDockHeadset + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 1 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: AuxDigital + # + # Do not route accessibility prompts to a digital output currently configured with a + # compressed format as they would likely not be mixed and dropped. + # + # @TODO How to translate the following condition(???) + # desc->isActive() && !audio_is_linear_pcm(desc->mFormat) && devices != AUDIO_DEVICE_NONE + # + AvailableOutputDevices Includes Hdmi + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 1 + + conf: AnlgDockHeadset + AvailableOutputDevices Includes AnlgDockHeadset + ForceUseForDock Is ForceAnalogDock + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 1 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: Speaker + AvailableOutputDevices Includes Speaker + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 1 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: Default + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_dtmf.pfw b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_dtmf.pfw new file mode 100644 index 0000000..85273b2 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_dtmf.pfw @@ -0,0 +1,637 @@ +supDomain: DeviceForStrategy + + supDomain: Dtmf + + domain: UnreachableDevices + conf: Calibration + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + fm = 0 + speaker_safe = 0 + bluetooth_sco_carkit = 0 + + domain: Device2 + conf: RemoteSubmix + # + # DTMF follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes RemoteSubmix + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 1 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: BluetoothA2dp + # + # DTMF follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dp + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 1 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: BluetoothA2dpHeadphones + # + # DTMF follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dpHeadphones + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 1 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: BluetoothA2dpSpeaker + # + # DTMF follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dpSpeaker + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 1 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: ForceSpeakerWhenNotInCall + # + # DTMF follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia Is ForceSpeaker + ForceUseForHdmiSystemAudio IsNot ForceHdmiSystemEnforced + AvailableOutputDevices Includes Speaker + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 1 + + conf: BluetoothScoHeadset + # + # DTMF falls through Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + AvailableOutputDevices Includes BluetoothScoHeadset + ForceUseForCommunication Is ForceBtSco + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 1 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: BluetoothSco + # + # DTMF falls through Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + AvailableOutputDevices Includes BluetoothSco + ForceUseForCommunication Is ForceBtSco + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 1 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: WiredHeadphone + ANY + # + # DTMF falls through Phone strategy if in call + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + # + # DTMF follows Media strategy if not in call + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes WiredHeadphone + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 1 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: LineWhenFollowingMedia + # + # DTMF follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes Line + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 1 + speaker = 0 + + conf: WiredHeadset + ANY + # + # DTMF falls through Phone strategy if in call + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + # + # DTMF follows Media strategy if not in call + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes WiredHeadset + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 1 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: UsbDevice + ANY + # + # DTMF falls through Phone strategy if in call (widely speaking) + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + # + # DTMF follows Media strategy if not in call + # Media strategy inverts the priority of USB device vs accessory + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Excludes UsbAccessory + ForceUseForCommunication Is ForceSpeaker + AvailableOutputDevices Includes UsbDevice + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 1 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: UsbAccessory + # + # DTMF falls through Phone strategy if in call (widely speaking) + # but USB accessory not reachable in call + # + # DTMF follows Media strategy if not in call + # Media strategy inverts the priority of USB device vs accessory + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes UsbAccessory + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 1 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: DgtlDockHeadset + # + # DTMF falls through Phone strategy if in call (widely speaking) + # but DgtlDockHeadset not reachable in call + # + # DTMF follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes DgtlDockHeadset + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 1 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: Hdmi + # + # DTMF falls through Phone strategy if in call (widely speaking) + # but Hdmi not reachable in call + # + # DTMF follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes Hdmi + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 1 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: AnlgDockHeadset + # + # DTMF falls through Phone strategy if in call (widely speaking) + # but AnlgDockHeadset not reachable in call + # + # DTMF follows Media strategy if not in call + # Media strategy inverts the priority of USB device vs accessory + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForDock Is ForceAnalogDock + AvailableOutputDevices Includes AnlgDockHeadset + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 1 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: Earpiece + # + # DTMF falls through Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + AvailableOutputDevices Includes Earpiece + ForceUseForCommunication IsNot ForceSpeaker + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 1 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: LineWhenFallThroughPhone + # + # DTMF falls through Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + AvailableOutputDevices Includes Line + ForceUseForCommunication Is ForceSpeaker + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 1 + speaker = 0 + + conf: Speaker + ANY + # + # DTMF falls through Phone strategy if in call + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication Is ForceSpeaker + # + # DTMF follows Media strategy if not in call + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForHdmiSystemAudio IsNot ForceHdmiSystemEnforced + AvailableOutputDevices Includes Speaker + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 1 + + conf: Default + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + domain: Arc + # + # DTMF strategy follows media strategy if not in call + # these following domains consists in device(s) that can co-exist with others + # e.g. ARC, SPDIF, AUX_LINE + # + conf: Selected + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes HdmiArc + + /Policy/policy/strategies/media/selected_output_devices/mask/hdmi_arc = 1 + + conf: NotSelected + /Policy/policy/strategies/media/selected_output_devices/mask/hdmi_arc = 0 + + domain: Spdif + # + # DTMF strategy follows media strategy if not in call + # these following domains consists in device(s) that can co-exist with others + # e.g. ARC, SPDIF, AUX_LINE + # + conf: Selected + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes Spdif + + /Policy/policy/strategies/media/selected_output_devices/mask/spdif = 1 + + conf: NotSelected + /Policy/policy/strategies/media/selected_output_devices/mask/spdif = 0 + + domain: AuxLine + # + # DTMF strategy follows media strategy if not in call + # these following domains consists in device(s) that can co-exist with others + # e.g. ARC, SPDIF, AUX_LINE + # + conf: Selected + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes AuxLine + + /Policy/policy/strategies/media/selected_output_devices/mask/aux_line = 1 + + conf: NotSelected + /Policy/policy/strategies/media/selected_output_devices/mask/aux_line = 0 diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_enforced_audible.pfw b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_enforced_audible.pfw new file mode 100644 index 0000000..d714743 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_enforced_audible.pfw @@ -0,0 +1,358 @@ +supDomain: DeviceForStrategy + + supDomain: EnforcedAudible + + domain: UnreachableDevices + conf: Calibration + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + # no enforced_audible on remote submix (e.g. WFD) + remote_submix = 0 + hdmi_arc = 0 + spdif = 0 + aux_line = 0 + speaker_safe = 0 + + domain: Speaker + conf: Selected + # + # strategy STRATEGY_ENFORCED_AUDIBLE uses same routing policy as STRATEGY_SONIFICATION + # except: + # - when in call where it doesn't default to STRATEGY_PHONE behavior + # - in countries where not enforced in which case it follows STRATEGY_MEDIA + # + AvailableOutputDevices Includes Speaker + ANY + ForceUseForSystem Is ForceSystemEnforced + ALL + ForceUseForMedia Is ForceSpeaker + AvailableOutputDevices Excludes RemoteSubmix + ANY + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Excludes BluetoothA2dp + AvailableOutputDevices Excludes BluetoothA2dpHeadphones + AvailableOutputDevices Excludes BluetoothA2dpSpeaker + # + # Speaker is also the fallback device if any of the device from Device2 domain + # is selected. + # + ALL + AvailableOutputDevices Excludes RemoteSubmix + AvailableOutputDevices Excludes WiredHeadphone + AvailableOutputDevices Excludes Line + AvailableOutputDevices Excludes WiredHeadset + AvailableOutputDevices Excludes UsbAccessory + AvailableOutputDevices Excludes UsbDevice + AvailableOutputDevices Excludes DgtlDockHeadset + AvailableOutputDevices Excludes Hdmi + ANY + AvailableOutputDevices Excludes AnlgDockHeadset + ForceUseForDock IsNot ForceAnalogDock + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + speaker = 1 + + conf: NotSelected + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + speaker = 0 + + domain: Device2 + conf: RemoteSubmix + AvailableOutputDevices Includes RemoteSubmix + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 1 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + fm = 0 + speaker_safe = 0 + + conf: BluetoothA2dp + AvailableOutputDevices Includes BluetoothA2dp + ForceUseForMedia IsNot ForceNoBtA2dp + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 1 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + fm = 0 + speaker_safe = 0 + + conf: BluetoothA2dpHeadphones + AvailableOutputDevices Includes BluetoothA2dpHeadphones + ForceUseForMedia IsNot ForceNoBtA2dp + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 1 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + fm = 0 + speaker_safe = 0 + + conf: BluetoothA2dpSpeaker + AvailableOutputDevices Includes BluetoothA2dpSpeaker + ForceUseForMedia IsNot ForceNoBtA2dp + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 1 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + fm = 0 + speaker_safe = 0 + + conf: WiredHeadphone + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes WiredHeadphone + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 1 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + fm = 0 + speaker_safe = 0 + + conf: Line + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes Line + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 1 + fm = 0 + speaker_safe = 0 + + conf: WiredHeadset + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes WiredHeadset + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 1 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + fm = 0 + speaker_safe = 0 + + conf: UsbAccessory + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes UsbAccessory + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 1 + usb_device = 0 + telephony_tx = 0 + line = 0 + fm = 0 + speaker_safe = 0 + + conf: UsbDevice + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes UsbDevice + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 1 + telephony_tx = 0 + line = 0 + fm = 0 + speaker_safe = 0 + + conf: DgtlDockHeadset + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes DgtlDockHeadset + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 1 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + fm = 0 + speaker_safe = 0 + + conf: Hdmi + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes Hdmi + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 1 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + fm = 0 + speaker_safe = 0 + + conf: AnlgDockHeadset + ForceUseForMedia IsNot ForceSpeaker + ForceUseForDock Is ForceAnalogDock + AvailableOutputDevices Includes AnlgDockHeadset + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 1 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + fm = 0 + speaker_safe = 0 + diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_media.pfw b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_media.pfw new file mode 100644 index 0000000..38bede5 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_media.pfw @@ -0,0 +1,331 @@ +domainGroup: DeviceForStrategy + + domainGroup: Media + + domain: UnreachableDevices + conf: Calibration + component: /Policy/policy/strategies/media/selected_output_devices/mask + fm = 0 + speaker_safe = 0 + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + telephony_tx = 0 + + domain: Device2 + conf: RemoteSubmix + AvailableOutputDevices Includes RemoteSubmix + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 1 + line = 0 + + conf: BluetoothA2dp + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dp + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 1 + remote_submix = 0 + line = 0 + + conf: BluetoothA2dpHeadphone + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dpHeadphones + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 1 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: BluetoothA2dpSpeaker + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dpSpeaker + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 1 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: ForceSpeaker + ForceUseForMedia Is ForceSpeaker + AvailableOutputDevices Includes Speaker + # + # If hdmi system audio mode is on, remove speaker out of output list. + # + ForceUseForHdmiSystemAudio IsNot ForceHdmiSystemEnforced + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 1 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: WiredHeadphone + AvailableOutputDevices Includes WiredHeadphone + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 1 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: Line + AvailableOutputDevices Includes Line + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 1 + + conf: WiredHeadset + AvailableOutputDevices Includes WiredHeadset + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_accessory = 0 + wired_headset = 1 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: UsbAccessory + AvailableOutputDevices Includes UsbAccessory + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_accessory = 1 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: UsbDevice + AvailableOutputDevices Includes UsbDevice + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 1 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: DgtlDockHeadset + AvailableOutputDevices Includes DgtlDockHeadset + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 1 + angl_dock_headset = 0 + usb_device = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: AuxDigital + AvailableOutputDevices Includes Hdmi + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 1 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: AnlgDockHeadset + AvailableOutputDevices Includes AnlgDockHeadset + ForceUseForDock Is ForceAnalogDock + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 1 + usb_device = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: Speaker + AvailableOutputDevices Includes Speaker + # + # If hdmi system audio mode is on, remove speaker out of output list. + # + ForceUseForHdmiSystemAudio IsNot ForceHdmiSystemEnforced + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 1 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: Default + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + domain: Arc + # + # these following domains consists in device(s) that can co-exist with others + # e.g. ARC, SPDIF, AUX_LINE + # + conf: Selected + AvailableOutputDevices Includes HdmiArc + + /Policy/policy/strategies/media/selected_output_devices/mask/hdmi_arc = 1 + + conf: NotSelected + /Policy/policy/strategies/media/selected_output_devices/mask/hdmi_arc = 0 + + domain: Spdif + # + # these following domains consists in device(s) that can co-exist with others + # e.g. ARC, SPDIF, AUX_LINE + # + conf: Selected + AvailableOutputDevices Includes Spdif + + /Policy/policy/strategies/media/selected_output_devices/mask/spdif = 1 + + conf: NotSelected + /Policy/policy/strategies/media/selected_output_devices/mask/spdif = 0 + + domain: AuxLine + conf: Selected + AvailableOutputDevices Includes AuxLine + + /Policy/policy/strategies/media/selected_output_devices/mask/aux_line = 1 + + conf: NotSelected + /Policy/policy/strategies/media/selected_output_devices/mask/aux_line = 0 diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_phone.pfw b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_phone.pfw new file mode 100644 index 0000000..7b01491 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_phone.pfw @@ -0,0 +1,485 @@ +supDomain: DeviceForStrategy + + supDomain: Phone + + domain: UnreachableDevices + conf: Calibration + component: /Policy/policy/strategies/phone/selected_output_devices/mask + # no sonification on remote submix (e.g. WFD) + remote_submix = 0 + hdmi_arc = 0 + aux_line = 0 + spdif = 0 + fm = 0 + speaker_safe = 0 + + domain: Device + conf: ScoCarkit + AvailableOutputDevices Includes BluetoothScoCarkit + ForceUseForCommunication Is ForceBtSco + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 1 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: BluetoothScoHeadset + AvailableOutputDevices Includes BluetoothScoHeadset + ForceUseForCommunication Is ForceBtSco + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 1 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: BluetoothSco + AvailableOutputDevices Includes BluetoothSco + ForceUseForCommunication Is ForceBtSco + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 1 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: BluetoothA2dp + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes BluetoothA2dp + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + ANY + ForceUseForCommunication Is ForceBtSco + ForceUseForCommunication Is ForceNone + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 1 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: BluetoothA2dpHeadphones + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes BluetoothA2dpHeadphones + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + ANY + ForceUseForCommunication Is ForceBtSco + ForceUseForCommunication Is ForceNone + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 1 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: BluetoothA2dpSpeaker + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes BluetoothA2dpSpeaker + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + ForceUseForCommunication Is ForceSpeaker + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 1 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: WiredHeadphone + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes WiredHeadphone + ForceUseForCommunication IsNot ForceSpeaker + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 1 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: WiredHeadset + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes WiredHeadset + ForceUseForCommunication IsNot ForceSpeaker + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 1 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: UsbDevice + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes UsbDevice + ANY + ForceUseForCommunication Is ForceBtSco + ForceUseForCommunication Is ForceNone + ALL + ForceUseForCommunication Is ForceSpeaker + # + # In case of Force Speaker, priority between device and accessory are + # inverted compared to Force None or Bt Sco + # + AvailableOutputDevices Excludes UsbAccessory + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 1 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: UsbAccessory + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes UsbAccessory + TelephonyMode IsNot InCommunication + TelephonyMode IsNot InCall + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 1 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: DgtlDockHeadset + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes DgtlDockHeadset + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 1 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: Hdmi + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes Hdmi + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 1 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: AnlgDockHeadset + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes AnlgDockHeadset + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 1 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: Earpiece + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes Earpiece + ForceUseForCommunication IsNot ForceSpeaker + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 1 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: Line + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes Line + ForceUseForCommunication Is ForceSpeaker + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 1 + speaker = 0 + + conf: Speaker + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes Speaker + ForceUseForCommunication Is ForceSpeaker + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 1 + + conf: Default + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_rerouting.pfw b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_rerouting.pfw new file mode 100644 index 0000000..d390a33 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_rerouting.pfw @@ -0,0 +1,297 @@ +domainGroup: DeviceForStrategy + + domainGroup: Rerouting + # + # Falls through media strategy + # + domain: UnreachableDevices + conf: Calibration + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + hdmi_arc = 0 + spdif = 0 + aux_line = 0 + fm = 0 + speaker_safe = 0 + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + telephony_tx = 0 + + domain: Device2 + conf: RemoteSubmix + AvailableOutputDevices Includes RemoteSubmix + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 1 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: BluetoothA2dp + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dp + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 1 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: BluetoothA2dpHeadphone + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dpHeadphones + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 1 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: BluetoothA2dpSpeaker + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dpSpeaker + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 1 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: ForceSpeaker + ForceUseForMedia Is ForceSpeaker + AvailableOutputDevices Includes Speaker + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 1 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: WiredHeadphone + AvailableOutputDevices Includes WiredHeadphone + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 1 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: Line + AvailableOutputDevices Includes Line + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 1 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: WiredHeadset + AvailableOutputDevices Includes WiredHeadset + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 1 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: UsbAccessory + AvailableOutputDevices Includes UsbAccessory + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 1 + usb_device = 0 + hdmi = 0 + + conf: UsbDevice + AvailableOutputDevices Includes UsbDevice + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 1 + hdmi = 0 + + conf: DgtlDockHeadset + AvailableOutputDevices Includes DgtlDockHeadset + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 1 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: AuxDigital + # + # Rerouting is similar to media and sonification (exept here: sonification is not allowed on HDMI) + # + AvailableOutputDevices Includes Hdmi + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 1 + + conf: AnlgDockHeadset + AvailableOutputDevices Includes AnlgDockHeadset + ForceUseForDock Is ForceAnalogDock + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 1 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: Speaker + AvailableOutputDevices Includes Speaker + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 1 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: Default + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_sonification.pfw b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_sonification.pfw new file mode 100644 index 0000000..71101f8 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_sonification.pfw @@ -0,0 +1,485 @@ +supDomain: DeviceForStrategy + + supDomain: Sonification + + domain: UnreachableDevices + conf: Calibration + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + # no sonification on remote submix (e.g. WFD) + remote_submix = 0 + hdmi_arc = 0 + spdif = 0 + fm = 0 + speaker_safe = 0 + aux_line = 0 + # + # Sonification follows phone strategy if in call but HDMI is not reachable + # + hdmi = 0 + + domain: Speaker + + conf: Selected + AvailableOutputDevices Includes Speaker + ANY + # + # Sonification falls through ENFORCED_AUDIBLE if not in call (widely speaking) + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ALL + # + # Sonification follows phone strategy if in call (widely speaking) + # + ForceUseForCommunication Is ForceSpeaker + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + AvailableOutputDevices Excludes Line + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + speaker = 1 + + conf: NotSelected + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + speaker = 0 + + domain: Device2 + + conf: BluetoothA2dp + # + # Sonification falls through media strategy if not in call (widely speaking) + # + AvailableOutputDevices Includes BluetoothA2dp + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 1 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + + conf: BluetoothA2dpHeadphones + # + # Sonification falls through media strategy if not in call (widely speaking) + # + AvailableOutputDevices Includes BluetoothA2dpHeadphones + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 1 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + + conf: BluetoothA2dpSpeaker + # + # Sonification falls through media strategy if not in call (widely speaking) + # + AvailableOutputDevices Includes BluetoothA2dpSpeaker + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 1 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + + conf: ScoCarkit + # + # Sonification follows phone strategy if in call (widely speaking) + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication Is ForceBtSco + AvailableOutputDevices Includes BluetoothScoCarkit + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 1 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + + conf: ScoHeadset + # + # Sonification follows phone strategy if in call (widely speaking) + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication Is ForceBtSco + AvailableOutputDevices Includes BluetoothScoHeadset + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 1 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + + conf: Sco + # + # Sonification follows phone strategy if in call (widely speaking) + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication Is ForceBtSco + AvailableOutputDevices Includes BluetoothSco + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 1 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + + conf: WiredHeadphone + AvailableOutputDevices Includes WiredHeadphone + ANY + # + # Sonification falls through media strategy if not in call (widely speaking) + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + # + # Sonification follows Phone strategy if in call (widely speaking) + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 1 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + + conf: Line + AvailableOutputDevices Includes Line + ANY + # + # Sonification follows Phone strategy if in call (widely speaking) + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication Is ForceSpeaker + # + # Sonification falls through media strategy if not in call (widely speaking) + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 1 + + conf: WiredHeadset + AvailableOutputDevices Includes WiredHeadset + ANY + # + # Sonification falls through media strategy if not in call (widely speaking) + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + ALL + # + # Sonification Follows Phone Strategy if in call (widely speaking) + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 1 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + + conf: UsbDevice + AvailableOutputDevices Includes UsbDevice + ANY + # + # Sonification falls through media strategy if not in call (widely speaking) + # + ALL + AvailableOutputDevices Excludes UsbAccessory + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + ALL + # + # Sonification Follows Phone Strategy if in call (widely speaking) + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 1 + telephony_tx = 0 + line = 0 + + conf: UsbAccessory + AvailableOutputDevices Includes UsbAccessory + # + # Sonification falls through media strategy if not in call (widely speaking) + # + # Sonification Follows Phone Strategy if in call (widely speaking) + # but USB Accessory not reachable in call. + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 1 + usb_device = 0 + telephony_tx = 0 + line = 0 + + conf: DgtlDockHeadset + AvailableOutputDevices Includes DgtlDockHeadset + # + # Sonification falls through media strategy if not in call + # + # Sonification Follows Phone Strategy if in call (widely speaking) + # but DgtlDockHeadset not reachable in call. + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 1 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + + conf: AnlgDockHeadset + AvailableOutputDevices Includes AnlgDockHeadset + # + # Sonification falls through media strategy if not in call + # + # Sonification Follows Phone Strategy if in call (widely speaking) + # but AnlgDockHeadset not reachable in call. + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + ForceUseForDock Is ForceAnalogDock + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 1 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + + conf: Earpiece + # + # Sonification Follows Phone Strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + AvailableOutputDevices Includes Earpiece + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 1 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + + conf: None + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_sonification_respectful.pfw b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_sonification_respectful.pfw new file mode 100644 index 0000000..f66674c --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_sonification_respectful.pfw @@ -0,0 +1,545 @@ +domainGroup: DeviceForStrategy + + domainGroup: SonificationRespectful + # + # Sonificiation Respectful follows: + # - If in call: Strategy sonification (that follows phone strategy in call also...) + # - If not in call AND a music stream is active remotely: Strategy sonification (that + # follows enforced audible, which follows media) + # - if not in call and no music stream active remotely and music stream active): strategy + # media + # - Otherwise follows sonification by replacing speaker with speaker safe if speaker is + # selected. + # + # Case of stream active handled programmatically + + domain: UnreachableDevices + conf: Calibration + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + remote_submix = 0 + hdmi_arc = 0 + aux_line = 0 + spdif = 0 + fm = 0 + telephony_tx = 0 + + domain: Speakers + + conf: SpeakerSafe + AvailableOutputDevices Includes Speaker + AvailableOutputDevices Includes SpeakerSafe + # + # Follows sonification strategy if not in call and replace speaker by speaker safe + # if and only if speaker only selected + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + speaker_safe = 1 + speaker = 0 + + conf: Speaker + AvailableOutputDevices Includes Speaker + ANY + # + # Follows sonification strategy if not in call + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ALL + # + # Follows Phone Strategy if call + # + ForceUseForCommunication Is ForceSpeaker + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + AvailableOutputDevices Excludes Line + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + speaker_safe = 0 + speaker = 1 + + conf: None + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + speaker_safe = 0 + speaker = 0 + + domain: Device2 + conf: BluetoothA2dp + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia Is ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dp + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 1 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: BluetoothA2dpHeadphones + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia Is ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dpHeadphones + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 1 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: BluetoothA2dpSpeaker + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia Is ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dpSpeaker + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 1 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: BluetoothScoCarkit + # + # SonificationRespectful Follows Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication Is ForceBtSco + AvailableOutputDevices Includes BluetoothScoCarkit + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 1 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: BluetoothScoHeadset + # + # SonificationRespectful Follows Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication Is ForceBtSco + AvailableOutputDevices Includes BluetoothScoHeadset + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 1 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: BluetoothSco + # + # SonificationRespectful Follows Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication Is ForceBtSco + AvailableOutputDevices Includes BluetoothSco + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 1 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: WiredHeadphone + ANY + ALL + # + # SonificationRespectful Follows Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + ALL + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes WiredHeadphone + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 1 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: LineWhenFollowMediaStrategy + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes WiredHeadphone + ForceUseForMedia IsNot ForceSpeaker + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 1 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: WiredHeadset + ANY + ALL + # + # SonificationRespectful Follows Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + ALL + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes WiredHeadset + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 1 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: UsbDevice + ANY + ALL + # + # SonificationRespectful Follows Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + ALL + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Excludes UsbAccessory + AvailableOutputDevices Includes UsbDevice + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 1 + hdmi = 0 + + conf: UsbAccessory + # + # SonificationRespectful Follows Phone strategy if in call (widely speaking) + # but UsbAccessory not reachable in call. + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes UsbAccessory + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 1 + usb_device = 0 + hdmi = 0 + + conf: DgtlDockHeadset + # + # SonificationRespectful Follows Phone strategy if in call (widely speaking) + # but DgtlDockHeadset not reachable in call. + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes DgtlDockHeadset + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 1 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: AuxDigital + # + # SonificationRespectful Follows Phone strategy if in call (widely speaking) + # but HDMI not reachable in call. + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes Hdmi + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 1 + + conf: AnlgDockHeadset + # + # SonificationRespectful Follows Phone strategy if in call (widely speaking) + # but AnlgDockHeadset not reachable in call. + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + ForceUseForDock Is ForceAnalogDock + AvailableOutputDevices Includes AnlgDockHeadset + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 1 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: Earpiece + # + # SonificationRespectful Follows Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + AvailableOutputDevices Includes Earpiece + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 1 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 + + conf: Line + # + # SonificationRespectful Follows Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication Is ForceSpeaker + AvailableOutputDevices Includes Line + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 1 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + hdmi = 0 diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_transmitted_through_speaker.pfw b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_transmitted_through_speaker.pfw new file mode 100644 index 0000000..e5ae9d9 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/device_for_strategy_transmitted_through_speaker.pfw @@ -0,0 +1,40 @@ +supDomain: DeviceForStrategy + + supDomain: TransmittedThroughSpeaker + domain: UnreacheableDevices + conf: Calibration + component: /Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask + remote_submix = 0 + hdmi_arc = 0 + spdif = 0 + aux_line = 0 + fm = 0 + speaker_safe = 0 + earpiece = 0 + wired_headset = 1 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + + domain: Speaker + conf: Selected + AvailableOutputDevices Includes Speaker + + component: /Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask + speaker = 1 + + conf: NotSelected + component: /Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask + speaker = 0 + diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/strategy_for_stream.pfw b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/strategy_for_stream.pfw new file mode 100755 index 0000000..3940b9d --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/strategy_for_stream.pfw @@ -0,0 +1,20 @@ +domain: StrategyForStream + + conf: Calibration + /Policy/policy/streams/voice_call/applicable_strategy/strategy = phone + # + # NOTE: SYSTEM stream uses MEDIA strategy because muting music and switching outputs + # while key clicks are played produces a poor result + # + /Policy/policy/streams/system/applicable_strategy/strategy = media + /Policy/policy/streams/ring/applicable_strategy/strategy = sonification + /Policy/policy/streams/music/applicable_strategy/strategy = media + /Policy/policy/streams/alarm/applicable_strategy/strategy = sonification + /Policy/policy/streams/notification/applicable_strategy/strategy = sonification_respectful + /Policy/policy/streams/bluetooth_sco/applicable_strategy/strategy = phone + /Policy/policy/streams/enforced_audible/applicable_strategy/strategy = enforced_audible + /Policy/policy/streams/dtmf/applicable_strategy/strategy = dtmf + /Policy/policy/streams/tts/applicable_strategy/strategy = transmitted_through_speaker + /Policy/policy/streams/accessibility/applicable_strategy/strategy = accessibility + /Policy/policy/streams/rerouting/applicable_strategy/strategy = rerouting + diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/strategy_for_usage.pfw b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/strategy_for_usage.pfw new file mode 100644 index 0000000..3f5da13 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/strategy_for_usage.pfw @@ -0,0 +1,39 @@ +supDomain: SelectedStrategyForUsages + + domain: Calibration + conf: Calibration + /Policy/policy/usages/unknown/applicable_strategy/strategy = media + /Policy/policy/usages/media/applicable_strategy/strategy = media + /Policy/policy/usages/voice_communication/applicable_strategy/strategy = phone + /Policy/policy/usages/voice_communication_signalling/applicable_strategy/strategy = dtmf + /Policy/policy/usages/alarm/applicable_strategy/strategy = sonification + /Policy/policy/usages/notification/applicable_strategy/strategy = sonification_respectful + /Policy/policy/usages/notification_telephony_ringtone/applicable_strategy/strategy = sonification + /Policy/policy/usages/notification_communication_request/applicable_strategy/strategy = sonification_respectful + /Policy/policy/usages/notification_communication_instant/applicable_strategy/strategy = sonification_respectful + /Policy/policy/usages/notification_communication_delayed/applicable_strategy/strategy = sonification_respectful + /Policy/policy/usages/notification_event/applicable_strategy/strategy = sonification_respectful + /Policy/policy/usages/assistance_navigation_guidance/applicable_strategy/strategy = media + /Policy/policy/usages/assistance_sonification/applicable_strategy/strategy = media + /Policy/policy/usages/game/applicable_strategy/strategy = media + + domain: AssistanceAccessibility + conf: Sonification + # + # In case of Ring or Alarm stream type active, switching to sonification + # @todo: handle this dynamic case. As a WA, using Ringtone mode... + # + TelephonyMode Is RingTone + + /Policy/policy/usages/assistance_accessibility/applicable_strategy/strategy = sonification + + conf: Phone + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + + /Policy/policy/usages/assistance_accessibility/applicable_strategy/strategy = phone + + conf: Accessibility + /Policy/policy/usages/assistance_accessibility/applicable_strategy/strategy = accessibility + diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/volumes.pfw b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/volumes.pfw new file mode 100644 index 0000000..1049564 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/volumes.pfw @@ -0,0 +1,545 @@ +supDomain: VolumeProfilesForStream + domain: Calibration + conf: Calibration + component: /Policy/policy/streams + component: voice_call/volume_profiles + component: headset_device_category/curve_points + 0/index = 0 + 0/db_attenuation = -24.0 + 1/index = 33 + 1/db_attenuation = -18.0 + 2/index = 66 + 2/db_attenuation = -12.0 + 3/index = 100 + 3/db_attenuation = -6.0 + component: speaker_device_category/curve_points + 0/index = 0 + 0/db_attenuation = -24.0 + 1/index = 33 + 1/db_attenuation = -16.0 + 2/index = 66 + 2/db_attenuation = -8.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: earpiece_device_category/curve_points + 0/index = 0 + 0/db_attenuation = -24.0 + 1/index = 33 + 1/db_attenuation = -18.0 + 2/index = 66 + 2/db_attenuation = -12.0 + 3/index = 100 + 3/db_attenuation = -6.0 + component: extmedia_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -58.0 + 1/index = 33 + 1/db_attenuation = -40.0 + 2/index = 66 + 2/db_attenuation = -17.0 + 3/index = 100 + 3/db_attenuation = 0.0 + + component: system/volume_profiles + component: headset_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -30.0 + 1/index = 33 + 1/db_attenuation = -26.0 + 2/index = 66 + 2/db_attenuation = -22.0 + 3/index = 100 + 3/db_attenuation = -18.0 + component: speaker_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -24.0 + 1/index = 33 + 1/db_attenuation = -18.0 + 2/index = 66 + 2/db_attenuation = -12.0 + 3/index = 100 + 3/db_attenuation = -6.0 + component: earpiece_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -24.0 + 1/index = 33 + 1/db_attenuation = -18.0 + 2/index = 66 + 2/db_attenuation = -12.0 + 3/index = 100 + 3/db_attenuation = -6.0 + component: extmedia_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -58.0 + 1/index = 33 + 1/db_attenuation = -40.0 + 2/index = 66 + 2/db_attenuation = -21.0 + 3/index = 100 + 3/db_attenuation = -10.0 + + component: ring/volume_profiles + component: headset_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -49.5 + 1/index = 33 + 1/db_attenuation = -33.5 + 2/index = 66 + 2/db_attenuation = -17.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: speaker_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -35.7 + 1/index = 33 + 1/db_attenuation = -26.1 + 2/index = 66 + 2/db_attenuation = -13.2 + 3/index = 100 + 3/db_attenuation = 0.0 + component: earpiece_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -49.5 + 1/index = 33 + 1/db_attenuation = -33.5 + 2/index = 66 + 2/db_attenuation = -17.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: extmedia_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -58.0 + 1/index = 33 + 1/db_attenuation = -40.0 + 2/index = 66 + 2/db_attenuation = -27.0 + 3/index = 100 + 3/db_attenuation = -10.0 + + component: music/volume_profiles + component: headset_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -58.0 + 1/index = 33 + 1/db_attenuation = -40.0 + 2/index = 66 + 2/db_attenuation = -17.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: speaker_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -56.0 + 1/index = 33 + 1/db_attenuation = -34.0 + 2/index = 66 + 2/db_attenuation = -11.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: earpiece_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -58.0 + 1/index = 33 + 1/db_attenuation = -40.0 + 2/index = 66 + 2/db_attenuation = -17.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: extmedia_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -58.0 + 1/index = 33 + 1/db_attenuation = -40.0 + 2/index = 66 + 2/db_attenuation = -17.0 + 3/index = 100 + 3/db_attenuation = 0.0 + + component: alarm/volume_profiles + component: headset_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -49.5 + 1/index = 33 + 1/db_attenuation = -33.5 + 2/index = 66 + 2/db_attenuation = -17.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: speaker_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -35.7 + 1/index = 33 + 1/db_attenuation = -26.1 + 2/index = 66 + 2/db_attenuation = -13.2 + 3/index = 100 + 3/db_attenuation = 0.0 + component: earpiece_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -49.5 + 1/index = 33 + 1/db_attenuation = -33.5 + 2/index = 66 + 2/db_attenuation = -17.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: extmedia_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -58.0 + 1/index = 33 + 1/db_attenuation = -40.0 + 2/index = 66 + 2/db_attenuation = -27.0 + 3/index = 100 + 3/db_attenuation = -10.0 + + component: notification/volume_profiles + component: headset_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -49.5 + 1/index = 33 + 1/db_attenuation = -33.5 + 2/index = 66 + 2/db_attenuation = -17.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: speaker_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -35.7 + 1/index = 33 + 1/db_attenuation = -26.1 + 2/index = 66 + 2/db_attenuation = -13.2 + 3/index = 100 + 3/db_attenuation = 0.0 + component: earpiece_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -49.5 + 1/index = 33 + 1/db_attenuation = -33.5 + 2/index = 66 + 2/db_attenuation = -17.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: extmedia_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -58.0 + 1/index = 33 + 1/db_attenuation = -40.0 + 2/index = 66 + 2/db_attenuation = -27.0 + 3/index = 100 + 3/db_attenuation = -10.0 + + component: bluetooth_sco/volume_profiles + component: headset_device_category/curve_points + 0/index = 0 + 0/db_attenuation = -24.0 + 1/index = 33 + 1/db_attenuation = -18.0 + 2/index = 66 + 2/db_attenuation = -12.0 + 3/index = 100 + 3/db_attenuation = -6.0 + component: speaker_device_category/curve_points + 0/index = 0 + 0/db_attenuation = -24.0 + 1/index = 33 + 1/db_attenuation = -16.0 + 2/index = 66 + 2/db_attenuation = -8.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: earpiece_device_category/curve_points + 0/index = 0 + 0/db_attenuation = -24.0 + 1/index = 33 + 1/db_attenuation = -18.0 + 2/index = 66 + 2/db_attenuation = -12.0 + 3/index = 100 + 3/db_attenuation = -6.0 + component: extmedia_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -58.0 + 1/index = 33 + 1/db_attenuation = -40.0 + 2/index = 66 + 2/db_attenuation = -17.0 + 3/index = 100 + 3/db_attenuation = 0.0 + + component: enforced_audible/volume_profiles + component: headset_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -30.0 + 1/index = 33 + 1/db_attenuation = -26.0 + 2/index = 66 + 2/db_attenuation = -22.0 + 3/index = 100 + 3/db_attenuation = -18.0 + component: speaker_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -24.0 + 1/index = 33 + 1/db_attenuation = -18.0 + 2/index = 66 + 2/db_attenuation = -12.0 + 3/index = 100 + 3/db_attenuation = -6.0 + component: earpiece_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -24.0 + 1/index = 33 + 1/db_attenuation = -18.0 + 2/index = 66 + 2/db_attenuation = -12.0 + 3/index = 100 + 3/db_attenuation = -6.0 + component: extmedia_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -58.0 + 1/index = 33 + 1/db_attenuation = -40.0 + 2/index = 66 + 2/db_attenuation = -27.0 + 3/index = 100 + 3/db_attenuation = -10.0 + + component: tts/volume_profiles + component: headset_device_category/curve_points + 0/index = 0 + 0/db_attenuation = -96.0 + 1/index = 1 + 1/db_attenuation = -96.0 + 2/index = 2 + 2/db_attenuation = -96.0 + 3/index = 100 + 3/db_attenuation = -96.0 + component: speaker_device_category/curve_points + 0/index = 0 + 0/db_attenuation = -96.0 + 1/index = 33 + 1/db_attenuation = -68.0 + 2/index = 66 + 2/db_attenuation = -34.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: earpiece_device_category/curve_points + 0/index = 0 + 0/db_attenuation = -96.0 + 1/index = 1 + 1/db_attenuation = -96.0 + 2/index = 2 + 2/db_attenuation = -96.0 + 3/index = 100 + 3/db_attenuation = -96.0 + component: extmedia_device_category/curve_points + 0/index = 0 + 0/db_attenuation = -96.0 + 1/index = 1 + 1/db_attenuation = -96.0 + 2/index = 2 + 2/db_attenuation = -96.0 + 3/index = 100 + 3/db_attenuation = -96.0 + + component: accessibility/volume_profiles + component: headset_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -58.0 + 1/index = 33 + 1/db_attenuation = -40.0 + 2/index = 66 + 2/db_attenuation = -17.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: speaker_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -56.0 + 1/index = 33 + 1/db_attenuation = -34.0 + 2/index = 66 + 2/db_attenuation = -11.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: earpiece_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -58.0 + 1/index = 33 + 1/db_attenuation = -40.0 + 2/index = 66 + 2/db_attenuation = -17.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: extmedia_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -58.0 + 1/index = 33 + 1/db_attenuation = -40.0 + 2/index = 66 + 2/db_attenuation = -17.0 + 3/index = 100 + 3/db_attenuation = 0.0 + + component: rerouting/volume_profiles + component: headset_device_category/curve_points + 0/index = 0 + 0/db_attenuation = 0.0 + 1/index = 1 + 1/db_attenuation = 0.0 + 2/index = 2 + 2/db_attenuation = 0.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: speaker_device_category/curve_points + 0/index = 0 + 0/db_attenuation = 0.0 + 1/index = 1 + 1/db_attenuation = 0.0 + 2/index = 2 + 2/db_attenuation = 0.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: earpiece_device_category/curve_points + 0/index = 0 + 0/db_attenuation = 0.0 + 1/index = 1 + 1/db_attenuation = 0.0 + 2/index = 2 + 2/db_attenuation = 0.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: extmedia_device_category/curve_points + 0/index = 0 + 0/db_attenuation = 0.0 + 1/index = 1 + 1/db_attenuation = 0.0 + 2/index = 2 + 2/db_attenuation = 0.0 + 3/index = 100 + 3/db_attenuation = 0.0 + + component: patch/volume_profiles + component: headset_device_category/curve_points + 0/index = 0 + 0/db_attenuation = 0.0 + 1/index = 1 + 1/db_attenuation = 0.0 + 2/index = 2 + 2/db_attenuation = 0.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: speaker_device_category/curve_points + 0/index = 0 + 0/db_attenuation = 0.0 + 1/index = 1 + 1/db_attenuation = 0.0 + 2/index = 2 + 2/db_attenuation = 0.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: earpiece_device_category/curve_points + 0/index = 0 + 0/db_attenuation = 0.0 + 1/index = 1 + 1/db_attenuation = 0.0 + 2/index = 2 + 2/db_attenuation = 0.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: extmedia_device_category/curve_points + 0/index = 0 + 0/db_attenuation = 0.0 + 1/index = 1 + 1/db_attenuation = 0.0 + 2/index = 2 + 2/db_attenuation = 0.0 + 3/index = 100 + 3/db_attenuation = 0.0 + + domain: Dtmf + conf: InCall + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + + component: /Policy/policy/streams + component: dtmf/volume_profiles + component: headset_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -30.0 + 1/index = 33 + 1/db_attenuation = -26.0 + 2/index = 66 + 2/db_attenuation = -22.0 + 3/index = 100 + 3/db_attenuation = -18.0 + component: speaker_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -24.0 + 1/index = 33 + 1/db_attenuation = -18.0 + 2/index = 66 + 2/db_attenuation = -12.0 + 3/index = 100 + 3/db_attenuation = -6.0 + component: earpiece_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -24.0 + 1/index = 33 + 1/db_attenuation = -18.0 + 2/index = 66 + 2/db_attenuation = -12.0 + 3/index = 100 + 3/db_attenuation = -6.0 + component: extmedia_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -58.0 + 1/index = 33 + 1/db_attenuation = -40.0 + 2/index = 66 + 2/db_attenuation = -27.0 + 3/index = 100 + 3/db_attenuation = -10.0 + + conf: OutOfCall + component: /Policy/policy/streams + component: dtmf/volume_profiles + component: headset_device_category/curve_points + 0/index = 0 + 0/db_attenuation = -24.0 + 1/index = 33 + 1/db_attenuation = -18.0 + 2/index = 66 + 2/db_attenuation = -12.0 + 3/index = 100 + 3/db_attenuation = -6.0 + component: speaker_device_category/curve_points + 0/index = 0 + 0/db_attenuation = -24.0 + 1/index = 33 + 1/db_attenuation = -16.0 + 2/index = 66 + 2/db_attenuation = -8.0 + 3/index = 100 + 3/db_attenuation = 0.0 + component: earpiece_device_category/curve_points + 0/index = 0 + 0/db_attenuation = -24.0 + 1/index = 33 + 1/db_attenuation = -18.0 + 2/index = 66 + 2/db_attenuation = -12.0 + 3/index = 100 + 3/db_attenuation = -6.0 + component: extmedia_device_category/curve_points + 0/index = 1 + 0/db_attenuation = -58.0 + 1/index = 33 + 1/db_attenuation = -40.0 + 2/index = 66 + 2/db_attenuation = -17.0 + 3/index = 100 + 3/db_attenuation = 0.0 + diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Structure/PolicyClass.xml b/services/audiopolicy/engineconfigurable/parameter-framework/example/Structure/PolicyClass.xml new file mode 100755 index 0000000..296879f --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Structure/PolicyClass.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<SystemClass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="../../Schemas/SystemClass.xsd" Name="Policy"> + <SubsystemInclude Path="PolicySubsystem.xml"/> +</SystemClass> diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Structure/PolicySubsystem-CommonTypes.xml b/services/audiopolicy/engineconfigurable/parameter-framework/example/Structure/PolicySubsystem-CommonTypes.xml new file mode 100755 index 0000000..821d6ad --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Structure/PolicySubsystem-CommonTypes.xml @@ -0,0 +1,170 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ComponentTypeSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xi="http://www.w3.org/2001/XInclude" + xsi:noNamespaceSchemaLocation="Schemas/ComponentTypeSet.xsd"> + <!-- Output devices definition as a bitfield for the supported devices per output + profile. It must match with the output device enum parameter. + --> + <!--#################### GLOBAL COMPONENTS BEGIN ####################--> + <!-- Common Types defintion --> + <xi:include href="PolicySubsystem-Volume.xml"/> + + <!--#################### GLOBAL COMPONENTS END ####################--> + + <ComponentType Name="OutputDevicesMask" Description="32th bit is not allowed as dedicated + for input devices detection"> + <BitParameterBlock Name="mask" Size="32"> + <BitParameter Name="earpiece" Size="1" Pos="0"/> + <BitParameter Name="speaker" Size="1" Pos="1"/> + <BitParameter Name="wired_headset" Size="1" Pos="2"/> + <BitParameter Name="wired_headphone" Size="1" Pos="3"/> + <BitParameter Name="bluetooth_sco" Size="1" Pos="4"/> + <BitParameter Name="bluetooth_sco_headset" Size="1" Pos="5"/> + <BitParameter Name="bluetooth_sco_carkit" Size="1" Pos="6"/> + <BitParameter Name="bluetooth_a2dp" Size="1" Pos="7"/> + <BitParameter Name="bluetooth_a2dp_headphones" Size="1" Pos="8"/> + <BitParameter Name="bluetooth_a2dp_speaker" Size="1" Pos="9"/> + <BitParameter Name="hdmi" Size="1" Pos="10"/> + <BitParameter Name="angl_dock_headset" Size="1" Pos="11"/> + <BitParameter Name="dgtl_dock_headset" Size="1" Pos="12"/> + <BitParameter Name="usb_accessory" Size="1" Pos="13"/> + <BitParameter Name="usb_device" Size="1" Pos="14"/> + <BitParameter Name="remote_submix" Size="1" Pos="15"/> + <BitParameter Name="telephony_tx" Size="1" Pos="26"/> + <BitParameter Name="line" Size="1" Pos="17"/> + <BitParameter Name="hdmi_arc" Size="1" Pos="18"/> + <BitParameter Name="spdif" Size="1" Pos="19"/> + <BitParameter Name="fm" Size="1" Pos="20"/> + <BitParameter Name="aux_line" Size="1" Pos="21"/> + <BitParameter Name="speaker_safe" Size="1" Pos="22"/> + </BitParameterBlock> + </ComponentType> + + <!-- Input devices definition as a bitfield for the supported devices per Input + profile. It must match with the Input device enum parameter. + --> + <ComponentType Name="InputDevicesMask"> + <BitParameterBlock Name="mask" Size="32"> + <BitParameter Name="communication" Size="1" Pos="0"/> + <BitParameter Name="ambient" Size="1" Pos="1"/> + <BitParameter Name="builtin_mic" Size="1" Pos="2"/> + <BitParameter Name="bluetooth_sco_headset" Size="1" Pos="3"/> + <BitParameter Name="wired_headset" Size="1" Pos="4"/> + <BitParameter Name="hdmi" Size="1" Pos="5"/> + <BitParameter Name="telephony_rx" Size="1" Pos="6"/> + <BitParameter Name="back_mic" Size="1" Pos="7"/> + <BitParameter Name="remote_submix" Size="1" Pos="8"/> + <BitParameter Name="anlg_dock_headset" Size="1" Pos="9"/> + <BitParameter Name="dgtl_dock_headset" Size="1" Pos="10"/> + <BitParameter Name="usb_accessory" Size="1" Pos="11"/> + <BitParameter Name="usb_device" Size="1" Pos="12"/> + <BitParameter Name="fm_tuner" Size="1" Pos="13"/> + <BitParameter Name="tv_tuner" Size="1" Pos="14"/> + <BitParameter Name="line" Size="1" Pos="15"/> + <BitParameter Name="spdif" Size="1" Pos="16"/> + <BitParameter Name="bluetooth_a2dp" Size="1" Pos="17"/> + <BitParameter Name="loopback" Size="1" Pos="18"/> + <BitParameter Name="in" Size="1" Pos="31"/> + </BitParameterBlock> + </ComponentType> + + <ComponentType Name="OutputFlags" + Description="the audio output flags serve two purposes: + - when an AudioTrack is created they indicate a wish to be connected to an + output stream with attributes corresponding to the specified flags. + - when present in an output profile descriptor listed for a particular audio + hardware module, they indicate that an output stream can be opened that + supports the attributes indicated by the flags. + The audio policy manager will try to match the flags in the request + (when getOuput() is called) to an available output stream."> + <BitParameterBlock Name="mask" Size="32"> + <BitParameter Name="direct" Size="1" Pos="0"/> + <BitParameter Name="primary" Size="1" Pos="1"/> + <BitParameter Name="fast" Size="1" Pos="2"/> + <BitParameter Name="deep_buffer" Size="1" Pos="3"/> + <BitParameter Name="compress_offload" Size="1" Pos="4"/> + <BitParameter Name="non_blocking" Size="1" Pos="5"/> + <BitParameter Name="hw_av_sync" Size="1" Pos="6"/> + </BitParameterBlock> + </ComponentType> + + <ComponentType Name="InputFlags" + Description="The audio input flags are analogous to audio output flags. + Currently they are used only when an AudioRecord is created, + to indicate a preference to be connected to an input stream with + attributes corresponding to the specified flags."> + <BitParameterBlock Name="mask" Size="32"> + <BitParameter Name="fast" Size="1" Pos="0"/> + <BitParameter Name="hw_hotword" Size="1" Pos="2"/> + </BitParameterBlock> + </ComponentType> + + <ComponentType Name="InputSourcesMask" Description="The audio input source is also known + as the use case."> + <BitParameterBlock Name="mask" Size="32"> + <BitParameter Name="default" Size="1" Pos="0"/> + <BitParameter Name="mic" Size="1" Pos="1"/> + <BitParameter Name="voice_uplink" Size="1" Pos="2"/> + <BitParameter Name="voice_downlink" Size="1" Pos="3"/> + <BitParameter Name="voice_call" Size="1" Pos="4"/> + <BitParameter Name="camcorder" Size="1" Pos="5"/> + <BitParameter Name="voice_recognition" Size="1" Pos="6"/> + <BitParameter Name="voice_communication" Size="1" Pos="7"/> + <BitParameter Name="remote_submix" Size="1" Pos="8"/> + <BitParameter Name="fm_tuner" Size="1" Pos="9"/> + <BitParameter Name="hotword" Size="1" Pos="10"/> + </BitParameterBlock> + </ComponentType> + + <!-- Routing Strategy definition as an enumeration. Numerical value must match the value + of the routing strategy in policy header file. --> + <ComponentType Name="Strategy"> + <EnumParameter Name="strategy" Size="32"> + <ValuePair Literal="media" Numerical="0"/> + <ValuePair Literal="phone" Numerical="1"/> + <ValuePair Literal="sonification" Numerical="2"/> + <ValuePair Literal="sonification_respectful" Numerical="3"/> + <ValuePair Literal="dtmf" Numerical="4"/> + <ValuePair Literal="enforced_audible" Numerical="5"/> + <ValuePair Literal="transmitted_through_speaker" Numerical="6"/> + <ValuePair Literal="accessibility" Numerical="7"/> + <ValuePair Literal="rerouting" Numerical="8"/> + </EnumParameter> + </ComponentType> + + <!--#################### STRATEGY COMMON TYPES BEGIN ####################--> + + <ComponentType Name="StrategyConfig" Mapping="Strategy:'%1'"> + <Component Name="selected_output_devices" Type="OutputDevicesMask"/> + </ComponentType> + + <!--#################### STRATEGY COMMON TYPES END ####################--> + + <!--#################### STREAM COMMON TYPES BEGIN ####################--> + + <ComponentType Name="Stream"> + <Component Name="applicable_strategy" Type="Strategy" Mapping="Stream:'%1'"/> + <Component Name="volume_profiles" Type="VolumeCurvesCategories" + Description="A volume profile is refered by the stream type."/> + </ComponentType> + + <!--#################### STREAM COMMON TYPES END ####################--> + + <!--#################### USAGE COMMON TYPES BEGIN ####################--> + + <ComponentType Name="Usage"> + <Component Name="applicable_strategy" Type="Strategy" Mapping="Usage:'%1'"/> + </ComponentType> + + <!--#################### USAGE COMMON TYPES END ####################--> + + <!--#################### INPUT SOURCE COMMON TYPES BEGIN ####################--> + + <ComponentType Name="InputSource"> + <Component Name="applicable_input_device" Type="InputDevicesMask" + Mapping="InputSource:'%1'" Description="Selected Input device"/> + </ComponentType> + + <!--#################### INPUT SOURCE COMMON TYPES END ####################--> + +</ComponentTypeSet> diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Structure/PolicySubsystem-Volume.xml b/services/audiopolicy/engineconfigurable/parameter-framework/example/Structure/PolicySubsystem-Volume.xml new file mode 100755 index 0000000..cf39cc2 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Structure/PolicySubsystem-Volume.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ComponentTypeSet xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="Schemas/ComponentTypeSet.xsd"> + <ComponentType Name="VolumeCurvePoints"> + <ParameterBlock Name="curve_points" ArrayLength="4" Mapping="VolumeProfile:'%1'" + Description="4 points to define the volume attenuation curve, each + characterized by the volume index (from 0 to 100) at which + they apply, and the attenuation in dB at that index. + We use 100 steps to avoid rounding errors when computing + the volume"> + <IntegerParameter Name="index" Size="32"/> + <FixedPointParameter Name="db_attenuation" Size="16" Integral="7" Fractional="8"/> + </ParameterBlock> + </ComponentType> + + <ComponentType Name="VolumeCurvesCategories"> + <Component Name="headset_device_category" Type="VolumeCurvePoints" Mapping="Category:0"/> + <Component Name="speaker_device_category" Type="VolumeCurvePoints" Mapping="Category:1"/> + <Component Name="earpiece_device_category" Type="VolumeCurvePoints" Mapping="Category:2"/> + <Component Name="extmedia_device_category" Type="VolumeCurvePoints" Mapping="Category:3"/> + </ComponentType> + +</ComponentTypeSet> + + diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Structure/PolicySubsystem.xml b/services/audiopolicy/engineconfigurable/parameter-framework/example/Structure/PolicySubsystem.xml new file mode 100755 index 0000000..b21f6ae --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Structure/PolicySubsystem.xml @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Subsystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xi="http://www.w3.org/2001/XInclude" + xsi:noNamespaceSchemaLocation="Schemas/Subsystem.xsd" + Name="policy" Type="Policy" Endianness="Little"> + + <ComponentLibrary> + <!--#################### GLOBAL COMPONENTS BEGIN ####################--> + <!-- Common Types defintion --> + <xi:include href="PolicySubsystem-CommonTypes.xml"/> + + <!--#################### GLOBAL COMPONENTS END ####################--> + + <!--#################### STRATEGY BEGIN ####################--> + + <ComponentType Name="Strategies" Description="Identifier must match the enum value to make + the link between the PolicyManager and PFW"> + <Component Name="media" Type="StrategyConfig" Mapping="Amend1:Media,Identifier:0"/> + <Component Name="phone" Type="StrategyConfig" Mapping="Amend1:Phone,Identifier:1"/> + <Component Name="sonification" Type="StrategyConfig" + Mapping="Amend1:Sonification,Identifier:2"/> + <Component Name="sonification_respectful" Type="StrategyConfig" + Mapping="Amend1:SonificationRespectful,Identifier:3"/> + <Component Name="dtmf" Type="StrategyConfig" Mapping="Amend1:Dtmf,Identifier:4"/> + <Component Name="enforced_audible" Type="StrategyConfig" + Mapping="Amend1:EnforcedAudible,Identifier:5"/> + <Component Name="transmitted_through_speaker" Type="StrategyConfig" + Mapping="Amend1:TransmittedThroughSpeaker,Identifier:6"/> + <Component Name="accessibility" Type="StrategyConfig" + Mapping="Amend1:Accessibility,Identifier:7"/> + <Component Name="rerouting" Type="StrategyConfig" + Mapping="Amend1:Rerouting,Identifier:8"/> + </ComponentType> + + <!--#################### STRATEGY END ####################--> + + <!--#################### STREAM BEGIN ####################--> + + <ComponentType Name="Streams" Description="associated to audio_stream_type_t definition, + identifier mapping must match the value of the enum"> + <Component Name="voice_call" Type="Stream" Mapping="Amend1:VoiceCall,Identifier:0"/> + <Component Name="system" Type="Stream" Mapping="Amend1:System,Identifier:1"/> + <Component Name="ring" Type="Stream" Mapping="Amend1:Ring,Identifier:2"/> + <Component Name="music" Type="Stream" Mapping="Amend1:Music,Identifier:3"/> + <Component Name="alarm" Type="Stream" Mapping="Amend1:Alarm,Identifier:4"/> + <Component Name="notification" Type="Stream" + Mapping="Amend1:Notification,Identifier:5"/> + <Component Name="bluetooth_sco" Type="Stream" + Mapping="Amend1:BluetoothSco,Identifier:6"/> + <Component Name="enforced_audible" Type="Stream" + Mapping="Amend1:EnforceAudible,Identifier:7" + Description="Sounds that cannot be muted by user and must + be routed to speaker"/> + <Component Name="dtmf" Type="Stream" Mapping="Amend1:Dtmf,Identifier:8"/> + <Component Name="tts" Type="Stream" Mapping="Amend1:Tts,Identifier:9" + Description="Transmitted Through Speaker. + Plays over speaker only, silent on other devices"/> + <Component Name="accessibility" Type="Stream" + Mapping="Amend1:Accessibility,Identifier:10" + Description="For accessibility talk back prompts"/> + <Component Name="rerouting" Type="Stream" Mapping="Amend1:Rerouting,Identifier:11" + Description="For dynamic policy output mixes"/> + <Component Name="patch" Type="Stream" Mapping="Amend1:Patch,Identifier:12" + Description="For internal audio flinger tracks. Fixed volume"/> + </ComponentType> + + <!--#################### STREAM END ####################--> + + <!--#################### USAGE BEGIN ####################--> + + <ComponentType Name="Usages" Description="associated to audio_stream_type_t definition, + identifier mapping must match the value of the enum"> + <Component Name="unknown" Type="Usage" Mapping="Amend1:Unknown,Identifier:0"/> + <Component Name="media" Type="Usage" Mapping="Amend1:Media,Identifier:1"/> + <Component Name="voice_communication" Type="Usage" + Mapping="Amend1:VoiceCommunication,Identifier:2"/> + <Component Name="voice_communication_signalling" Type="Usage" + Mapping="Amend1:VoiceCommunicationSignalling,Identifier:3"/> + <Component Name="alarm" Type="Usage" Mapping="Amend1:Alarm,Identifier:4"/> + <Component Name="notification" Type="Usage" Mapping="Amend1:Notification,Identifier:5"/> + <Component Name="notification_telephony_ringtone" Type="Usage" + Mapping="Amend1:NotificationTelephonyRingtone,Identifier:6"/> + <Component Name="notification_communication_request" Type="Usage" + Mapping="Amend1:NotificationCommunicationRequest,Identifier:7"/> + <Component Name="notification_communication_instant" Type="Usage" + Mapping="Amend1:NotificationCommunicationInstant,Identifier:8"/> + <Component Name="notification_communication_delayed" Type="Usage" + Mapping="Amend1:NotificationCommunicationDelated,Identifier:9"/> + <Component Name="notification_event" Type="Usage" + Mapping="Amend1:NotificationEvent,Identifier:10"/> + <Component Name="assistance_accessibility" Type="Usage" + Mapping="Amend1:AssistanceAccessibility,Identifier:11"/> + <Component Name="assistance_navigation_guidance" Type="Usage" + Mapping="Amend1:AssistanceNavigationGuidance,Identifier:12"/> + <Component Name="assistance_sonification" Type="Usage" + Mapping="Amend1:AssistanceSonification,Identifier:13"/> + <Component Name="game" Type="Usage" Mapping="Amend1:BluetoothSco,Identifier:14"/> + <Component Name="virtual_source" Type="Usage" + Mapping="Amend1:VirtualSource,Identifier:15"/> + </ComponentType> + + <!--#################### USAGE END ####################--> + + <!--#################### INPUT SOURCE BEGIN ####################--> + + <ComponentType Name="InputSources" Description="associated to audio_source_t definition, + identifier mapping must match the value of the enum"> + <Component Name="default" Type="InputSource" Mapping="Amend1:Default,Identifier:0"/> + <Component Name="mic" Type="InputSource" Mapping="Amend1:Mic,Identifier:1"/> + <Component Name="voice_uplink" Type="InputSource" + Mapping="Amend1:VoiceUplink,Identifier:2"/> + <Component Name="voice_downlink" Type="InputSource" + Mapping="Amend1:VoiceDownlink,Identifier:3"/> + <Component Name="voice_call" Type="InputSource" + Mapping="Amend1:VoiceCall,Identifier:4"/> + <Component Name="camcorder" Type="InputSource" Mapping="Amend1:Camcorder,Identifier:5"/> + <Component Name="voice_recognition" Type="InputSource" + Mapping="Amend1:VoiceRecognition,Identifier:6"/> + <Component Name="voice_communication" Type="InputSource" + Mapping="Amend1:VoiceCommunication,Identifier:7"/> + <Component Name="remote_submix" Type="InputSource" + Mapping="Amend1:RemoteSubmix,Identifier:8"/> + <Component Name="fm_tuner" Type="InputSource" Mapping="Amend1:FmTuner,Identifier:1998"/> + <Component Name="hotword" Type="InputSource" Mapping="Amend1:Hotword,Identifier:1999"/> + </ComponentType> + + <!--#################### INPUT SOURCE END ####################--> + + </ComponentLibrary> + + <InstanceDefinition> + <Component Name="streams" Type="Streams"/> + <Component Name="strategies" Type="Strategies"/> + <Component Name="input_sources" Type="InputSources"/> + <Component Name="usages" Type="Usages"/> + </InstanceDefinition> +</Subsystem> diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/policy_criteria.txt b/services/audiopolicy/engineconfigurable/parameter-framework/example/policy_criteria.txt new file mode 100755 index 0000000..ef06498 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/policy_criteria.txt @@ -0,0 +1,9 @@ +ExclusiveCriterion TelephonyMode : Normal RingTone InCall InCommunication +InclusiveCriterion AvailableInputDevices : Communication Ambient BuiltinMic BluetoothScoHeadset WiredHeadset Hdmi TelephonyRx BackMic RemoteSubmix AnlgDockHeadset DgtlDockHeadset UsbAccessory UsbDevice FmTuner TvTuner Line Spdif BluetoothA2dp Loopback +InclusiveCriterion AvailableOutputDevices : Earpiece Speaker WiredSpeaker WiredHeadset WiredHeadphone BluetoothSco BluetoothScoHeadset BluetoothScoCarkit BluetoothA2dp BluetoothA2dpHeadphones BluetoothA2dpSpeaker Hdmi AnlgDockHeadset DgtlDockHeadset UsbAccessory UsbDevice RemoteSubmix TelephonyTx Line HdmiArc Spdif Fm AuxLine SpeakerSafe +ExclusiveCriterion ForceUseForCommunication : ForceNone ForceSpeaker ForceBtSco +ExclusiveCriterion ForceUseForMedia : ForceNone ForceSpeaker ForceHeadphones ForceBtA2dp ForceWiredAccessory ForceAnalogDock ForceDigitalDock ForceNoBtA2dp ForceSystemEnforced +ExclusiveCriterion ForceUseForRecord : ForceNone ForceBtSco ForceWiredAccessory +ExclusiveCriterion ForceUseForDock : ForceNone ForceWiredAccessory ForceBtCarDock ForceBtDeskDock ForceAnalogDock ForceDigitalDock +ExclusiveCriterion ForceUseForSystem : ForceNone ForceSystemEnforced +ExclusiveCriterion ForceUseForHdmiSystemAudio : ForceNone ForceHdmiSystemEnforced diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Android.mk b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Android.mk new file mode 100755 index 0000000..46b2725 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Android.mk @@ -0,0 +1,41 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := \ + PolicySubsystemBuilder.cpp \ + PolicySubsystem.cpp \ + Strategy.cpp \ + InputSource.cpp \ + VolumeProfile.cpp \ + Stream.cpp \ + Usage.cpp + +LOCAL_CFLAGS += \ + -Wall \ + -Werror \ + -Wextra \ + +LOCAL_C_INCLUDES := \ + $(TOPDIR)external/parameter-framework/parameter \ + $(TOPDIR)frameworks/av/services/audiopolicy/common/include \ + $(TOPDIR)frameworks/av/services/audiopolicy/engineconfigurable/include \ + $(TOPDIR)frameworks/av/services/audiopolicy/engineconfigurable/interface \ + +LOCAL_SHARED_LIBRARIES := \ + libaudiopolicyengineconfigurable \ + libparameter \ + libicuuc \ + liblog \ + +LOCAL_STATIC_LIBRARIES := \ + libxmlserializer \ + libpfw_utility \ + libxml2 \ + +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE := libpolicy-subsystem + +include $(BUILD_SHARED_LIBRARY) + diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/plugin/InputSource.cpp b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/InputSource.cpp new file mode 100755 index 0000000..497d555 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/InputSource.cpp @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2015 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. + */ + +#include "InputSource.h" +#include "PolicyMappingKeys.h" +#include "PolicySubsystem.h" + +using std::string; + +InputSource::InputSource(const string &mappingValue, + CInstanceConfigurableElement *instanceConfigurableElement, + const CMappingContext &context) + : CFormattedSubsystemObject(instanceConfigurableElement, + mappingValue, + MappingKeyAmend1, + (MappingKeyAmendEnd - MappingKeyAmend1 + 1), + context), + mPolicySubsystem(static_cast<const PolicySubsystem *>( + instanceConfigurableElement->getBelongingSubsystem())), + mPolicyPluginInterface(mPolicySubsystem->getPolicyPluginInterface()), + mApplicableInputDevice(mDefaultApplicableInputDevice) +{ + mId = static_cast<audio_source_t>(context.getItemAsInteger(MappingKeyIdentifier)); + // Declares the strategy to audio policy engine + mPolicyPluginInterface->addInputSource(getFormattedMappingValue(), mId); +} + +bool InputSource::receiveFromHW(string & /*error*/) +{ + blackboardWrite(&mApplicableInputDevice, sizeof(mApplicableInputDevice)); + return true; +} + +bool InputSource::sendToHW(string & /*error*/) +{ + uint32_t applicableInputDevice; + blackboardRead(&applicableInputDevice, sizeof(applicableInputDevice)); + mApplicableInputDevice = applicableInputDevice; + return mPolicyPluginInterface->setDeviceForInputSource(mId, mApplicableInputDevice); +} diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/plugin/InputSource.h b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/InputSource.h new file mode 100755 index 0000000..67c5b50 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/InputSource.h @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +#include "FormattedSubsystemObject.h" +#include "InstanceConfigurableElement.h" +#include "MappingContext.h" +#include <AudioPolicyPluginInterface.h> +#include <string> + +class PolicySubsystem; + +class InputSource : public CFormattedSubsystemObject +{ +public: + InputSource(const std::string &mappingValue, + CInstanceConfigurableElement *instanceConfigurableElement, + const CMappingContext &context); + +protected: + virtual bool receiveFromHW(std::string &error); + virtual bool sendToHW(std::string &error); + +private: + const PolicySubsystem *mPolicySubsystem; /**< Route subsytem plugin. */ + + /** + * Interface to communicate with Audio Policy Engine. + */ + android::AudioPolicyPluginInterface *mPolicyPluginInterface; + + audio_source_t mId; /**< input source identifier to link with audio.h. */ + uint32_t mApplicableInputDevice; /**< applicable input device for this strategy. */ + static const uint32_t mDefaultApplicableInputDevice = 0; /**< default input device. */ +}; diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/plugin/PolicyMappingKeys.h b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/PolicyMappingKeys.h new file mode 100755 index 0000000..53944e9 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/PolicyMappingKeys.h @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +/** + * Mapping item types + */ +enum PolicyItemType +{ + MappingKeyName, + MappingKeyCategory, + MappingKeyIdentifier, + MappingKeyAmend1, + MappingKeyAmend2, + MappingKeyAmend3 +}; + +static const uint8_t MappingKeyAmendEnd = MappingKeyAmend3; diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/plugin/PolicySubsystem.cpp b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/PolicySubsystem.cpp new file mode 100755 index 0000000..a5dab36 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/PolicySubsystem.cpp @@ -0,0 +1,105 @@ +/* + * Copyright (C) 2015 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. + */ + +#include "PolicySubsystem.h" +#include "SubsystemObjectFactory.h" +#include "PolicyMappingKeys.h" +#include "Strategy.h" +#include "Stream.h" +#include "InputSource.h" +#include "VolumeProfile.h" +#include "Usage.h" +#include <AudioPolicyPluginInterface.h> +#include <AudioPolicyEngineInstance.h> +#include <utils/Log.h> + +using android::audio_policy::EngineInstance; + +const char *const PolicySubsystem::mKeyName = "Name"; +const char *const PolicySubsystem::mKeyIdentifier = "Identifier"; +const char *const PolicySubsystem::mKeyCategory = "Category"; +const char *const PolicySubsystem::mKeyAmend1 = "Amend1"; +const char *const PolicySubsystem::mKeyAmend2 = "Amend2"; +const char *const PolicySubsystem::mKeyAmend3 = "Amend3"; + + +const char *const PolicySubsystem::mStreamComponentName = "Stream"; +const char *const PolicySubsystem::mStrategyComponentName = "Strategy"; +const char *const PolicySubsystem::mInputSourceComponentName = "InputSource"; +const char *const PolicySubsystem::mUsageComponentName = "Usage"; +const char *const PolicySubsystem::mVolumeProfileComponentName = "VolumeProfile"; + +PolicySubsystem::PolicySubsystem(const std::string &name) + : CSubsystem(name), + mPluginInterface(NULL) +{ + // Try to connect a Plugin Interface from Audio Policy Engine + EngineInstance *engineInstance = EngineInstance::getInstance(); + + if (engineInstance == NULL) { + ALOG_ASSERT(engineInstance != NULL, "NULL Plugin Interface"); + return; + } + // Retrieve the Route Interface + mPluginInterface = engineInstance->queryInterface<android::AudioPolicyPluginInterface>(); + if (mPluginInterface == NULL) { + // bailing out + ALOG_ASSERT(mPluginInterface != NULL, "NULL Plugin Interface"); + return; + } + + // Provide mapping keys to the core, necessary when parsing the XML Structure files. + addContextMappingKey(mKeyName); + addContextMappingKey(mKeyCategory); + addContextMappingKey(mKeyIdentifier); + addContextMappingKey(mKeyAmend1); + addContextMappingKey(mKeyAmend2); + addContextMappingKey(mKeyAmend3); + + // Provide creators to upper layer + addSubsystemObjectFactory( + new TSubsystemObjectFactory<Stream>( + mStreamComponentName, + (1 << MappingKeyAmend1) | (1 << MappingKeyIdentifier)) + ); + addSubsystemObjectFactory( + new TSubsystemObjectFactory<Strategy>( + mStrategyComponentName, + (1 << MappingKeyAmend1) | (1 << MappingKeyIdentifier)) + ); + addSubsystemObjectFactory( + new TSubsystemObjectFactory<Usage>( + mUsageComponentName, + (1 << MappingKeyAmend1) | (1 << MappingKeyIdentifier)) + ); + addSubsystemObjectFactory( + new TSubsystemObjectFactory<InputSource>( + mInputSourceComponentName, + (1 << MappingKeyAmend1) | (1 << MappingKeyIdentifier)) + ); + addSubsystemObjectFactory( + new TSubsystemObjectFactory<VolumeProfile>( + mVolumeProfileComponentName, + (1 << MappingKeyAmend1) | (1 << MappingKeyIdentifier) | (1 << MappingKeyIdentifier)) + ); +} + +// Retrieve Route interface +android::AudioPolicyPluginInterface *PolicySubsystem::getPolicyPluginInterface() const +{ + ALOG_ASSERT(mPluginInterface != NULL, "NULL Plugin Interface"); + return mPluginInterface; +} diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/plugin/PolicySubsystem.h b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/PolicySubsystem.h new file mode 100755 index 0000000..3c26fe1 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/PolicySubsystem.h @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +#include "Subsystem.h" +#include <string> + +namespace android { + +class AudioPolicyPluginInterface; + +} + +class PolicySubsystem : public CSubsystem +{ +public: + PolicySubsystem(const std::string &strName); + + /** + * Retrieve Route Manager interface. + * + * @return RouteManager interface for the route plugin. + */ + android::AudioPolicyPluginInterface *getPolicyPluginInterface() const; + +private: + /* Copy facilities are put private to disable copy. */ + PolicySubsystem(const PolicySubsystem &object); + PolicySubsystem &operator=(const PolicySubsystem &object); + + android::AudioPolicyPluginInterface *mPluginInterface; /**< Audio Policy Plugin Interface. */ + + static const char *const mKeyName; /**< name key mapping string. */ + static const char *const mKeyIdentifier; + static const char *const mKeyCategory; + + static const char *const mKeyAmend1; /**< amend1 key mapping string. */ + static const char *const mKeyAmend2; /**< amend2 key mapping string. */ + static const char *const mKeyAmend3; /**< amend3 key mapping string. */ + + static const char *const mStreamComponentName; + static const char *const mStrategyComponentName; + static const char *const mInputSourceComponentName; + static const char *const mUsageComponentName; + static const char *const mVolumeProfileComponentName; +}; diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/plugin/PolicySubsystemBuilder.cpp b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/PolicySubsystemBuilder.cpp new file mode 100755 index 0000000..b14d446 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/PolicySubsystemBuilder.cpp @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2015 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. + */ + +#include "SubsystemLibrary.h" +#include "NamedElementBuilderTemplate.h" +#include "PolicySubsystem.h" + +static const char *const POLICY_SUBSYSTEM_NAME = "Policy"; +extern "C" +{ +void getPOLICYSubsystemBuilder(CSubsystemLibrary *subsystemLibrary) +{ + subsystemLibrary->addElementBuilder(POLICY_SUBSYSTEM_NAME, + new TNamedElementBuilderTemplate<PolicySubsystem>()); +} +} diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Strategy.cpp b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Strategy.cpp new file mode 100755 index 0000000..1848813 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Strategy.cpp @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2015 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. + */ + +#include "Strategy.h" +#include "PolicyMappingKeys.h" +#include "PolicySubsystem.h" + +using std::string; +using android::routing_strategy; + +Strategy::Strategy(const string &mappingValue, + CInstanceConfigurableElement *instanceConfigurableElement, + const CMappingContext &context) + : CFormattedSubsystemObject(instanceConfigurableElement, + mappingValue, + MappingKeyAmend1, + (MappingKeyAmendEnd - MappingKeyAmend1 + 1), + context), + mPolicySubsystem(static_cast<const PolicySubsystem *>( + instanceConfigurableElement->getBelongingSubsystem())), + mPolicyPluginInterface(mPolicySubsystem->getPolicyPluginInterface()), + mApplicableOutputDevice(mDefaultApplicableOutputDevice) +{ + mId = static_cast<routing_strategy>(context.getItemAsInteger(MappingKeyIdentifier)); + + // Declares the strategy to audio policy engine + mPolicyPluginInterface->addStrategy(getFormattedMappingValue(), mId); +} + +bool Strategy::receiveFromHW(string & /*error*/) +{ + blackboardWrite(&mApplicableOutputDevice, sizeof(mApplicableOutputDevice)); + return true; +} + +bool Strategy::sendToHW(string & /*error*/) +{ + uint32_t applicableOutputDevice; + blackboardRead(&applicableOutputDevice, sizeof(applicableOutputDevice)); + return mPolicyPluginInterface->setDeviceForStrategy(mId, applicableOutputDevice); +} diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Strategy.h b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Strategy.h new file mode 100755 index 0000000..9a9b3e4 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Strategy.h @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +#include "FormattedSubsystemObject.h" +#include "InstanceConfigurableElement.h" +#include "MappingContext.h" +#include <AudioPolicyPluginInterface.h> +#include <string> + +class PolicySubsystem; + +class Strategy : public CFormattedSubsystemObject +{ +public: + Strategy(const std::string &mappingValue, + CInstanceConfigurableElement *instanceConfigurableElement, + const CMappingContext &context); + +protected: + virtual bool receiveFromHW(std::string &error); + virtual bool sendToHW(std::string &error); + +private: + const PolicySubsystem *mPolicySubsystem; /**< Route subsytem plugin. */ + + /** + * Interface to communicate with Audio Policy Engine. + */ + android::AudioPolicyPluginInterface *mPolicyPluginInterface; + + android::routing_strategy mId; /**< strategy identifier to link with audio.h.*/ + uint32_t mApplicableOutputDevice; /**< applicable output device for this strategy. */ + static const uint32_t mDefaultApplicableOutputDevice = 0; /**< default output device. */ +}; diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Stream.cpp b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Stream.cpp new file mode 100755 index 0000000..575b0bb --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Stream.cpp @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2015 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. + */ + +#include "Stream.h" +#include "PolicyMappingKeys.h" +#include "PolicySubsystem.h" + +using std::string; +using android::routing_strategy; + +Stream::Stream(const string &mappingValue, + CInstanceConfigurableElement *instanceConfigurableElement, + const CMappingContext &context) + : CFormattedSubsystemObject(instanceConfigurableElement, + mappingValue, + MappingKeyAmend1, + (MappingKeyAmendEnd - MappingKeyAmend1 + 1), + context), + mPolicySubsystem(static_cast<const PolicySubsystem *>( + instanceConfigurableElement->getBelongingSubsystem())), + mPolicyPluginInterface(mPolicySubsystem->getPolicyPluginInterface()), + mApplicableStrategy(mDefaultApplicableStrategy) +{ + mId = static_cast<audio_stream_type_t>(context.getItemAsInteger(MappingKeyIdentifier)); + + // Declares the strategy to audio policy engine + mPolicyPluginInterface->addStream(getFormattedMappingValue(), mId); +} + +bool Stream::receiveFromHW(string & /*error*/) +{ + blackboardWrite(&mApplicableStrategy, sizeof(mApplicableStrategy)); + return true; +} + +bool Stream::sendToHW(string & /*error*/) +{ + uint32_t applicableStrategy; + blackboardRead(&applicableStrategy, sizeof(applicableStrategy)); + mApplicableStrategy = applicableStrategy; + return mPolicyPluginInterface->setStrategyForStream(mId, + static_cast<routing_strategy>(mApplicableStrategy)); +} diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Stream.h b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Stream.h new file mode 100755 index 0000000..7d90c36 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Stream.h @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +#include "FormattedSubsystemObject.h" +#include "InstanceConfigurableElement.h" +#include "MappingContext.h" +#include <AudioPolicyPluginInterface.h> +#include <string> + +class PolicySubsystem; + +class Stream : public CFormattedSubsystemObject +{ +public: + Stream(const std::string &mappingValue, + CInstanceConfigurableElement *instanceConfigurableElement, + const CMappingContext &context); + +protected: + virtual bool receiveFromHW(std::string &error); + virtual bool sendToHW(std::string &error); + +private: + const PolicySubsystem *mPolicySubsystem; /**< Route subsytem plugin. */ + + /** + * Interface to communicate with Audio Policy Engine. + */ + android::AudioPolicyPluginInterface *mPolicyPluginInterface; + + audio_stream_type_t mId; /**< stream type identifier to link with audio.h. */ + uint32_t mApplicableStrategy; /**< applicable strategy for this stream. */ + static const uint32_t mDefaultApplicableStrategy = 0; /**< default strategy. */ +}; diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Usage.cpp b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Usage.cpp new file mode 100755 index 0000000..1916b9b --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Usage.cpp @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2015 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. + */ + +#include "Usage.h" +#include "PolicyMappingKeys.h" +#include "PolicySubsystem.h" + +using std::string; +using android::routing_strategy; + +Usage::Usage(const string &mappingValue, + CInstanceConfigurableElement *instanceConfigurableElement, + const CMappingContext &context) + : CFormattedSubsystemObject(instanceConfigurableElement, + mappingValue, + MappingKeyAmend1, + (MappingKeyAmendEnd - MappingKeyAmend1 + 1), + context), + mPolicySubsystem(static_cast<const PolicySubsystem *>( + instanceConfigurableElement->getBelongingSubsystem())), + mPolicyPluginInterface(mPolicySubsystem->getPolicyPluginInterface()), + mApplicableStrategy(mDefaultApplicableStrategy) +{ + mId = static_cast<audio_usage_t>(context.getItemAsInteger(MappingKeyIdentifier)); + + // Declares the strategy to audio policy engine + mPolicyPluginInterface->addUsage(getFormattedMappingValue(), mId); +} + +bool Usage::receiveFromHW(string & /*error*/) +{ + blackboardWrite(&mApplicableStrategy, sizeof(mApplicableStrategy)); + return true; +} + +bool Usage::sendToHW(string & /*error*/) +{ + uint32_t applicableStrategy; + blackboardRead(&applicableStrategy, sizeof(applicableStrategy)); + mApplicableStrategy = applicableStrategy; + return mPolicyPluginInterface->setStrategyForUsage(mId, + static_cast<routing_strategy>(mApplicableStrategy)); +} diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Usage.h b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Usage.h new file mode 100755 index 0000000..8e9b638 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/Usage.h @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +#include "FormattedSubsystemObject.h" +#include "InstanceConfigurableElement.h" +#include "MappingContext.h" +#include <AudioPolicyPluginInterface.h> +#include <string> + +class PolicySubsystem; + +class Usage : public CFormattedSubsystemObject +{ +public: + Usage(const std::string &mappingValue, + CInstanceConfigurableElement *instanceConfigurableElement, + const CMappingContext &context); + +protected: + virtual bool receiveFromHW(std::string &error); + virtual bool sendToHW(std::string &error); + +private: + const PolicySubsystem *mPolicySubsystem; /**< Route subsytem plugin. */ + + /** + * Interface to communicate with Audio Policy Engine. + */ + android::AudioPolicyPluginInterface *mPolicyPluginInterface; + + audio_usage_t mId; /**< usage identifier to link with audio.h. */ + uint32_t mApplicableStrategy; /**< applicable strategy for this usage. */ + static const uint32_t mDefaultApplicableStrategy = 0; /**< default strategy. */ +}; diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/plugin/VolumeProfile.cpp b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/VolumeProfile.cpp new file mode 100755 index 0000000..5c155c8 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/VolumeProfile.cpp @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2015 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. + */ + +#include "VolumeProfile.h" +#include "PolicyMappingKeys.h" +#include "PolicySubsystem.h" +#include "ParameterBlockType.h" +#include <Volume.h> +#include <math.h> + +using std::string; + +VolumeProfile::VolumeProfile(const string &mappingValue, + CInstanceConfigurableElement *instanceConfigurableElement, + const CMappingContext &context) + : CFormattedSubsystemObject(instanceConfigurableElement, + mappingValue, + MappingKeyAmend1, + (MappingKeyAmendEnd - MappingKeyAmend1 + 1), + context), + mPolicySubsystem(static_cast<const PolicySubsystem *>( + instanceConfigurableElement->getBelongingSubsystem())), + mPolicyPluginInterface(mPolicySubsystem->getPolicyPluginInterface()) +{ + uint32_t categoryKey = context.getItemAsInteger(MappingKeyCategory); + if (categoryKey >= Volume::DEVICE_CATEGORY_CNT) { + mCategory = Volume::DEVICE_CATEGORY_SPEAKER; + } else { + mCategory = static_cast<Volume::device_category>(categoryKey); + } + mId = static_cast<audio_stream_type_t>(context.getItemAsInteger(MappingKeyIdentifier)); + + // (no exception support, defer the error) + if (instanceConfigurableElement->getType() != CInstanceConfigurableElement::EParameterBlock) { + return; + } + // Get actual element type + const CParameterBlockType *parameterType = static_cast<const CParameterBlockType *>( + instanceConfigurableElement->getTypeElement()); + mPoints = parameterType->getArrayLength(); +} + +bool VolumeProfile::receiveFromHW(string & /*error*/) +{ + return true; +} + +bool VolumeProfile::sendToHW(string & /*error*/) +{ + Point points[mPoints]; + blackboardRead(&points, sizeof(Point) * mPoints); + + VolumeCurvePoints pointsVector; + for (size_t i = 0; i < mPoints; i++) { + VolumeCurvePoint curvePoint; + curvePoint.mIndex = points[i].index; + curvePoint.mDBAttenuation = static_cast<float>(points[i].dbAttenuation) / + (1UL << gFractional); + pointsVector.push_back(curvePoint); + } + return mPolicyPluginInterface->setVolumeProfileForStream(mId, mCategory, pointsVector); +} diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/plugin/VolumeProfile.h b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/VolumeProfile.h new file mode 100755 index 0000000..a00ae84 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/parameter-framework/plugin/VolumeProfile.h @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +#include "FormattedSubsystemObject.h" +#include "InstanceConfigurableElement.h" +#include "MappingContext.h" +#include <Volume.h> +#include <AudioPolicyPluginInterface.h> +#include <string> + +class PolicySubsystem; + +class VolumeProfile : public CFormattedSubsystemObject +{ +private: + struct Point + { + int index; + /** Volume is using FixedPointParameter until float parameters are available. */ + int16_t dbAttenuation; + } __attribute__((packed)); + +public: + VolumeProfile(const std::string &mappingValue, + CInstanceConfigurableElement *instanceConfigurableElement, + const CMappingContext &context); + +protected: + virtual bool receiveFromHW(std::string &error); + virtual bool sendToHW(std::string &error); + +private: + const PolicySubsystem *mPolicySubsystem; /**< Route subsytem plugin. */ + + /** + * Interface to communicate with Audio Policy Engine. + */ + android::AudioPolicyPluginInterface *mPolicyPluginInterface; + + /** + * volume profile identifier, which is in fact a stream type to link with audio.h. + */ + audio_stream_type_t mId; + + size_t mPoints; + Volume::device_category mCategory; + + static const uint32_t gFractional = 8; /**< Beware to align with the structure. */ +}; diff --git a/services/audiopolicy/engineconfigurable/src/Collection.h b/services/audiopolicy/engineconfigurable/src/Collection.h new file mode 100755 index 0000000..8f17b15 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/src/Collection.h @@ -0,0 +1,163 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +#include "Element.h" +#include "Stream.h" +#include "Strategy.h" +#include "Usage.h" +#include "InputSource.h" +#include <utils/Errors.h> +#include <system/audio.h> +#include <utils/Log.h> +#include <map> +#include <stdint.h> +#include <string> + +namespace android +{ +namespace audio_policy +{ + +/** + * Collection of policy element as a map indexed with a their UID type. + * + * @tparam Key type of the policy element indexing the collection. + * Policy Element supported are: + * - Strategy + * - Stream + * - InputSource + * - Usage. + */ +template <typename Key> +class Collection : public std::map<Key, Element<Key> *> +{ +private: + typedef Element<Key> T; + typedef typename std::map<Key, T *>::iterator CollectionIterator; + typedef typename std::map<Key, T *>::const_iterator CollectionConstIterator; + +public: + Collection() + { + collectionSupported(); + } + + /** + * Add a policy element to the collection. Policy elements are streams, strategies, input + * sources, ... Compile time error generated if called with not supported collection. + * It also set the key as the unique identifier of the policy element. + * + * @tparam Key indexing the collection of policy element. + * @param[in] name of the policy element to find. + * @param[in] key to be used to index this new policy element. + * + * @return NO_ERROR if the policy element has been successfully added to the collection. + */ + status_t add(const std::string &name, Key key) + { + if ((*this).find(key) != (*this).end()) { + ALOGW("%s: element %s already added", __FUNCTION__, name.c_str()); + return BAD_VALUE; + } + (*this)[key] = new T(name); + ALOGD("%s: adding element %s to collection", __FUNCTION__, name.c_str()); + return (*this)[key]->setIdentifier(key); + } + + /** + * Get a policy element from the collection by its key. Policy elements are streams, strategies, + * input sources, ... Compile time error generated if called with not supported collection. + * + * @tparam Key indexing the collection of policy element. + * @param[in] key of the policy element to find. + * + * @return valid pointer on policy element if found, NULL otherwise. + */ + T *get(Key key) const + { + CollectionConstIterator it = (*this).find(key); + return (it == (*this).end()) ? NULL : it->second; + } + + /** + * Find a policy element from the collection by its name. Policy elements are streams, + * strategies, input sources, ... + * Compile time error generated if called with not supported collection. + * + * @tparam Key indexing the collection of policy element. + * @param[in] name of the policy element to find. + * @param[in] elementsMap maps of policy elements to search into. + * + * @return valid pointer on element if found, NULL otherwise. + */ + T *findByName(const std::string &name) const + { + + CollectionConstIterator it; + for (it = (*this).begin(); it != (*this).end(); ++it) { + T *element = it->second; + if (element->getName() == name) { + return element; + } + } + return NULL; + } + + /** + * Removes all the elements from the list and destroy them. + */ + void clear() + { + CollectionIterator it; + for (it = (*this).begin(); it != (*this).end(); ++it) { + delete it->second; + } + (*this).clear(); + } + +private: + /** + * provide a compile time error if no specialization is provided for a given type. + * + * @tparam T: type of the policyElement. Policy Element supported are: + * - Strategy + * - Stream + * - InputSource + * - Usage. + */ + struct collectionSupported; +}; + +template <> +struct Collection<audio_stream_type_t>::collectionSupported {}; +template <> +struct Collection<std::string>::collectionSupported {}; +template <> +struct Collection<audio_usage_t>::collectionSupported {}; +template <> +struct Collection<audio_source_t>::collectionSupported {}; +template <> +struct Collection<routing_strategy>::collectionSupported {}; + +typedef Collection<routing_strategy> StrategyCollection; +typedef Collection<audio_stream_type_t> StreamCollection; +typedef Collection<audio_usage_t> UsageCollection; +typedef Collection<audio_source_t> InputSourceCollection; + +} // namespace audio_policy +} // namespace android diff --git a/services/audiopolicy/engineconfigurable/src/Element.h b/services/audiopolicy/engineconfigurable/src/Element.h new file mode 100755 index 0000000..52e77e5 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/src/Element.h @@ -0,0 +1,99 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +#include <stdint.h> +#include <string> +#include <utils/Errors.h> +#include <system/audio.h> +#include <utils/Log.h> + +namespace android +{ +namespace audio_policy +{ + +template <typename Key> +class Element +{ +public: + Element(const std::string &name) + : mName(name) + {} + ~Element() {} + + /** + * Returns identifier of this policy element + * + * @returns string representing the name of this policy element + */ + const std::string &getName() const { return mName; } + + /** + * Set the unique identifier for this policy element. + * + * @tparam Key type of the unique identifier. + * @param[in] identifier to be set. + * + * @return NO_ERROR if the identifier is valid and set correctly, error code otherwise. + */ + status_t setIdentifier(Key identifier) + { + mIdentifier = identifier; + return NO_ERROR; + } + + /** + * @return the unique identifier of this policy element. + */ + const Key &getIdentifier() const { return mIdentifier; } + + /** + * A Policy element may implement getter/setter function for a given property. + * Property may be routing_strategy, audio_stream_type_t, audio_usage_t, audio_source_t + * or a string. + * + * @tparam Property for which this policy element has setter / getter. + * @return the property kept track by this policy base element. + */ + template <typename Property> + Property get() const; + + /** + * A Policy element may implement getter/setter function for a given property. + * Property may be routing_strategy, audio_stream_type_t, audio_usage_t, audio_source_t + * or a string. + * + * @tparam Property for which this policy element has setter / getter. + * + * @param[in] property value to be assigned for this policy base element. + * + * @return the property kept track by this policy base element. + */ + template <typename Property> + status_t set(Property property); + +private: + /* Copy facilities are put private to disable copy. */ + Element(const Element &object); + Element &operator=(const Element &object); + + std::string mName; /**< Unique literal Identifier of a policy base element*/ + Key mIdentifier; /**< Unique numerical Identifier of a policy base element*/ +}; +} // namespace audio_policy +} // namespace android diff --git a/services/audiopolicy/engineconfigurable/src/Engine.cpp b/services/audiopolicy/engineconfigurable/src/Engine.cpp new file mode 100755 index 0000000..61fae71 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/src/Engine.cpp @@ -0,0 +1,281 @@ +/* + * Copyright (C) 2015 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. + */ + +#define LOG_TAG "APM::AudioPolicyEngine" +//#define LOG_NDEBUG 0 + +//#define VERY_VERBOSE_LOGGING +#ifdef VERY_VERBOSE_LOGGING +#define ALOGVV ALOGV +#else +#define ALOGVV(a...) do { } while(0) +#endif + +#include "Engine.h" +#include "Strategy.h" +#include "Stream.h" +#include "InputSource.h" +#include "Usage.h" +#include <policy.h> +#include <ParameterManagerWrapper.h> + +using std::string; +using std::map; + +namespace android +{ +namespace audio_policy +{ +template <> +StrategyCollection &Engine::getCollection<routing_strategy>() +{ + return mStrategyCollection; +} +template <> +StreamCollection &Engine::getCollection<audio_stream_type_t>() +{ + return mStreamCollection; +} +template <> +UsageCollection &Engine::getCollection<audio_usage_t>() +{ + return mUsageCollection; +} +template <> +InputSourceCollection &Engine::getCollection<audio_source_t>() +{ + return mInputSourceCollection; +} + +template <> +const StrategyCollection &Engine::getCollection<routing_strategy>() const +{ + return mStrategyCollection; +} +template <> +const StreamCollection &Engine::getCollection<audio_stream_type_t>() const +{ + return mStreamCollection; +} +template <> +const UsageCollection &Engine::getCollection<audio_usage_t>() const +{ + return mUsageCollection; +} +template <> +const InputSourceCollection &Engine::getCollection<audio_source_t>() const +{ + return mInputSourceCollection; +} + +Engine::Engine() + : mManagerInterface(this), + mPluginInterface(this), + mPolicyParameterMgr(new ParameterManagerWrapper()), + mApmObserver(NULL) +{ + if (mPolicyParameterMgr->start() != NO_ERROR) { + ALOGE("%s: could not start Policy PFW", __FUNCTION__); + delete mPolicyParameterMgr; + mPolicyParameterMgr = NULL; + } +} + +Engine::~Engine() +{ + mStrategyCollection.clear(); + mStreamCollection.clear(); + mInputSourceCollection.clear(); + mUsageCollection.clear(); +} + + +void Engine::setObserver(AudioPolicyManagerObserver *observer) +{ + ALOG_ASSERT(observer != NULL, "Invalid Audio Policy Manager observer"); + mApmObserver = observer; +} + +status_t Engine::initCheck() +{ + return (mPolicyParameterMgr != NULL) && + mPolicyParameterMgr->isStarted() && + (mApmObserver != NULL)? + NO_ERROR : NO_INIT; +} + +bool Engine::setVolumeProfileForStream(const audio_stream_type_t &streamType, + Volume::device_category deviceCategory, + const VolumeCurvePoints &points) +{ + Stream *stream = getFromCollection<audio_stream_type_t>(streamType); + if (stream == NULL) { + ALOGE("%s: stream %d not found", __FUNCTION__, streamType); + return false; + } + return stream->setVolumeProfile(deviceCategory, points) == NO_ERROR; +} + +template <typename Key> +Element<Key> *Engine::getFromCollection(const Key &key) const +{ + const Collection<Key> collection = getCollection<Key>(); + return collection.get(key); +} + +template <typename Key> +status_t Engine::add(const std::string &name, const Key &key) +{ + Collection<Key> &collection = getCollection<Key>(); + return collection.add(name, key); +} + +template <> +routing_strategy Engine::getPropertyForKey<routing_strategy, audio_usage_t>(audio_usage_t usage) const +{ + const SwAudioOutputCollection &outputs = mApmObserver->getOutputs(); + + if (usage == AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY && + (outputs.isStreamActive(AUDIO_STREAM_RING) || + outputs.isStreamActive(AUDIO_STREAM_ALARM))) { + return STRATEGY_SONIFICATION; + } + return getPropertyForKey<routing_strategy, audio_usage_t>(usage); +} + +template <typename Property, typename Key> +Property Engine::getPropertyForKey(Key key) const +{ + Element<Key> *element = getFromCollection<Key>(key); + if (element == NULL) { + ALOGE("%s: Element not found within collection", __FUNCTION__); + return static_cast<Property>(0); + } + return element->template get<Property>(); +} + +template <> +audio_devices_t Engine::getPropertyForKey<audio_devices_t, routing_strategy>(routing_strategy strategy) const +{ + const SwAudioOutputCollection &outputs = mApmObserver->getOutputs(); + + /** This is the only case handled programmatically because the PFW is unable to know the + * activity of streams. + * + * -While media is playing on a remote device, use the the sonification behavior. + * Note that we test this usecase before testing if media is playing because + * the isStreamActive() method only informs about the activity of a stream, not + * if it's for local playback. Note also that we use the same delay between both tests + * + * -When media is not playing anymore, fall back on the sonification behavior + */ + if (strategy == STRATEGY_SONIFICATION_RESPECTFUL && + !is_state_in_call(getPhoneState()) && + !outputs.isStreamActiveRemotely(AUDIO_STREAM_MUSIC, + SONIFICATION_RESPECTFUL_AFTER_MUSIC_DELAY) && + outputs.isStreamActive(AUDIO_STREAM_MUSIC, SONIFICATION_RESPECTFUL_AFTER_MUSIC_DELAY)) { + return getPropertyForKey<audio_devices_t, routing_strategy>(STRATEGY_MEDIA); + } + return getPropertyForKey<audio_devices_t, routing_strategy>(strategy); +} + +routing_strategy Engine::ManagerInterfaceImpl::getStrategyForUsage(audio_usage_t usage) +{ + return mPolicyEngine->getPropertyForKey<routing_strategy, audio_usage_t>(usage); +} + +audio_devices_t Engine::ManagerInterfaceImpl::getDeviceForStrategy(routing_strategy stategy) const +{ + return mPolicyEngine->getPropertyForKey<audio_devices_t, routing_strategy>(stategy); +} + +template <typename Property, typename Key> +bool Engine::setPropertyForKey(const Property &property, const Key &key) +{ + Element<Key> *element = getFromCollection<Key>(key); + if (element == NULL) { + ALOGE("%s: Element not found within collection", __FUNCTION__); + return BAD_VALUE; + } + return element->template set<Property>(property) == NO_ERROR; +} + +float Engine::volIndexToDb(Volume::device_category category, + audio_stream_type_t streamType, + int indexInUi) +{ + Stream *stream = getFromCollection<audio_stream_type_t>(streamType); + if (stream == NULL) { + ALOGE("%s: Element indexed by key=%d not found", __FUNCTION__, streamType); + return 1.0f; + } + return stream->volIndexToDb(category, indexInUi); +} + +status_t Engine::initStreamVolume(audio_stream_type_t streamType, + int indexMin, int indexMax) +{ + Stream *stream = getFromCollection<audio_stream_type_t>(streamType); + if (stream == NULL) { + ALOGE("%s: Stream Type %d not found", __FUNCTION__, streamType); + return BAD_TYPE; + } + return stream->initVolume(indexMin, indexMax); +} + +status_t Engine::setPhoneState(audio_mode_t mode) +{ + return mPolicyParameterMgr->setPhoneState(mode); +} + +audio_mode_t Engine::getPhoneState() const +{ + return mPolicyParameterMgr->getPhoneState(); +} + +status_t Engine::setForceUse(audio_policy_force_use_t usage, + audio_policy_forced_cfg_t config) +{ + return mPolicyParameterMgr->setForceUse(usage, config); +} + +audio_policy_forced_cfg_t Engine::getForceUse(audio_policy_force_use_t usage) const +{ + return mPolicyParameterMgr->getForceUse(usage); +} + +status_t Engine::setDeviceConnectionState(audio_devices_t devices, audio_policy_dev_state_t state, + const char *deviceAddress) +{ + return mPolicyParameterMgr->setDeviceConnectionState(devices, state, deviceAddress); +} + +template <> +AudioPolicyManagerInterface *Engine::queryInterface() +{ + return &mManagerInterface; +} + +template <> +AudioPolicyPluginInterface *Engine::queryInterface() +{ + return &mPluginInterface; +} + +} // namespace audio_policy +} // namespace android + + diff --git a/services/audiopolicy/engineconfigurable/src/Engine.h b/services/audiopolicy/engineconfigurable/src/Engine.h new file mode 100755 index 0000000..6fa7a13 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/src/Engine.h @@ -0,0 +1,225 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + + +#include <AudioPolicyManagerInterface.h> +#include <AudioPolicyPluginInterface.h> +#include "Collection.h" + +namespace android +{ +class AudioPolicyManagerObserver; + +namespace audio_policy +{ + +class ParameterManagerWrapper; +class VolumeProfile; + +class Engine +{ +public: + Engine(); + virtual ~Engine(); + + template <class RequestedInterface> + RequestedInterface *queryInterface(); + +private: + /// Interface members + class ManagerInterfaceImpl : public AudioPolicyManagerInterface + { + public: + ManagerInterfaceImpl(Engine *policyEngine) + : mPolicyEngine(policyEngine) {} + + virtual android::status_t initCheck() + { + return mPolicyEngine->initCheck(); + } + virtual void setObserver(AudioPolicyManagerObserver *observer) + { + mPolicyEngine->setObserver(observer); + } + virtual audio_devices_t getDeviceForInputSource(audio_source_t inputSource) const + { + return mPolicyEngine->getPropertyForKey<audio_devices_t, audio_source_t>(inputSource); + } + virtual audio_devices_t getDeviceForStrategy(routing_strategy stategy) const; + virtual routing_strategy getStrategyForStream(audio_stream_type_t stream) + { + return mPolicyEngine->getPropertyForKey<routing_strategy, audio_stream_type_t>(stream); + } + virtual routing_strategy getStrategyForUsage(audio_usage_t usage); + virtual status_t setPhoneState(audio_mode_t mode) + { + return mPolicyEngine->setPhoneState(mode); + } + virtual audio_mode_t getPhoneState() const + { + return mPolicyEngine->getPhoneState(); + } + virtual status_t setForceUse(audio_policy_force_use_t usage, + audio_policy_forced_cfg_t config) + { + return mPolicyEngine->setForceUse(usage, config); + } + virtual audio_policy_forced_cfg_t getForceUse(audio_policy_force_use_t usage) const + { + return mPolicyEngine->getForceUse(usage); + } + virtual android::status_t setDeviceConnectionState(const sp<DeviceDescriptor> devDesc, + audio_policy_dev_state_t state) + { + return mPolicyEngine->setDeviceConnectionState(devDesc->type(), state, + devDesc->mAddress); + } + virtual status_t initStreamVolume(audio_stream_type_t stream, + int indexMin, int indexMax) + { + return mPolicyEngine->initStreamVolume(stream, indexMin, indexMax); + } + + virtual void initializeVolumeCurves(bool /*isSpeakerDrcEnabled*/) {} + + virtual float volIndexToDb(Volume::device_category deviceCategory, + audio_stream_type_t stream, + int indexInUi) + { + return mPolicyEngine->volIndexToDb(deviceCategory, stream, indexInUi); + } + + private: + Engine *mPolicyEngine; + } mManagerInterface; + + class PluginInterfaceImpl : public AudioPolicyPluginInterface + { + public: + PluginInterfaceImpl(Engine *policyEngine) + : mPolicyEngine(policyEngine) {} + + virtual status_t addStrategy(const std::string &name, routing_strategy strategy) + { + return mPolicyEngine->add<routing_strategy>(name, strategy); + } + virtual status_t addStream(const std::string &name, audio_stream_type_t stream) + { + return mPolicyEngine->add<audio_stream_type_t>(name, stream); + } + virtual status_t addUsage(const std::string &name, audio_usage_t usage) + { + return mPolicyEngine->add<audio_usage_t>(name, usage); + } + virtual status_t addInputSource(const std::string &name, audio_source_t source) + { + return mPolicyEngine->add<audio_source_t>(name, source); + } + virtual bool setDeviceForStrategy(const routing_strategy &strategy, audio_devices_t devices) + { + return mPolicyEngine->setPropertyForKey<audio_devices_t, routing_strategy>(devices, + strategy); + } + virtual bool setStrategyForStream(const audio_stream_type_t &stream, + routing_strategy strategy) + { + return mPolicyEngine->setPropertyForKey<routing_strategy, audio_stream_type_t>(strategy, + stream); + } + virtual bool setVolumeProfileForStream(const audio_stream_type_t &stream, + Volume::device_category deviceCategory, + const VolumeCurvePoints &points) + { + return mPolicyEngine->setVolumeProfileForStream(stream, deviceCategory, points); + } + + virtual bool setStrategyForUsage(const audio_usage_t &usage, routing_strategy strategy) + { + return mPolicyEngine->setPropertyForKey<routing_strategy, audio_usage_t>(strategy, + usage); + } + virtual bool setDeviceForInputSource(const audio_source_t &inputSource, + audio_devices_t device) + { + return mPolicyEngine->setPropertyForKey<audio_devices_t, audio_source_t>(device, + inputSource); + } + + private: + Engine *mPolicyEngine; + } mPluginInterface; + +private: + /* Copy facilities are put private to disable copy. */ + Engine(const Engine &object); + Engine &operator=(const Engine &object); + + void setObserver(AudioPolicyManagerObserver *observer); + + bool setVolumeProfileForStream(const audio_stream_type_t &stream, + Volume::device_category deviceCategory, + const VolumeCurvePoints &points); + + status_t initCheck(); + status_t setPhoneState(audio_mode_t mode); + audio_mode_t getPhoneState() const; + status_t setForceUse(audio_policy_force_use_t usage, audio_policy_forced_cfg_t config); + audio_policy_forced_cfg_t getForceUse(audio_policy_force_use_t usage) const; + status_t setDeviceConnectionState(audio_devices_t devices, audio_policy_dev_state_t state, + const char *deviceAddress); + + float volIndexToDb(Volume::device_category category, + audio_stream_type_t stream, + int indexInUi); + status_t initStreamVolume(audio_stream_type_t stream, int indexMin, int indexMax); + + StrategyCollection mStrategyCollection; /**< Strategies indexed by their enum id. */ + StreamCollection mStreamCollection; /**< Streams indexed by their enum id. */ + UsageCollection mUsageCollection; /**< Usages indexed by their enum id. */ + InputSourceCollection mInputSourceCollection; /**< Input sources indexed by their enum id. */ + + template <typename Key> + status_t add(const std::string &name, const Key &key); + + template <typename Key> + Element<Key> *getFromCollection(const Key &key) const; + + template <typename Key> + const Collection<Key> &getCollection() const; + + template <typename Key> + Collection<Key> &getCollection(); + + template <typename Property, typename Key> + Property getPropertyForKey(Key key) const; + + template <typename Property, typename Key> + bool setPropertyForKey(const Property &property, const Key &key); + + /** + * Policy Parameter Manager hidden through a wrapper. + */ + ParameterManagerWrapper *mPolicyParameterMgr; + + AudioPolicyManagerObserver *mApmObserver; +}; + +}; // namespace audio_policy + +}; // namespace android + diff --git a/services/audiopolicy/engineconfigurable/src/EngineInstance.cpp b/services/audiopolicy/engineconfigurable/src/EngineInstance.cpp new file mode 100755 index 0000000..9aa89b2 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/src/EngineInstance.cpp @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2015 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. + */ + +#include <AudioPolicyManagerInterface.h> +#include <AudioPolicyPluginInterface.h> +#include "AudioPolicyEngineInstance.h" +#include "Engine.h" + +using std::string; + +namespace android +{ +namespace audio_policy +{ + +EngineInstance::EngineInstance() +{ +} + +EngineInstance *EngineInstance::getInstance() +{ + static EngineInstance instance; + return &instance; +} + +EngineInstance::~EngineInstance() +{ +} + +Engine *EngineInstance::getEngine() const +{ + static Engine engine; + return &engine; +} + +template <> +AudioPolicyManagerInterface *EngineInstance::queryInterface() const +{ + return getEngine()->queryInterface<AudioPolicyManagerInterface>(); +} + +template <> +AudioPolicyPluginInterface *EngineInstance::queryInterface() const +{ + return getEngine()->queryInterface<AudioPolicyPluginInterface>(); +} + +} // namespace audio_policy +} // namespace android + diff --git a/services/audiopolicy/engineconfigurable/src/InputSource.cpp b/services/audiopolicy/engineconfigurable/src/InputSource.cpp new file mode 100755 index 0000000..9ff1538 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/src/InputSource.cpp @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2015 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. + */ + +#define LOG_TAG "APM::AudioPolicyEngine/InputSource" + +#include "InputSource.h" + +using std::string; + +namespace android +{ +namespace audio_policy +{ +status_t Element<audio_source_t>::setIdentifier(audio_source_t identifier) +{ + if (identifier > AUDIO_SOURCE_MAX && identifier != AUDIO_SOURCE_HOTWORD) { + return BAD_VALUE; + } + mIdentifier = identifier; + ALOGD("%s: InputSource %s identifier 0x%X", __FUNCTION__, getName().c_str(), identifier); + return NO_ERROR; +} + +/** +* Set the device associated to this source. +* It checks if the input device is valid but allows to set a NONE device +* (i.e. only the IN BIT is set). +* +* @param[in] devices selected for the given input source. +* @tparam audio_devices_t: Applicable input device for this input source. +* +* @return NO_ERROR if the device is either valid or none, error code otherwise. +*/ +template <> +status_t Element<audio_source_t>::set(audio_devices_t devices) +{ + if (!audio_is_input_device(devices) && devices != AUDIO_DEVICE_BIT_IN) { + ALOGE("%s: trying to set an invalid device 0x%X for input source %s", + __FUNCTION__, devices, getName().c_str()); + return BAD_VALUE; + } + ALOGD("%s: 0x%X for input source %s", __FUNCTION__, devices, getName().c_str()); + mApplicableDevices = devices; + return NO_ERROR; +} + +template <> +audio_devices_t Element<audio_source_t>::get<audio_devices_t>() const +{ + ALOGV("%s: 0x%X for inputSource %s", __FUNCTION__, mApplicableDevices, getName().c_str()); + return mApplicableDevices; +} +} // namespace audio_policy +} // namespace android + + diff --git a/services/audiopolicy/engineconfigurable/src/InputSource.h b/services/audiopolicy/engineconfigurable/src/InputSource.h new file mode 100755 index 0000000..6c498dc --- /dev/null +++ b/services/audiopolicy/engineconfigurable/src/InputSource.h @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +#include "Element.h" + +namespace android +{ +namespace audio_policy +{ + +/** + * Specialization of policy base class element for audio_source_t + * @tparam audio_source_t Policy Base Element identified by the audio_source_t definition. + */ +template <> +class Element<audio_source_t> +{ +public: + Element(const std::string &name) + : mName(name), + mApplicableDevices(AUDIO_DEVICE_NONE) + {} + ~Element() {} + + /** + * Returns identifier of this policy element + * + * @returns string representing the name of this policy element + */ + const std::string &getName() const { return mName; } + + /** + * Set the unique identifier for this policy element. + * + * @tparam Key type of the unique identifier. + * @param[in] identifier to be set. + * + * @return NO_ERROR if the identifier is valid and set correctly, error code otherwise. + */ + status_t setIdentifier(audio_source_t identifier); + + /** + * @return the unique identifier of this policy element. + */ + audio_source_t getIdentifier() const { return mIdentifier; } + + /** + * A Policy element may implement getter/setter function for a given property. + * Property may be routing_strategy, audio_stream_type_t, audio_usage_t, audio_source_t + * or a string. + */ + template <typename Property> + Property get() const; + + template <typename Property> + status_t set(Property property); + +private: + /* Copy facilities are put private to disable copy. */ + Element(const Element &object); + Element &operator=(const Element &object); + + std::string mName; /**< Unique literal Identifier of a policy base element*/ + audio_source_t mIdentifier; /**< Unique numerical Identifier of a policy base element*/ + + audio_devices_t mApplicableDevices; /**< Applicable input device for this input source. */ +}; + +typedef Element<audio_source_t> InputSource; + +} // namespace audio_policy +} // namespace android + diff --git a/services/audiopolicy/engineconfigurable/src/Strategy.cpp b/services/audiopolicy/engineconfigurable/src/Strategy.cpp new file mode 100755 index 0000000..847443a --- /dev/null +++ b/services/audiopolicy/engineconfigurable/src/Strategy.cpp @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2015 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. + */ + +#define LOG_TAG "APM::AudioPolicyEngine/Strategy" + +#include "Strategy.h" + +using std::string; + +namespace android +{ +namespace audio_policy +{ + +status_t Element<routing_strategy>::setIdentifier(routing_strategy identifier) +{ + if (identifier >= NUM_STRATEGIES) { + return BAD_VALUE; + } + mIdentifier = identifier; + ALOGD("%s: Strategy %s identifier 0x%X", __FUNCTION__, getName().c_str(), identifier); + return NO_ERROR; +} + +/** + * Set the device associated to this strategy. + * It checks if the output device is valid but allows to set a NONE device + * + * @param[in] devices selected for the given strategy. + * + * @return NO_ERROR if the device is either valid or none, error code otherwise. + */ +template <> +status_t Element<routing_strategy>::set<audio_devices_t>(audio_devices_t devices) +{ + if (!audio_is_output_devices(devices) && devices != AUDIO_DEVICE_NONE) { + ALOGE("%s: trying to set an invalid device 0x%X for strategy %s", + __FUNCTION__, devices, getName().c_str()); + return BAD_VALUE; + } + ALOGD("%s: 0x%X for strategy %s", __FUNCTION__, devices, getName().c_str()); + mApplicableDevices = devices; + return NO_ERROR; +} + +template <> +audio_devices_t Element<routing_strategy>::get<audio_devices_t>() const +{ + ALOGV("%s: 0x%X for strategy %s", __FUNCTION__, mApplicableDevices, getName().c_str()); + return mApplicableDevices; +} + +} // namespace audio_policy +} // namespace android + diff --git a/services/audiopolicy/engineconfigurable/src/Strategy.h b/services/audiopolicy/engineconfigurable/src/Strategy.h new file mode 100755 index 0000000..1157d55 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/src/Strategy.h @@ -0,0 +1,89 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +#include "Element.h" +#include <RoutingStrategy.h> + +namespace android +{ +namespace audio_policy +{ + +/** + * @tparam audio_devices_t: Applicable output device(s) for this strategy. + */ +template <> +class Element<routing_strategy> +{ +public: + Element(const std::string &name) + : mName(name), + mApplicableDevices(AUDIO_DEVICE_NONE) + {} + ~Element() {} + + /** + * Returns identifier of this policy element + * + * @returns string representing the name of this policy element + */ + const std::string &getName() const { return mName; } + + /** + * Set the unique identifier for this policy element. + * + * @tparam Key type of the unique identifier. + * @param[in] identifier to be set. + * + * @return NO_ERROR if the identifier is valid and set correctly, error code otherwise. + */ + status_t setIdentifier(routing_strategy identifier); + + /** + * @return the unique identifier of this policy element. + */ + routing_strategy getIdentifier() const { return mIdentifier; } + + /** + * A Policy element may implement getter/setter function for a given property. + * Property may be routing_strategy, audio_stream_type_t, audio_usage_t, audio_source_t + * or a string. + */ + template <typename Property> + Property get() const; + + template <typename Property> + status_t set(Property property); + +private: + /* Copy facilities are put private to disable copy. */ + Element(const Element &object); + Element &operator=(const Element &object); + + std::string mName; /**< Unique literal Identifier of a policy base element*/ + routing_strategy mIdentifier; /**< Unique numerical Identifier of a policy base element*/ + + audio_devices_t mApplicableDevices; /**< Applicable output device(s) for this strategy. */ +}; + +typedef Element<routing_strategy> Strategy; + +} // namespace audio_policy +} // namespace android + + diff --git a/services/audiopolicy/engineconfigurable/src/Stream.cpp b/services/audiopolicy/engineconfigurable/src/Stream.cpp new file mode 100755 index 0000000..bea2c19 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/src/Stream.cpp @@ -0,0 +1,155 @@ +/* + * Copyright (C) 2015 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. + */ + +#define LOG_TAG "APM::AudioPolicyEngine/Stream" + +#include "Stream.h" +#include <system/audio.h> + +using std::string; + +namespace android +{ +namespace audio_policy +{ + +status_t Element<audio_stream_type_t>::setIdentifier(audio_stream_type_t identifier) +{ + if (identifier > AUDIO_STREAM_CNT) { + return BAD_VALUE; + } + mIdentifier = identifier; + ALOGD("%s: Stream %s identifier 0x%X", __FUNCTION__, getName().c_str(), identifier); + return NO_ERROR; +} + +/** +* Set the strategy to follow for this stream. +* It checks if the strategy is valid. +* +* @param[in] strategy to be followed. +* +* @return NO_ERROR if the strategy is set correctly, error code otherwise. +*/ +template <> +status_t Element<audio_stream_type_t>::set<routing_strategy>(routing_strategy strategy) +{ + if (strategy >= NUM_STRATEGIES) { + return BAD_VALUE; + } + mApplicableStrategy = strategy; + ALOGD("%s: 0x%X for Stream %s", __FUNCTION__, strategy, getName().c_str()); + return NO_ERROR; +} + +template <> +routing_strategy Element<audio_stream_type_t>::get<routing_strategy>() const +{ + ALOGV("%s: 0x%X for Stream %s", __FUNCTION__, mApplicableStrategy, getName().c_str()); + return mApplicableStrategy; +} + +status_t Element<audio_stream_type_t>::setVolumeProfile(Volume::device_category category, + const VolumeCurvePoints &points) +{ + ALOGD("%s: adding volume profile for %s for device category %d, points nb =%d", __FUNCTION__, + getName().c_str(), category, points.size()); + mVolumeProfiles[category] = points; + + for (size_t i = 0; i < points.size(); i++) { + ALOGV("%s: %s cat=%d curve index =%d Index=%d dBAttenuation=%f", + __FUNCTION__, getName().c_str(), category, i, points[i].mIndex, + points[i].mDBAttenuation); + } + return NO_ERROR; +} + +status_t Element<audio_stream_type_t>::initVolume(int indexMin, int indexMax) +{ + ALOGV("initStreamVolume() stream %s, min %d, max %d", getName().c_str(), indexMin, indexMax); + if (indexMin < 0 || indexMin >= indexMax) { + ALOGW("initStreamVolume() invalid index limits for stream %s, min %d, max %d", + getName().c_str(), indexMin, indexMax); + return BAD_VALUE; + } + mIndexMin = indexMin; + mIndexMax = indexMax; + + return NO_ERROR; +} + +float Element<audio_stream_type_t>::volIndexToDb(Volume::device_category deviceCategory, + int indexInUi) +{ + VolumeProfileConstIterator it = mVolumeProfiles.find(deviceCategory); + if (it == mVolumeProfiles.end()) { + ALOGE("%s: device category %d not found for stream %s", __FUNCTION__, deviceCategory, + getName().c_str()); + return 1.0f; + } + const VolumeCurvePoints curve = mVolumeProfiles[deviceCategory]; + if (curve.size() != Volume::VOLCNT) { + ALOGE("%s: invalid profile for category %d and for stream %s", __FUNCTION__, deviceCategory, + getName().c_str()); + return 1.0f; + } + + // the volume index in the UI is relative to the min and max volume indices for this stream type + int nbSteps = 1 + curve[Volume::VOLMAX].mIndex - + curve[Volume::VOLMIN].mIndex; + + if (mIndexMax - mIndexMin == 0) { + ALOGE("%s: Invalid volume indexes Min=Max=%d", __FUNCTION__, mIndexMin); + return 1.0f; + } + int volIdx = (nbSteps * (indexInUi - mIndexMin)) / + (mIndexMax - mIndexMin); + + // find what part of the curve this index volume belongs to, or if it's out of bounds + int segment = 0; + if (volIdx < curve[Volume::VOLMIN].mIndex) { // out of bounds + return 0.0f; + } else if (volIdx < curve[Volume::VOLKNEE1].mIndex) { + segment = 0; + } else if (volIdx < curve[Volume::VOLKNEE2].mIndex) { + segment = 1; + } else if (volIdx <= curve[Volume::VOLMAX].mIndex) { + segment = 2; + } else { // out of bounds + return 1.0f; + } + + // linear interpolation in the attenuation table in dB + float decibels = curve[segment].mDBAttenuation + + ((float)(volIdx - curve[segment].mIndex)) * + ( (curve[segment+1].mDBAttenuation - + curve[segment].mDBAttenuation) / + ((float)(curve[segment+1].mIndex - + curve[segment].mIndex)) ); + + ALOGV("VOLUME vol index=[%d %d %d], dB=[%.1f %.1f %.1f]", + curve[segment].mIndex, volIdx, + curve[segment+1].mIndex, + curve[segment].mDBAttenuation, + decibels, + curve[segment+1].mDBAttenuation); + + return decibels; +} + +} // namespace audio_policy +} // namespace android + diff --git a/services/audiopolicy/engineconfigurable/src/Stream.h b/services/audiopolicy/engineconfigurable/src/Stream.h new file mode 100755 index 0000000..8c39dc6 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/src/Stream.h @@ -0,0 +1,115 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +#include "Element.h" +#include "EngineDefinition.h" +#include <Volume.h> +#include <RoutingStrategy.h> +#include <map> + +namespace android +{ +namespace audio_policy +{ +/** + * @tparam routing_strategy: Applicable strategy for this stream. + */ +template <> +class Element<audio_stream_type_t> +{ +private: + typedef std::map<Volume::device_category, VolumeCurvePoints> VolumeProfiles; + typedef VolumeProfiles::iterator VolumeProfileIterator; + typedef VolumeProfiles::const_iterator VolumeProfileConstIterator; + +public: + Element(const std::string &name) + : mName(name), + mApplicableStrategy(STRATEGY_MEDIA), + mIndexMin(0), + mIndexMax(1) + {} + ~Element() {} + + /** + * Returns identifier of this policy element + * + * @returns string representing the name of this policy element + */ + const std::string &getName() const { return mName; } + + /** + * Set the unique identifier for this policy element. + * + * @tparam Key type of the unique identifier. + * @param[in] identifier to be set. + * + * @return NO_ERROR if the identifier is valid and set correctly, error code otherwise. + */ + status_t setIdentifier(audio_stream_type_t identifier); + + /** + * @return the unique identifier of this policy element. + */ + audio_stream_type_t getIdentifier() const { return mIdentifier; } + + /** + * A Policy element may implement getter/setter function for a given property. + * Property may be routing_strategy, audio_stream_type_t, audio_usage_t, audio_source_t + * or a string. + */ + template <typename Property> + Property get() const; + + template <typename Property> + status_t set(Property property); + + status_t setVolumeProfile(Volume::device_category category, const VolumeCurvePoints &points); + + float volIndexToDb(Volume::device_category deviceCategory, int indexInUi); + + status_t initVolume(int indexMin, int indexMax); + +private: + /* Copy facilities are put private to disable copy. */ + Element(const Element &object); + Element &operator=(const Element &object); + + std::string mName; /**< Unique literal Identifier of a policy base element*/ + audio_stream_type_t mIdentifier; /**< Unique numerical Identifier of a policy base element*/ + + routing_strategy mApplicableStrategy; /**< Applicable strategy for this stream. */ + + /** + * Collection of volume profiles indexed by the stream type. + * Volume is the only reason why the stream profile was not removed from policy when introducing + * attributes. + */ + VolumeProfiles mVolumeProfiles; + + int mIndexMin; + + int mIndexMax; +}; + +typedef Element<audio_stream_type_t> Stream; + +} // namespace audio_policy +} // namespace android + + diff --git a/services/audiopolicy/engineconfigurable/src/Usage.cpp b/services/audiopolicy/engineconfigurable/src/Usage.cpp new file mode 100755 index 0000000..5d20828 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/src/Usage.cpp @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2015 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. + */ + +#define LOG_TAG "APM::AudioPolicyEngine/Usage" + +#include "Usage.h" + +namespace android +{ +namespace audio_policy +{ + +status_t Element<audio_usage_t>::setIdentifier(audio_usage_t identifier) +{ + if (identifier > AUDIO_USAGE_MAX) { + return BAD_VALUE; + } + mIdentifier = identifier; + ALOGD("%s: Usage %s has identifier 0x%X", __FUNCTION__, getName().c_str(), identifier); + return NO_ERROR; +} + +template <> +status_t Element<audio_usage_t>::set<routing_strategy>(routing_strategy strategy) +{ + if (strategy >= NUM_STRATEGIES) { + return BAD_VALUE; + } + ALOGD("%s: %d for Usage %s", __FUNCTION__, strategy, getName().c_str()); + mApplicableStrategy = strategy; + return NO_ERROR; +} + +template <> +routing_strategy Element<audio_usage_t>::get<routing_strategy>() const +{ + ALOGD("%s: %d for Usage %s", __FUNCTION__, mApplicableStrategy, getName().c_str()); + return mApplicableStrategy; +} + +} // namespace audio_policy +} // namespace android + + diff --git a/services/audiopolicy/engineconfigurable/src/Usage.h b/services/audiopolicy/engineconfigurable/src/Usage.h new file mode 100755 index 0000000..d69e0e0 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/src/Usage.h @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +#include "Element.h" +#include <RoutingStrategy.h> + +namespace android +{ +namespace audio_policy +{ + +/** + * @tparam routing_strategy: Applicable strategy for this usage. + */ +template <> +class Element<audio_usage_t> +{ +public: + Element(const std::string &name) + : mName(name), + mApplicableStrategy(STRATEGY_MEDIA) + {} + ~Element() {} + + /** + * Returns identifier of this policy element + * + * @returns string representing the name of this policy element + */ + const std::string &getName() const { return mName; } + + /** + * Set the unique identifier for this policy element. + * + * @tparam Key type of the unique identifier. + * @param[in] identifier to be set. + * + * @return NO_ERROR if the identifier is valid and set correctly, error code otherwise. + */ + status_t setIdentifier(audio_usage_t identifier); + + /** + * @return the unique identifier of this policy element. + */ + audio_usage_t getIdentifier() const { return mIdentifier; } + + /** + * A Policy element may implement getter/setter function for a given property. + * Property may be routing_strategy, audio_stream_type_t, audio_usage_t, audio_source_t + * or a string. + */ + template <typename Property> + Property get() const; + + template <typename Property> + status_t set(Property property); + +private: + /* Copy facilities are put private to disable copy. */ + Element(const Element &object); + Element &operator=(const Element &object); + + std::string mName; /**< Unique literal Identifier of a policy base element*/ + audio_usage_t mIdentifier; /**< Unique numerical Identifier of a policy base element*/ + routing_strategy mApplicableStrategy; /**< Applicable strategy for this usage. */ +}; + +typedef Element<audio_usage_t> Usage; + +} // namespace audio_policy +} // namespace android + + diff --git a/services/audiopolicy/engineconfigurable/wrapper/Android.mk b/services/audiopolicy/engineconfigurable/wrapper/Android.mk new file mode 100644 index 0000000..096f913 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/wrapper/Android.mk @@ -0,0 +1,40 @@ +LOCAL_PATH:= $(call my-dir) + +################################################################## +# WRAPPER LIBRARY +################################################################## + +include $(CLEAR_VARS) + +LOCAL_C_INCLUDES := \ + $(LOCAL_PATH)/include \ + $(TARGET_OUT_HEADERS)/parameter \ + $(TOPDIR)frameworks/av/services/audiopolicy/engineconfigurable/include \ + $(TOPDIR)frameworks/av/services/audiopolicy/engineconfigurable/interface \ + $(TOPDIR)frameworks/av/services/audiopolicy/utilities/convert \ + +LOCAL_SRC_FILES:= ParameterManagerWrapper.cpp + +LOCAL_STATIC_LIBRARIES := \ + libmedia_helper \ + +LOCAL_MODULE:= libaudiopolicypfwwrapper +LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include + +LOCAL_MODULE_TAGS := optional +LOCAL_CFLAGS := -Wall -Werror -Wextra + +include $(BUILD_STATIC_LIBRARY) + +################################################################## +# CONFIGURATION FILE +################################################################## + +# specific management of audio_policy_criteria.conf +include $(CLEAR_VARS) +LOCAL_MODULE := audio_policy_criteria.conf +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_ETC) +LOCAL_SRC_FILES := config/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) diff --git a/services/audiopolicy/engineconfigurable/wrapper/ParameterManagerWrapper.cpp b/services/audiopolicy/engineconfigurable/wrapper/ParameterManagerWrapper.cpp new file mode 100755 index 0000000..5b935e8 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/wrapper/ParameterManagerWrapper.cpp @@ -0,0 +1,434 @@ +/* + * Copyright (C) 2015 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. + */ + +#define LOG_TAG "APM::AudioPolicyEngine/PFWWrapper" + +#include "ParameterManagerWrapper.h" +#include "audio_policy_criteria_conf.h" +#include <ParameterMgrPlatformConnector.h> +#include <SelectionCriterionTypeInterface.h> +#include <SelectionCriterionInterface.h> +#include <convert.h> +#include <algorithm> +#include <cutils/config_utils.h> +#include <cutils/misc.h> +#include <fstream> +#include <limits> +#include <sstream> +#include <string> +#include <vector> +#include <stdint.h> +#include <cmath> +#include <utils/Log.h> + +using std::string; +using std::map; +using std::vector; + +/// PFW related definitions +// Logger +class ParameterMgrPlatformConnectorLogger : public CParameterMgrPlatformConnector::ILogger +{ +public: + ParameterMgrPlatformConnectorLogger() {} + + virtual void log(bool isWarning, const string &log) + { + const static string format("policy-parameter-manager: "); + + if (isWarning) { + ALOGW("%s %s", format.c_str(), log.c_str()); + } else { + ALOGD("%s %s", format.c_str(), log.c_str()); + } + } +}; + +namespace android +{ + +using utilities::convertTo; + +namespace audio_policy +{ +const char *const ParameterManagerWrapper::mPolicyPfwDefaultConfFileName = + "/etc/parameter-framework/ParameterFrameworkConfigurationPolicy.xml"; + +template <> +struct ParameterManagerWrapper::parameterManagerElementSupported<ISelectionCriterionInterface> {}; +template <> +struct ParameterManagerWrapper::parameterManagerElementSupported<ISelectionCriterionTypeInterface> {}; + +ParameterManagerWrapper::ParameterManagerWrapper() + : mPfwConnectorLogger(new ParameterMgrPlatformConnectorLogger) +{ + // Connector + mPfwConnector = new CParameterMgrPlatformConnector(mPolicyPfwDefaultConfFileName); + + // Logger + mPfwConnector->setLogger(mPfwConnectorLogger); + + // Load criteria file + if ((loadAudioPolicyCriteriaConfig(gAudioPolicyCriteriaVendorConfFilePath) != NO_ERROR) && + (loadAudioPolicyCriteriaConfig(gAudioPolicyCriteriaConfFilePath) != NO_ERROR)) { + ALOGE("%s: Neither vendor conf file (%s) nor system conf file (%s) could be found", + __FUNCTION__, gAudioPolicyCriteriaVendorConfFilePath, + gAudioPolicyCriteriaConfFilePath); + } + ALOGD("%s: ParameterManagerWrapper instantiated!", __FUNCTION__); +} + +ParameterManagerWrapper::~ParameterManagerWrapper() +{ + // Unset logger + mPfwConnector->setLogger(NULL); + // Remove logger + delete mPfwConnectorLogger; + // Remove connector + delete mPfwConnector; +} + +status_t ParameterManagerWrapper::start() +{ + ALOGD("%s: in", __FUNCTION__); + /// Start PFW + std::string error; + if (!mPfwConnector->start(error)) { + ALOGE("%s: Policy PFW start error: %s", __FUNCTION__, error.c_str()); + return NO_INIT; + } + ALOGD("%s: Policy PFW successfully started!", __FUNCTION__); + return NO_ERROR; +} + + +void ParameterManagerWrapper::addCriterionType(const string &typeName, bool isInclusive) +{ + ALOG_ASSERT(mPolicyCriterionTypes.find(typeName) == mPolicyCriterionTypes.end(), + "CriterionType " << typeName << " already added"); + ALOGD("%s: Adding new criterionType %s", __FUNCTION__, typeName.c_str()); + + mPolicyCriterionTypes[typeName] = mPfwConnector->createSelectionCriterionType(isInclusive); +} + +void ParameterManagerWrapper::addCriterionTypeValuePair( + const string &typeName, + uint32_t numericValue, + const string &literalValue) +{ + ALOG_ASSERT(mPolicyCriterionTypes.find(typeName) != mPolicyCriterionTypes.end(), + "CriterionType " << typeName.c_str() << "not found"); + ALOGV("%s: Adding new value pair (%d,%s) for criterionType %s", __FUNCTION__, + numericValue, literalValue.c_str(), typeName.c_str()); + ISelectionCriterionTypeInterface *criterionType = mPolicyCriterionTypes[typeName]; + criterionType->addValuePair(numericValue, literalValue.c_str()); +} + +void ParameterManagerWrapper::loadCriterionType(cnode *root, bool isInclusive) +{ + ALOG_ASSERT(root != NULL, "error in parsing file"); + cnode *node; + for (node = root->first_child; node != NULL; node = node->next) { + + ALOG_ASSERT(node != NULL, "error in parsing file"); + const char *typeName = node->name; + char *valueNames = (char *)node->value; + + addCriterionType(typeName, isInclusive); + + uint32_t index = 0; + char *ctx; + char *valueName = strtok_r(valueNames, ",", &ctx); + while (valueName != NULL) { + if (strlen(valueName) != 0) { + + // Conf file may use or not pair, if no pair, use incremental index, else + // use provided index. + if (strchr(valueName, ':') != NULL) { + + char *first = strtok(valueName, ":"); + char *second = strtok(NULL, ":"); + ALOG_ASSERT((first != NULL) && (strlen(first) != 0) && + (second != NULL) && (strlen(second) != 0), + "invalid value pair"); + + if (!convertTo<string, uint32_t>(first, index)) { + ALOGE("%s: Invalid index(%s) found", __FUNCTION__, first); + } + addCriterionTypeValuePair(typeName, index, second); + } else { + + uint32_t pfwIndex = isInclusive ? 1 << index : index; + addCriterionTypeValuePair(typeName, pfwIndex, valueName); + index += 1; + } + } + valueName = strtok_r(NULL, ",", &ctx); + } + } +} + +void ParameterManagerWrapper::loadInclusiveCriterionType(cnode *root) +{ + ALOG_ASSERT(root != NULL, "error in parsing file"); + cnode *node = config_find(root, gInclusiveCriterionTypeTag.c_str()); + if (node == NULL) { + return; + } + loadCriterionType(node, true); +} + +void ParameterManagerWrapper::loadExclusiveCriterionType(cnode *root) +{ + ALOG_ASSERT(root != NULL, "error in parsing file"); + cnode *node = config_find(root, gExclusiveCriterionTypeTag.c_str()); + if (node == NULL) { + return; + } + loadCriterionType(node, false); +} + +void ParameterManagerWrapper::parseChildren(cnode *root, string &defaultValue, string &type) +{ + ALOG_ASSERT(root != NULL, "error in parsing file"); + cnode *node; + for (node = root->first_child; node != NULL; node = node->next) { + ALOG_ASSERT(node != NULL, "error in parsing file"); + + if (string(node->name) == gDefaultTag) { + defaultValue = node->value; + } else if (string(node->name) == gTypeTag) { + type = node->value; + } else { + ALOGE("%s: Unrecognized %s %s node", __FUNCTION__, node->name, node->value); + } + } +} + +template <typename T> +T *ParameterManagerWrapper::getElement(const string &name, std::map<string, T *> &elementsMap) +{ + parameterManagerElementSupported<T>(); + typename std::map<string, T *>::iterator it = elementsMap.find(name); + ALOG_ASSERT(it != elementsMap.end(), "Element " << name << " not found"); + return it->second; +} + +template <typename T> +const T *ParameterManagerWrapper::getElement(const string &name, const std::map<string, T *> &elementsMap) const +{ + parameterManagerElementSupported<T>(); + typename std::map<string, T *>::const_iterator it = elementsMap.find(name); + ALOG_ASSERT(it != elementsMap.end(), "Element " << name << " not found"); + return it->second; +} + +void ParameterManagerWrapper::loadCriteria(cnode *root) +{ + ALOG_ASSERT(root != NULL, "error in parsing file"); + cnode *node = config_find(root, gCriterionTag.c_str()); + + if (node == NULL) { + ALOGW("%s: no inclusive criteria found", __FUNCTION__); + return; + } + for (node = node->first_child; node != NULL; node = node->next) { + loadCriterion(node); + } +} + +void ParameterManagerWrapper::addCriterion(const string &name, const string &typeName, + const string &defaultLiteralValue) +{ + ALOG_ASSERT(mPolicyCriteria.find(criterionName) == mPolicyCriteria.end(), + "Route Criterion " << criterionName << " already added"); + + ISelectionCriterionTypeInterface *criterionType = + getElement<ISelectionCriterionTypeInterface>(typeName, mPolicyCriterionTypes); + + ISelectionCriterionInterface *criterion = + mPfwConnector->createSelectionCriterion(name, criterionType); + + mPolicyCriteria[name] = criterion; + int numericalValue = 0; + if (!criterionType->getNumericalValue(defaultLiteralValue.c_str(), numericalValue)) { + ALOGE("%s; trying to apply invalid default literal value (%s)", __FUNCTION__, + defaultLiteralValue.c_str()); + } + criterion->setCriterionState(numericalValue); +} + +void ParameterManagerWrapper::loadCriterion(cnode *root) +{ + ALOG_ASSERT(root != NULL, "error in parsing file"); + const char *criterionName = root->name; + + ALOG_ASSERT(mPolicyCriteria.find(criterionName) == mPolicyCriteria.end(), + "Criterion " << criterionName << " already added"); + + string paramKeyName = ""; + string path = ""; + string typeName = ""; + string defaultValue = ""; + + parseChildren(root, defaultValue, typeName); + + addCriterion(criterionName, typeName, defaultValue); +} + +void ParameterManagerWrapper::loadConfig(cnode *root) +{ + ALOG_ASSERT(root != NULL, "error in parsing file"); + cnode *node = config_find(root, gPolicyConfTag.c_str()); + if (node == NULL) { + ALOGW("%s: Could not find node for pfw", __FUNCTION__); + return; + } + ALOGD("%s: Loading conf for pfw", __FUNCTION__); + loadInclusiveCriterionType(node); + loadExclusiveCriterionType(node); + loadCriteria(node); +} + + +status_t ParameterManagerWrapper::loadAudioPolicyCriteriaConfig(const char *path) +{ + ALOG_ASSERT(path != NULL, "error in parsing file: empty path"); + cnode *root; + char *data; + ALOGD("%s", __FUNCTION__); + data = (char *)load_file(path, NULL); + if (data == NULL) { + return -ENODEV; + } + root = config_node("", ""); + ALOG_ASSERT(root != NULL, "Unable to allocate a configuration node"); + config_load(root, data); + + loadConfig(root); + + config_free(root); + free(root); + free(data); + ALOGD("%s: loaded", __FUNCTION__); + return NO_ERROR; +} + +bool ParameterManagerWrapper::isStarted() +{ + return mPfwConnector && mPfwConnector->isStarted(); +} + +status_t ParameterManagerWrapper::setPhoneState(audio_mode_t mode) +{ + ISelectionCriterionInterface *criterion = mPolicyCriteria[gPhoneStateCriterionTag]; + if (!isValueValidForCriterion(criterion, static_cast<int>(mode))) { + return BAD_VALUE; + } + criterion->setCriterionState((int)(mode)); + applyPlatformConfiguration(); + return NO_ERROR; +} + +audio_mode_t ParameterManagerWrapper::getPhoneState() const +{ + const ISelectionCriterionInterface *criterion = + getElement<ISelectionCriterionInterface>(gPhoneStateCriterionTag, mPolicyCriteria); + return static_cast<audio_mode_t>(criterion->getCriterionState()); +} + +status_t ParameterManagerWrapper::setForceUse(audio_policy_force_use_t usage, + audio_policy_forced_cfg_t config) +{ + // @todo: return an error on a unsupported value + if (usage > AUDIO_POLICY_FORCE_USE_CNT) { + return BAD_VALUE; + } + + ISelectionCriterionInterface *criterion = mPolicyCriteria[gForceUseCriterionTag[usage]]; + if (!isValueValidForCriterion(criterion, static_cast<int>(config))) { + return BAD_VALUE; + } + criterion->setCriterionState((int)config); + applyPlatformConfiguration(); + return NO_ERROR; +} + +audio_policy_forced_cfg_t ParameterManagerWrapper::getForceUse(audio_policy_force_use_t usage) const +{ + // @todo: return an error on a unsupported value + if (usage > AUDIO_POLICY_FORCE_USE_CNT) { + return AUDIO_POLICY_FORCE_NONE; + } + const ISelectionCriterionInterface *criterion = + getElement<ISelectionCriterionInterface>(gForceUseCriterionTag[usage], mPolicyCriteria); + return static_cast<audio_policy_forced_cfg_t>(criterion->getCriterionState()); +} + +bool ParameterManagerWrapper::isValueValidForCriterion(ISelectionCriterionInterface *criterion, + int valueToCheck) +{ + const ISelectionCriterionTypeInterface *interface = criterion->getCriterionType(); + string literalValue; + return interface->getLiteralValue(valueToCheck, literalValue); +} + +status_t ParameterManagerWrapper::setDeviceConnectionState(audio_devices_t devices, + audio_policy_dev_state_t state, + const char */*deviceAddres*/) +{ + ISelectionCriterionInterface *criterion = NULL; + + if (audio_is_output_devices(devices)) { + criterion = mPolicyCriteria[gOutputDeviceCriterionTag]; + } else if (devices & AUDIO_DEVICE_BIT_IN) { + criterion = mPolicyCriteria[gInputDeviceCriterionTag]; + } else { + return BAD_TYPE; + } + if (criterion == NULL) { + ALOGE("%s: no criterion found for devices", __FUNCTION__); + return DEAD_OBJECT; + } + + int32_t previousDevices = criterion->getCriterionState(); + switch (state) + { + case AUDIO_POLICY_DEVICE_STATE_AVAILABLE: + criterion->setCriterionState(previousDevices |= devices); + break; + + case AUDIO_POLICY_DEVICE_STATE_UNAVAILABLE: + if (devices & AUDIO_DEVICE_BIT_IN) { + devices &= ~AUDIO_DEVICE_BIT_IN; + } + criterion->setCriterionState(previousDevices &= ~devices); + break; + + default: + return BAD_VALUE; + } + applyPlatformConfiguration(); + return NO_ERROR; +} + +void ParameterManagerWrapper::applyPlatformConfiguration() +{ + mPfwConnector->applyConfigurations(); +} + +} // namespace audio_policy +} // namespace android diff --git a/services/audiopolicy/engineconfigurable/wrapper/audio_policy_criteria_conf.h b/services/audiopolicy/engineconfigurable/wrapper/audio_policy_criteria_conf.h new file mode 100755 index 0000000..58e7135 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/wrapper/audio_policy_criteria_conf.h @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +#include <string> +#include <system/audio_policy.h> + +////////////////////////////////////////////////////////////////////////////////////////////////// +// Definitions for audio policy criteria configuration file (audio_policy_criteria.conf) // +// // +// @TODO: scripted from audio.h & audio_policy,h // +////////////////////////////////////////////////////////////////////////////////////////////////// + +static const char *const gAudioPolicyCriteriaConfFilePath = + "/system/etc/audio_policy_criteria.conf"; +static const char *const gAudioPolicyCriteriaVendorConfFilePath = + "/vendor/etc/audio_policy_criteria.conf"; + +/** + * PFW instances tags + */ +static const std::string &gPolicyConfTag = "Policy"; +static const std::string &gDefaultTag = "Default"; +static const std::string &gTypeTag = "Type"; + +/** + * PFW elements tags + */ +static const std::string &gInclusiveCriterionTypeTag = "InclusiveCriterionType"; +static const std::string &gExclusiveCriterionTypeTag = "ExclusiveCriterionType"; +static const std::string &gCriterionTag = "Criterion"; + +/** + * PFW known criterion tags + */ +static const std::string &gInputDeviceCriterionTag = "AvailableInputDevices"; +static const std::string &gOutputDeviceCriterionTag = "AvailableOutputDevices"; +static const std::string &gPhoneStateCriterionTag = "TelephonyMode"; + +/** + * Order MUST be align with defintiion of audio_policy_force_use_t within audio_policy.h + */ +static const std::string gForceUseCriterionTag[AUDIO_POLICY_FORCE_USE_CNT] = +{ + [AUDIO_POLICY_FORCE_FOR_COMMUNICATION] = "ForceUseForCommunication", + [AUDIO_POLICY_FORCE_FOR_MEDIA] = "ForceUseForMedia", + [AUDIO_POLICY_FORCE_FOR_RECORD] = "ForceUseForRecord", + [AUDIO_POLICY_FORCE_FOR_DOCK] = "ForceUseForDock", + [AUDIO_POLICY_FORCE_FOR_SYSTEM] = "ForceUseForSystem", + [AUDIO_POLICY_FORCE_FOR_HDMI_SYSTEM_AUDIO] = "ForceUseForHdmiSystemAudio" +}; + + + + + + diff --git a/services/audiopolicy/engineconfigurable/wrapper/config/audio_policy_criteria.conf b/services/audiopolicy/engineconfigurable/wrapper/config/audio_policy_criteria.conf new file mode 100755 index 0000000..a4ffdd5 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/wrapper/config/audio_policy_criteria.conf @@ -0,0 +1,192 @@ +################################################################################################ +# +# @NOTE: +# Audio Policy Criteria file example for generic device build +# +# Any vendor shall have its own configuration within the corresponding device folder +# +################################################################################################ + +######################################################### +# Criterion type Example: +# For each criterion, a couple of numerical, literal values must be provided to the PFW. +# The numerical part is not mandatory. If not filled by the user, a default numerical value will be +# automatically provided by audio HAL using the following logic: +# - Exclusive criterion: +# * 0 -> first literal value, +# * 1 -> second literal value, +# ... +# * N -> (N+1)th literal value. +# - Inclusive criterion: +# * 1 << 0 -> first literal value, +# * 1 << 1 -> second literal value, +# ... +# * 1 << N -> (N+1)th literal value, +# +######################################################### +# Route|Audio { +# InclusiveCriterionType|ExclusiveCriterionType { +# <Criterion Name> [numerical value 1:]<literal value 1>,[numerical value 2:]<literal value 2>,<literal value 3>,... +# } +# } + +######################################################### +# Criterion: +######################################################### +# Route|Audio { +# Criterion { +# <Criterion Name> { +# Type <Criterion type name> +# Default <default value of the criterion> +# } +# } +# } + +Policy { + ExclusiveCriterionType { + # + # The values of the mode MUST be aligned with the definition of the audio_mode_t + # from system/audio.h + # + AndroidModeType 0:Normal,1:RingTone,2:InCall,3:InCommunication + } + InclusiveCriterionType { + # + # DO NOT CHANGE ORDER. This definition must be aligned with the definition of + # AUDIO_DEVICE_OUT_* within <system/audio.h> file of android. + # + OutputDevicesMaskType Earpiece,Speaker,WiredHeadset,WiredHeadphone,BluetoothSco,BluetoothScoHeadset,BluetoothScoCarkit,BluetoothA2dp,BluetoothA2dpHeadphones,BluetoothA2dpSpeaker,Hdmi,AnlgDockHeadset,DgtlDockHeadset,UsbAccessory,UsbDevice,RemoteSubmix,TelephonyTx,Line,HdmiArc,Spdif,Fm,AuxLine,SpeakerSafe + } + InclusiveCriterionType { + # + # DO NOT CHANGE ORDER. This definition must be aligned with the definition of + # AUDIO_DEVICE_IN_* within <system/audio.h> file of android. + # Note also that direction bit will be decimated by AudioHAL in order to allow using a mask + # with the cardinality of 1 between a bit and an input device. + # + InputDevicesMaskType Communication,Ambient,BuiltinMic,BluetoothScoHeadset,WiredHeadset,Hdmi,TelephonyRx,BackMic,RemoteSubmix,AnlgDockHeadset,DgtlDockHeadset,UsbAccessory,UsbDevice,FmTuner,TvTune,Line,Spdif,BluetoothA2dp,Loopback + } + ExclusiveCriterionType { + # + # The values of the mode MUST be aligned with the definition of the + # audio_policy_forced_config_t from system/audio.h + # + ForceUseForCommunicationType 0:ForceNone,1:ForceSpeaker,3:ForceBtSco + } + ExclusiveCriterionType { + # + # The values of the mode MUST be aligned with the definition of the + # audio_policy_forced_config_t from system/audio.h + # + ForceUseForMediaType 0:ForceNone,1:ForceSpeaker,2:ForceHeadphones,4:ForceBtA2dp,5:ForceWiredAccessory,8:ForceAnalogDock,9:ForceDigitalDock,10:ForceNoBtA2dp + } + ExclusiveCriterionType { + # + # The values of the mode MUST be aligned with the definition of the + # audio_policy_forced_config_t from system/audio.h + # + ForceUseForRecordType 0:ForceNone,3:ForceBtSco,5:ForceWiredAccessory + } + ExclusiveCriterionType { + # + # The values of the mode MUST be aligned with the definition of the + # audio_policy_forced_config_t from system/audio.h + # + ForceUseForDockType 0:ForceNone,5:ForceWiredAccessory,6:ForceBtCarDock,7:ForceBtDeskDock,8:ForceAnalogDock,9:ForceDigitalDock + } + ExclusiveCriterionType { + # + # The values of the mode MUST be aligned with the definition of the + # audio_policy_forced_config_t from system/audio.h + # + ForceUseForSystemType 0:ForceNone,11:ForceSystemEnforced + } + ExclusiveCriterionType { + # + # The values of the mode MUST be aligned with the definition of the + # audio_policy_forced_config_t from system/audio.h + # + ForceUseForHdmiSystemAudioType 0:ForceNone,12:ForceHdmiSystemEnforced + } + ExclusiveCriterionType { + Rate 8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,176400,192000 + } + ExclusiveCriterionType { + Format Mp3,AmrNb,AmrWb,Aac,HeAacV1,HeAacV2,Vorbis,Pcm16Bit,Pcm8Bit,Pcm32Bit,Pcm8_24Bit + } + InclusiveCriterionType { + OutputChannelMask FrontLeft,FrontRight,FrontCenter,LowFrequence,BackLeft,BackRight,FromLeftOfCenter,FromRightOfCenter,BackCenter,SideLeft,SideRight,TopCenter,TopFrontLeft,TopFrontCenter,TopFrontRight,TopBackLeft,TopBackCenter,TopBackRight + } + ExclusiveCriterionType { + OutputChannelMasks Mono,Stereo,Quad,QuadBack,QuadSide,5Point1,5Point1Back,5Point1Side,7Point1,All + } + InclusiveCriterionType { + InputChannelMask Left,Right,Front,Back,LeftProcessed,RightProcessed,FrontProcessed,BackProcessed,Pressure,XAxis,YAxis,ZAxis,VoiceUplink,VoiceDnlink + } + ExclusiveCriterionType { + InputChannelMasks Mono,Stereo,FrontBack,VoiceUplinkDnlink,All + } + InclusiveCriterionType { + OutputFlags Direct,Primary,Fast,DeepBuffer,CompressOffload,NonBlocking,HwAvSync + } + ExclusiveCriterionType { + InputSource Default,Mic,VoiceUplink,VoiceDownlink,VoiceCall,Camcorder,VoiceRecognition,VoiceCommunication,RemoteSubmix,Hotword + } + + + Criterion { + AvailableInputDevices { + Type InputDevicesMaskType + Default none + } + } + Criterion { + AvailableOutputDevices { + Type OutputDevicesMaskType + Default none + } + } + Criterion { + TelephonyMode { + Type AndroidModeType + Default Normal + } + } + Criterion { + ForceUseForCommunication { + Type ForceUseForCommunicationType + Default ForceNone + } + } + Criterion { + ForceUseForMedia { + Type ForceUseForMediaType + Default ForceNone + } + } + Criterion { + ForceUseForRecord { + Type ForceUseForRecordType + Default ForceNone + } + } + Criterion { + ForceUseForDock { + Type ForceUseForDockType + Default ForceNone + } + } + Criterion { + ForceUseForSystem { + Type ForceUseForSystemType + Default ForceNone + } + } + Criterion { + ForceUseForHdmiSystemAudio { + Type ForceUseForHdmiSystemAudioType + Default ForceNone + } + } +} + diff --git a/services/audiopolicy/engineconfigurable/wrapper/include/ParameterManagerWrapper.h b/services/audiopolicy/engineconfigurable/wrapper/include/ParameterManagerWrapper.h new file mode 100755 index 0000000..3c5f2c0 --- /dev/null +++ b/services/audiopolicy/engineconfigurable/wrapper/include/ParameterManagerWrapper.h @@ -0,0 +1,286 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +#include <system/audio.h> +#include <system/audio_policy.h> +#include <utils/Errors.h> +#include <utils/RWLock.h> +#include <list> +#include <map> +#include <string> +#include <vector> + +class CParameterMgrPlatformConnector; +class ISelectionCriterionInterface; +class ISelectionCriterionTypeInterface; +struct cnode; + +class ParameterMgrPlatformConnectorLogger; + +namespace android +{ +namespace audio_policy +{ + +class ParameterManagerWrapper +{ +private: + typedef std::pair<int, const char *> CriterionTypeValuePair; + + typedef std::map<std::string, ISelectionCriterionInterface *> CriterionCollection; + typedef std::map<std::string, ISelectionCriterionTypeInterface *> CriterionTypeCollection; + typedef CriterionCollection::iterator CriterionMapIterator; + typedef CriterionCollection::const_iterator CriterionMapConstIterator; + typedef CriterionTypeCollection::iterator CriterionTypeMapIterator; + typedef CriterionTypeCollection::const_iterator CriteriaTypeMapConstIterator; + +public: + ParameterManagerWrapper(); + ~ParameterManagerWrapper(); + + /** + * Starts the platform state service. + * It starts the parameter framework policy instance. + * + * @return NO_ERROR if success, error code otherwise. + */ + status_t start(); + + /** + * The following API wrap policy action to criteria + */ + + /** + * Checks if the platform state was correctly started (ie the policy parameter manager + * has been instantiated and started correctly). + * + * @todo: map on initCheck? + * + * @return true if platform state is started correctly, false otherwise. + */ + bool isStarted(); + + /** + * Set Telephony Mode. + * It will set the telephony mode criterion accordingly and apply the configuration in order + * to select the right configuration on domains depending on this mode criterion. + * + * @param[in] mode: Android Phone state (normal, ringtone, csv, in communication) + * + * @return NO_ERROR if criterion set correctly, error code otherwise. + */ + status_t setPhoneState(audio_mode_t mode); + + audio_mode_t getPhoneState() const; + + /** + * Set Force Use config for a given usage. + * It will set the corresponding policy parameter framework criterion. + * + * @param[in] usage for which a configuration shall be forced. + * @param[in] config wished to be forced for the given shall. + * + * @return NO_ERROR if the criterion was set correctly, error code otherwise (e.g. config not + * allowed a given usage...) + */ + status_t setForceUse(audio_policy_force_use_t usage, audio_policy_forced_cfg_t config); + + audio_policy_forced_cfg_t getForceUse(audio_policy_force_use_t usage) const; + + /** + * Set the connection state of device(s). + * It will set the associated policy parameter framework criterion. + * + * @param[in] devices mask of devices for which the state has changed. + * @param[in] state of availability of this(these) device(s). + * @param[in] deviceAddress: the mask might not be enough, as it may represents a type of + * device, so address of the device will help precise identification. + * + * @return NO_ERROR if devices criterion updated correctly, error code otherwise. + */ + status_t setDeviceConnectionState(audio_devices_t devices, audio_policy_dev_state_t state, + const char *deviceAddress); + +private: + /** + * Apply the configuration of the platform on the policy parameter manager. + * Once all the criteria have been set, the client of the platform state must call + * this function in order to have the route PFW taking into account these criteria. + * + * OPENS: shall we expose this? + * - Yes if atomic set operation. + * In this case, abstract it behind the "STAGE AND COMMIT" pattern + * - no if need to set more than one before triggering an apply configuration. + */ + void applyPlatformConfiguration(); + + /** + * Load the criterion configuration file. + * + * @param[in] path Criterion conf file path. + * + * @return NO_ERROR is parsing successful, error code otherwise. + */ + status_t loadAudioPolicyCriteriaConfig(const char *path); + + /** + * Add a criterion type to AudioPolicyPfw. + * + * @param[in] typeName of the PFW criterion type. + * @param[in] isInclusive attribute of the criterion type. + */ + void addCriterionType(const std::string &typeName, bool isInclusive); + + /** + * Add a criterion type value pair to AudioPolicyPfw. + * + * @param[in] typeName criterion type name to which this value pair is added to. + * @param[in] numeric part of the value pair. + * @param[in] literal part of the value pair. + */ + void addCriterionTypeValuePair(const std::string &typeName, uint32_t numeric, + const std::string &literal); + + /** + * Add a criterion to AudioPolicyPfw. + * + * @param[in] name of the PFW criterion. + * @param[in] typeName criterion type name to which this criterion is associated to. + * @param[in] defaultLiteralValue of the PFW criterion. + */ + void addCriterion(const std::string &name, + const std::string &typeName, + const std::string &defaultLiteralValue); + /** + * Parse and load the inclusive criterion type from configuration file. + * + * @param[in] root node of the configuration file. + */ + void loadInclusiveCriterionType(cnode *root); + + /** + * Parse and load the exclusive criterion type from configuration file. + * + * @param[in] root node of the configuration file. + */ + void loadExclusiveCriterionType(cnode *root); + + /** + * Parse and load the criteria from configuration file. + * + * @param[in] root node of the configuration file. + */ + void loadCriteria(cnode *root); + + /** + * Parse and load a criterion from configuration file. + * + * @param[in] root node of the configuration file. + */ + void loadCriterion(cnode *root); + + /** + * Parse and load the criterion types from configuration file. + * + * @param[in] root node of the configuration file + * @param[in] isInclusive true if inclusive, false is exclusive. + */ + void loadCriterionType(cnode *root, bool isInclusive); + + /** + * Load the configuration file. + * + * @param[in] root node of the configuration file. + */ + void loadConfig(cnode *root); + + /** + * Parse and load the chidren node from a given root node. + * + * @param[in] root node of the configuration file + * @param[out] defaultValue of the parameter manager element to retrieve. + * @param[out] type of the parameter manager element to retrieve. + */ + void parseChildren(cnode *root, std::string &defaultValue, std::string &type); + + /** + * Retrieve an element from a map by its name. + * + * @tparam T type of element to search. + * @param[in] name name of the element to find. + * @param[in] elementsMap maps of elements to search into. + * + * @return valid pointer on element if found, NULL otherwise. + */ + template <typename T> + T *getElement(const std::string &name, std::map<std::string, T *> &elementsMap); + + /** + * Retrieve an element from a map by its name. Const version. + * + * @tparam T type of element to search. + * @param[in] name name of the element to find. + * @param[in] elementsMap maps of elements to search into. + * + * @return valid pointer on element if found, NULL otherwise. + */ + template <typename T> + const T *getElement(const std::string &name, + const std::map<std::string, T *> &elementsMap) const; + + /** + * set the value of a component state. + * + * @param[in] value new value to set to the component state. + * @param[in] stateName of the component state. + */ + void setValue(int value, const std::string &stateName); + + /** + * get the value of a component state. + * + * @param[in] name of the component state. + * + * @return value of the component state + */ + int getValue(const std::string &stateName) const; + + bool isValueValidForCriterion(ISelectionCriterionInterface *criterion, int valueToCheck); + + CriterionTypeCollection mPolicyCriterionTypes; /**< Policy Criterion Type map. */ + CriterionCollection mPolicyCriteria; /**< Policy Criterion Map. */ + + CParameterMgrPlatformConnector *mPfwConnector; /**< Policy Parameter Manager connector. */ + ParameterMgrPlatformConnectorLogger *mPfwConnectorLogger; /**< Policy PFW logger. */ + + + /** + * provide a compile time error if no specialization is provided for a given type. + * + * @tparam T: type of the parameter manager element. Supported one are: + * - Criterion + * - CriterionType. + */ + template <typename T> + struct parameterManagerElementSupported; + + static const char *const mPolicyPfwDefaultConfFileName; /**< Default Policy PFW top file name.*/ +}; + +} // namespace audio_policy +} // namespace android diff --git a/services/audiopolicy/utilities/convert/convert.h b/services/audiopolicy/utilities/convert/convert.h new file mode 100644 index 0000000..980b5d5 --- /dev/null +++ b/services/audiopolicy/utilities/convert/convert.h @@ -0,0 +1,383 @@ +/* + * Copyright (C) 2015 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. + */ + +#pragma once + +#include <limits> +#include <sstream> +#include <string> +#include <vector> +#include <stdint.h> +#include <cmath> + +namespace android +{ + +namespace utilities +{ + +/** + * Convert a given source type to a given destination type. + * + * String conversion to T reads the value of the type T in the given string. + * The function does not allow to have white spaces around the value to parse + * and tries to parse the whole string, which means that if some bytes were not + * read in the string, the function fails. + * Hexadecimal representation (ie. numbers starting with 0x) is supported only + * for integral types conversions. + * + * Numeric conversion to string formats the source value to decimal space. + * + * Vector to vector conversion calls convertTo on each element. + * + * @tparam srcType source type, default value is string type + * @tparam dstType destination type + * @param[in] input The source to convert from. + * @param[out] result Converted value if success, undefined on failure. + * + * @return true if conversion was successful, false otherwise. + */ +template <typename srcType, typename dstType> +static inline bool convertTo(const srcType &input, dstType &result); + +/* details namespace is here to hide implementation details to header end user. It + * is NOT intended to be used outside. */ +namespace details +{ + +/** Helper class to limit instantiation of templates */ +template <typename T> +struct ConversionFromStringAllowed; +template <typename T> +struct ConversionToStringAllowed; + +/* List of allowed types for conversion */ +template <> +struct ConversionFromStringAllowed<bool> {}; +template <> +struct ConversionFromStringAllowed<uint64_t> {}; +template <> +struct ConversionFromStringAllowed<int64_t> {}; +template <> +struct ConversionFromStringAllowed<uint32_t> {}; +template <> +struct ConversionFromStringAllowed<int32_t> {}; +template <> +struct ConversionFromStringAllowed<uint16_t> {}; +template <> +struct ConversionFromStringAllowed<int16_t> {}; +template <> +struct ConversionFromStringAllowed<float> {}; +template <> +struct ConversionFromStringAllowed<double> {}; + +template <> +struct ConversionToStringAllowed<int64_t> {}; +template <> +struct ConversionToStringAllowed<uint64_t> {}; +template <> +struct ConversionToStringAllowed<uint32_t> {}; +template <> +struct ConversionToStringAllowed<int32_t> {}; +template <> +struct ConversionToStringAllowed<double> {}; +template <> +struct ConversionToStringAllowed<float> {}; + +/** + * Set the decimal precision to 10 digits. + * Note that this setting is aligned with Android Audio Parameter + * policy concerning float storage into string. + */ +static const uint32_t gFloatPrecision = 10; + +template <typename T> +static inline bool fromString(const std::string &str, T &result) +{ + /* Check that conversion to that type is allowed. + * If this fails, this means that this template was not intended to be used + * with this type, thus that the result is undefined. */ + ConversionFromStringAllowed<T>(); + + if (str.find_first_of(std::string("\r\n\t\v ")) != std::string::npos) { + return false; + } + + /* Check for a '-' in string. If type is unsigned and a - is found, the + * parsing fails. This is made necessary because "-1" is read as 65535 for + * uint16_t, for example */ + if (str.find("-") != std::string::npos + && !std::numeric_limits<T>::is_signed) { + return false; + } + + std::stringstream ss(str); + + /* Sadly, the stream conversion does not handle hexadecimal format, thus + * check is done manually */ + if (str.substr(0, 2) == "0x") { + if (std::numeric_limits<T>::is_integer) { + ss >> std::hex >> result; + } else { + /* Conversion undefined for non integers */ + return false; + } + } else { + ss >> result; + } + + return ss.eof() && !ss.fail() && !ss.bad(); +} + +template <typename T> +static inline bool toString(const T &value, std::string &str) +{ + /* Check that conversion from that type is allowed. + * If this fails, this means that this template was not intended to be used + * with this type, thus that the result is undefined. */ + ConversionToStringAllowed<T>(); + + std::stringstream oss; + oss.precision(gFloatPrecision); + oss << value; + str = oss.str(); + return !oss.fail() && !oss.bad(); +} + +template <typename srcType, typename dstType> +class Converter; + +template <typename dstType> +class Converter<std::string, dstType> +{ +public: + static inline bool run(const std::string &str, dstType &result) + { + return fromString<dstType>(str, result); + } +}; + +template <typename srcType> +class Converter<srcType, std::string> +{ +public: + static inline bool run(const srcType &str, std::string &result) + { + return toString<srcType>(str, result); + } +}; + +/** Convert a vector by applying convertTo on each element. + * + * @tparam SrcElem Type of the src elements. + * @tparam DstElem Type of the destination elements. + */ +template <typename SrcElem, typename DstElem> +class Converter<std::vector<SrcElem>, std::vector<DstElem> > +{ +public: + typedef const std::vector<SrcElem> Src; + typedef std::vector<DstElem> Dst; + + static inline bool run(Src &src, Dst &dst) + { + typedef typename Src::const_iterator SrcIt; + dst.clear(); + dst.reserve(src.size()); + for (SrcIt it = src.begin(); it != src.end(); ++it) { + DstElem dstElem; + if (not convertTo(*it, dstElem)) { + return false; + } + dst.push_back(dstElem); + } + return true; + } +}; + +} // namespace details + +template <typename srcType, typename dstType> +static inline bool convertTo(const srcType &input, dstType &result) +{ + return details::Converter<srcType, dstType>::run(input, result); +} + +/** + * Specialization for int16_t of convertTo template function. + * + * This function follows the same paradigm than it's generic version. + * + * The specific implementation is made necessary because the stlport version of + * string streams is bugged and does not fail when giving overflowed values. + * This specialisation can be safely removed when stlport behaviour is fixed. + * + * @param[in] str the string to parse. + * @param[out] result reference to object where to store the result. + * + * @return true if conversion was successful, false otherwise. + */ +template <> +inline bool convertTo<std::string, int16_t>(const std::string &str, int16_t &result) +{ + int64_t res; + + if (!convertTo<std::string, int64_t>(str, res)) { + return false; + } + + if (res > std::numeric_limits<int16_t>::max() || res < std::numeric_limits<int16_t>::min()) { + return false; + } + + result = static_cast<int16_t>(res); + return true; +} + +/** + * Specialization for float of convertTo template function. + * + * This function follows the same paradigm than it's generic version and is + * based on it but makes furthers checks on the returned value. + * + * The specific implementation is made necessary because the stlport conversion + * from string to float behaves differently than GNU STL: overflow produce + * +/-Infinity rather than an error. + * + * @param[in] str the string to parse. + * @param[out] result reference to object where to store the result. + * + * @return true if conversion was successful, false otherwise. + */ +template <> +inline bool convertTo<std::string, float>(const std::string &str, float &result) +{ + if (!details::Converter<std::string, float>::run(str, result)) { + return false; + } + + if (std::abs(result) == std::numeric_limits<float>::infinity() || + result == std::numeric_limits<float>::quiet_NaN()) { + return false; + } + + return true; +} + +/** + * Specialization for double of convertTo template function. + * + * This function follows the same paradigm than it's generic version and is + * based on it but makes furthers checks on the returned value. + * + * The specific implementation is made necessary because the stlport conversion + * from string to double behaves differently than GNU STL: overflow produce + * +/-Infinity rather than an error. + * + * @param[in] str the string to parse. + * @param[out] result reference to object where to store the result. + * + * @return true if conversion was successful, false otherwise. + */ +template <> +inline bool convertTo<std::string, double>(const std::string &str, double &result) +{ + if (!details::Converter<std::string, double>::run(str, result)) { + return false; + } + + if (std::abs(result) == std::numeric_limits<double>::infinity() || + result == std::numeric_limits<double>::quiet_NaN()) { + return false; + } + + return true; +} + +/** + * Specialization for boolean of convertTo template function. + * + * This function follows the same paradigm than it's generic version. + * This function accepts to parse boolean as "0/1" or "false/true" or + * "FALSE/TRUE". + * The specific implementation is made necessary because the behaviour of + * string streams when parsing boolean values is not sufficient to fit our + * requirements. Indeed, parsing "true" will correctly parse the value, but the + * end of stream is not reached which makes the ss.eof() fails in the generic + * implementation. + * + * @param[in] str the string to parse. + * @param[out] result reference to object where to store the result. + * + * @return true if conversion was successful, false otherwise. + */ +template <> +inline bool convertTo<std::string, bool>(const std::string &str, bool &result) +{ + if (str == "0" || str == "FALSE" || str == "false") { + result = false; + return true; + } + + if (str == "1" || str == "TRUE" || str == "true") { + result = true; + return true; + } + + return false; +} + +/** + * Specialization for boolean to string of convertTo template function. + * + * This function follows the same paradigm than it's generic version. + * This function arbitrarily decides to return "false/true". + * It is compatible with the specialization from string to boolean. + * + * @param[in] isSet boolean to convert to a string. + * @param[out] result reference to object where to store the result. + * + * @return true if conversion was successful, false otherwise. + */ +template <> +inline bool convertTo<bool, std::string>(const bool &isSet, std::string &result) +{ + result = isSet ? "true" : "false"; + return true; +} + +/** + * Specialization for string to string of convertTo template function. + * + * This function is a dummy conversion from string to string. + * In case of clients using template as well, this implementation avoids adding extra + * specialization to bypass the conversion from string to string. + * + * @param[in] str the string to parse. + * @param[out] result reference to object where to store the result. + * + * @return true if conversion was successful, false otherwise. + */ +template <> +inline bool convertTo<std::string, std::string>(const std::string &str, std::string &result) +{ + result = str; + return true; +} + +} // namespace utilities + +} // namespace android |