Merge "audio policy: engine configurable: improve accessibility volume" into nyc-dev
diff --git a/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/PolicyConfigurableDomains.xml b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/PolicyConfigurableDomains.xml
index 327f7c6..bc7ad6b 100644
--- a/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/PolicyConfigurableDomains.xml
+++ b/services/audiopolicy/engineconfigurable/parameter-framework/example/Settings/PolicyConfigurableDomains.xml
@@ -6192,10 +6192,6 @@
<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>
@@ -6215,39 +6211,33 @@
<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">
+ <ConfigurableDomain Name="DeviceForStrategy.Accessibility.Device" 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="BluetoothA2dpHeadphone">
<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>
@@ -6255,56 +6245,159 @@
<Configuration Name="BluetoothA2dpSpeaker">
<CompoundRule Type="All">
<SelectionCriterionRule SelectionCriterion="ForceUseForMedia" MatchesWhen="IsNot" Value="ForceNoBtA2dp"/>
+ <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCall"/>
+ <SelectionCriterionRule SelectionCriterion="TelephonyMode" MatchesWhen="IsNot" Value="InCommunication"/>
<SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothA2dpSpeaker"/>
</CompoundRule>
</Configuration>
- <Configuration Name="ForceSpeaker">
+ <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="AvailableOutputDevices" MatchesWhen="Includes" Value="Speaker"/>
</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="AvailableOutputDevices" MatchesWhen="Includes" Value="BluetoothScoCarkit"/>
+ <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="Is" Value="ForceBtSco"/>
+ </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="Line">
<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"/>
+ <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Excludes" Value="WiredHeadset"/>
+ </CompoundRule>
+ </CompoundRule>
<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="UsbAccessory">
- <CompoundRule Type="All">
- <SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="UsbAccessory"/>
- </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="AuxDigital">
<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="AvailableOutputDevices" MatchesWhen="Includes" Value="AnlgDockHeadset"/>
<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="AvailableOutputDevices" MatchesWhen="Includes" Value="Earpiece"/>
+ <SelectionCriterionRule SelectionCriterion="ForceUseForCommunication" MatchesWhen="IsNot" Value="ForceSpeaker"/>
+ </CompoundRule>
+ </Configuration>
<Configuration Name="Speaker">
<CompoundRule Type="All">
<SelectionCriterionRule SelectionCriterion="AvailableOutputDevices" MatchesWhen="Includes" Value="Speaker"/>
@@ -6316,9 +6409,13 @@
</Configurations>
<ConfigurableElements>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/remote_submix"/>
+ <ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/earpiece"/>
<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/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/bluetooth_sco"/>
<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"/>
@@ -6334,6 +6431,9 @@
<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/earpiece">
+ <BitParameter Name="earpiece">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp">
<BitParameter Name="bluetooth_a2dp">0</BitParameter>
</ConfigurableElement>
@@ -6343,6 +6443,15 @@
<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/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/bluetooth_sco">
+ <BitParameter Name="bluetooth_sco">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker">
<BitParameter Name="speaker">0</BitParameter>
</ConfigurableElement>
@@ -6375,6 +6484,9 @@
<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/earpiece">
+ <BitParameter Name="earpiece">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp">
<BitParameter Name="bluetooth_a2dp">1</BitParameter>
</ConfigurableElement>
@@ -6384,6 +6496,15 @@
<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/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/bluetooth_sco">
+ <BitParameter Name="bluetooth_sco">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker">
<BitParameter Name="speaker">0</BitParameter>
</ConfigurableElement>
@@ -6416,6 +6537,9 @@
<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/earpiece">
+ <BitParameter Name="earpiece">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp">
<BitParameter Name="bluetooth_a2dp">0</BitParameter>
</ConfigurableElement>
@@ -6425,6 +6549,15 @@
<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/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/bluetooth_sco">
+ <BitParameter Name="bluetooth_sco">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker">
<BitParameter Name="speaker">0</BitParameter>
</ConfigurableElement>
@@ -6457,6 +6590,9 @@
<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/earpiece">
+ <BitParameter Name="earpiece">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp">
<BitParameter Name="bluetooth_a2dp">0</BitParameter>
</ConfigurableElement>
@@ -6466,6 +6602,15 @@
<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/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/bluetooth_sco">
+ <BitParameter Name="bluetooth_sco">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker">
<BitParameter Name="speaker">0</BitParameter>
</ConfigurableElement>
@@ -6494,10 +6639,13 @@
<BitParameter Name="hdmi">0</BitParameter>
</ConfigurableElement>
</Configuration>
- <Configuration Name="ForceSpeaker">
+ <Configuration Name="ForceSpeakerWhenNotInCall">
<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/earpiece">
+ <BitParameter Name="earpiece">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp">
<BitParameter Name="bluetooth_a2dp">0</BitParameter>
</ConfigurableElement>
@@ -6507,6 +6655,15 @@
<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/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/bluetooth_sco">
+ <BitParameter Name="bluetooth_sco">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker">
<BitParameter Name="speaker">1</BitParameter>
</ConfigurableElement>
@@ -6535,10 +6692,13 @@
<BitParameter Name="hdmi">0</BitParameter>
</ConfigurableElement>
</Configuration>
- <Configuration Name="WiredHeadphone">
+ <Configuration Name="BluetoothScoCarkit">
<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/earpiece">
+ <BitParameter Name="earpiece">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp">
<BitParameter Name="bluetooth_a2dp">0</BitParameter>
</ConfigurableElement>
@@ -6548,6 +6708,174 @@
<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/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">1</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/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="BluetoothScoHeadset">
+ <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/earpiece">
+ <BitParameter Name="earpiece">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/bluetooth_sco_headset">
+ <BitParameter Name="bluetooth_sco_headset">1</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/bluetooth_sco">
+ <BitParameter Name="bluetooth_sco">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="BluetoothSco">
+ <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/earpiece">
+ <BitParameter Name="earpiece">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/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/bluetooth_sco">
+ <BitParameter Name="bluetooth_sco">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="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/earpiece">
+ <BitParameter Name="earpiece">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/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/bluetooth_sco">
+ <BitParameter Name="bluetooth_sco">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker">
<BitParameter Name="speaker">0</BitParameter>
</ConfigurableElement>
@@ -6580,6 +6908,9 @@
<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/earpiece">
+ <BitParameter Name="earpiece">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp">
<BitParameter Name="bluetooth_a2dp">0</BitParameter>
</ConfigurableElement>
@@ -6589,6 +6920,15 @@
<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/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/bluetooth_sco">
+ <BitParameter Name="bluetooth_sco">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker">
<BitParameter Name="speaker">0</BitParameter>
</ConfigurableElement>
@@ -6621,6 +6961,9 @@
<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/earpiece">
+ <BitParameter Name="earpiece">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp">
<BitParameter Name="bluetooth_a2dp">0</BitParameter>
</ConfigurableElement>
@@ -6630,6 +6973,15 @@
<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/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/bluetooth_sco">
+ <BitParameter Name="bluetooth_sco">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker">
<BitParameter Name="speaker">0</BitParameter>
</ConfigurableElement>
@@ -6658,51 +7010,13 @@
<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/earpiece">
+ <BitParameter Name="earpiece">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp">
<BitParameter Name="bluetooth_a2dp">0</BitParameter>
</ConfigurableElement>
@@ -6712,6 +7026,15 @@
<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/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/bluetooth_sco">
+ <BitParameter Name="bluetooth_sco">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker">
<BitParameter Name="speaker">0</BitParameter>
</ConfigurableElement>
@@ -6740,10 +7063,13 @@
<BitParameter Name="hdmi">0</BitParameter>
</ConfigurableElement>
</Configuration>
- <Configuration Name="DgtlDockHeadset">
+ <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/earpiece">
+ <BitParameter Name="earpiece">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp">
<BitParameter Name="bluetooth_a2dp">0</BitParameter>
</ConfigurableElement>
@@ -6753,6 +7079,68 @@
<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/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/bluetooth_sco">
+ <BitParameter Name="bluetooth_sco">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="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/earpiece">
+ <BitParameter Name="earpiece">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/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/bluetooth_sco">
+ <BitParameter Name="bluetooth_sco">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker">
<BitParameter Name="speaker">0</BitParameter>
</ConfigurableElement>
@@ -6785,6 +7173,9 @@
<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/earpiece">
+ <BitParameter Name="earpiece">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp">
<BitParameter Name="bluetooth_a2dp">0</BitParameter>
</ConfigurableElement>
@@ -6794,6 +7185,15 @@
<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/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/bluetooth_sco">
+ <BitParameter Name="bluetooth_sco">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker">
<BitParameter Name="speaker">0</BitParameter>
</ConfigurableElement>
@@ -6826,6 +7226,9 @@
<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/earpiece">
+ <BitParameter Name="earpiece">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp">
<BitParameter Name="bluetooth_a2dp">0</BitParameter>
</ConfigurableElement>
@@ -6835,6 +7238,15 @@
<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/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/bluetooth_sco">
+ <BitParameter Name="bluetooth_sco">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker">
<BitParameter Name="speaker">0</BitParameter>
</ConfigurableElement>
@@ -6863,10 +7275,13 @@
<BitParameter Name="hdmi">0</BitParameter>
</ConfigurableElement>
</Configuration>
- <Configuration Name="Speaker">
+ <Configuration Name="Earpiece">
<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/earpiece">
+ <BitParameter Name="earpiece">1</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp">
<BitParameter Name="bluetooth_a2dp">0</BitParameter>
</ConfigurableElement>
@@ -6876,6 +7291,68 @@
<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/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/bluetooth_sco">
+ <BitParameter Name="bluetooth_sco">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="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/earpiece">
+ <BitParameter Name="earpiece">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/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/bluetooth_sco">
+ <BitParameter Name="bluetooth_sco">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker">
<BitParameter Name="speaker">1</BitParameter>
</ConfigurableElement>
@@ -6908,6 +7385,9 @@
<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/earpiece">
+ <BitParameter Name="earpiece">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/bluetooth_a2dp">
<BitParameter Name="bluetooth_a2dp">0</BitParameter>
</ConfigurableElement>
@@ -6917,6 +7397,15 @@
<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/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/bluetooth_sco">
+ <BitParameter Name="bluetooth_sco">0</BitParameter>
+ </ConfigurableElement>
<ConfigurableElement Path="/Policy/policy/strategies/accessibility/selected_output_devices/mask/speaker">
<BitParameter Name="speaker">0</BitParameter>
</ConfigurableElement>
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
index e8ab33b..dacf5b2 100644
--- 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
@@ -2,9 +2,10 @@
supDomain: Accessibility
#
- # @FIXME: STRATEGY_ACCESSIBILITY follows STRATEGY_MEDIA for now
+ # STRATEGY_ACCESSIBILITY follows STRATEGY_PHONE if in call widely speaking
+ # STRATEGY_ACCESSIBILITY follows STRATEGY_MEDIA otherwise
#
- # @FIXME: How to disable HDMI if !audio_is_linear_pcm other than programmatically???
+ # Other case are handled programmatically has involving activity of streams.
#
domain: UnreachableDevices
conf: Calibration
@@ -14,21 +15,26 @@
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
+ domain: Device
conf: RemoteSubmix
+ #
+ # Accessibility follows Media strategy if not in call
+ #
+ TelephonyMode IsNot InCall
+ TelephonyMode IsNot InCommunication
AvailableOutputDevices Includes RemoteSubmix
component: /Policy/policy/strategies/accessibility/selected_output_devices/mask
remote_submix = 1
+ earpiece = 0
bluetooth_a2dp = 0
bluetooth_a2dp_headphones = 0
bluetooth_a2dp_speaker = 0
+ bluetooth_sco_headset = 0
+ bluetooth_sco_carkit = 0
+ bluetooth_sco = 0
speaker = 0
wired_headset = 0
wired_headphone = 0
@@ -40,14 +46,23 @@
hdmi = 0
conf: BluetoothA2dp
+ #
+ # Accessibility falls through media strategy if not in call (widely speaking)
+ #
+ TelephonyMode IsNot InCall
+ TelephonyMode IsNot InCommunication
ForceUseForMedia IsNot ForceNoBtA2dp
AvailableOutputDevices Includes BluetoothA2dp
component: /Policy/policy/strategies/accessibility/selected_output_devices/mask
remote_submix = 0
+ earpiece = 0
bluetooth_a2dp = 1
bluetooth_a2dp_headphones = 0
bluetooth_a2dp_speaker = 0
+ bluetooth_sco_headset = 0
+ bluetooth_sco_carkit = 0
+ bluetooth_sco = 0
speaker = 0
wired_headset = 0
wired_headphone = 0
@@ -59,14 +74,23 @@
hdmi = 0
conf: BluetoothA2dpHeadphone
+ #
+ # Accessibility falls through media strategy if not in call (widely speaking)
+ #
+ TelephonyMode IsNot InCall
+ TelephonyMode IsNot InCommunication
ForceUseForMedia IsNot ForceNoBtA2dp
AvailableOutputDevices Includes BluetoothA2dpHeadphones
component: /Policy/policy/strategies/accessibility/selected_output_devices/mask
remote_submix = 0
+ earpiece = 0
bluetooth_a2dp = 0
bluetooth_a2dp_headphones = 1
bluetooth_a2dp_speaker = 0
+ bluetooth_sco_headset = 0
+ bluetooth_sco_carkit = 0
+ bluetooth_sco = 0
speaker = 0
wired_headset = 0
wired_headphone = 0
@@ -78,14 +102,23 @@
hdmi = 0
conf: BluetoothA2dpSpeaker
+ #
+ # Accessibility falls through media strategy if not in call (widely speaking)
+ #
ForceUseForMedia IsNot ForceNoBtA2dp
+ TelephonyMode IsNot InCall
+ TelephonyMode IsNot InCommunication
AvailableOutputDevices Includes BluetoothA2dpSpeaker
component: /Policy/policy/strategies/accessibility/selected_output_devices/mask
remote_submix = 0
+ earpiece = 0
bluetooth_a2dp = 0
bluetooth_a2dp_headphones = 0
bluetooth_a2dp_speaker = 1
+ bluetooth_sco_headset = 0
+ bluetooth_sco_carkit = 0
+ bluetooth_sco = 0
speaker = 0
wired_headset = 0
wired_headphone = 0
@@ -96,15 +129,24 @@
usb_device = 0
hdmi = 0
- conf: ForceSpeaker
+ conf: ForceSpeakerWhenNotInCall
+ #
+ # Accessibility follows Media strategy if not in call
+ #
+ TelephonyMode IsNot InCall
+ TelephonyMode IsNot InCommunication
ForceUseForMedia Is ForceSpeaker
AvailableOutputDevices Includes Speaker
component: /Policy/policy/strategies/accessibility/selected_output_devices/mask
remote_submix = 0
+ earpiece = 0
bluetooth_a2dp = 0
bluetooth_a2dp_headphones = 0
bluetooth_a2dp_speaker = 0
+ bluetooth_sco_headset = 0
+ bluetooth_sco_carkit = 0
+ bluetooth_sco = 0
speaker = 1
wired_headset = 0
wired_headphone = 0
@@ -115,14 +157,120 @@
usb_device = 0
hdmi = 0
+ conf: BluetoothScoCarkit
+ #
+ # accessibility falls through Phone strategy if in call
+ #
+ ANY
+ TelephonyMode Is InCall
+ TelephonyMode Is InCommunication
+ AvailableOutputDevices Includes BluetoothScoCarkit
+ ForceUseForCommunication Is ForceBtSco
+
+ component: /Policy/policy/strategies/accessibility/selected_output_devices/mask
+ remote_submix = 0
+ earpiece = 0
+ bluetooth_a2dp = 0
+ bluetooth_a2dp_headphones = 0
+ bluetooth_a2dp_speaker = 0
+ bluetooth_sco_headset = 0
+ bluetooth_sco_carkit = 1
+ bluetooth_sco = 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: BluetoothScoHeadset
+ #
+ # accessibility falls through Phone strategy if in call
+ #
+ ANY
+ TelephonyMode Is InCall
+ TelephonyMode Is InCommunication
+ AvailableOutputDevices Includes BluetoothScoHeadset
+ ForceUseForCommunication Is ForceBtSco
+
+ component: /Policy/policy/strategies/accessibility/selected_output_devices/mask
+ remote_submix = 0
+ earpiece = 0
+ bluetooth_a2dp = 0
+ bluetooth_a2dp_headphones = 0
+ bluetooth_a2dp_speaker = 0
+ bluetooth_sco_headset = 1
+ bluetooth_sco_carkit = 0
+ bluetooth_sco = 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: BluetoothSco
+ #
+ # accessibility falls through Phone strategy if in call
+ #
+ ANY
+ TelephonyMode Is InCall
+ TelephonyMode Is InCommunication
+ AvailableOutputDevices Includes BluetoothSco
+ ForceUseForCommunication Is ForceBtSco
+
+ component: /Policy/policy/strategies/accessibility/selected_output_devices/mask
+ remote_submix = 0
+ earpiece = 0
+ bluetooth_a2dp = 0
+ bluetooth_a2dp_headphones = 0
+ bluetooth_a2dp_speaker = 0
+ bluetooth_sco_headset = 0
+ bluetooth_sco_carkit = 0
+ bluetooth_sco = 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: WiredHeadphone
+ ANY
+ #
+ # accessibility falls through Phone strategy if in call
+ #
+ ALL
+ ANY
+ TelephonyMode Is InCall
+ TelephonyMode Is InCommunication
+ ForceUseForCommunication IsNot ForceSpeaker
+ #
+ # accessibility follows Media strategy if not in call
+ #
+ ALL
+ TelephonyMode IsNot InCall
+ TelephonyMode IsNot InCommunication
AvailableOutputDevices Includes WiredHeadphone
component: /Policy/policy/strategies/accessibility/selected_output_devices/mask
remote_submix = 0
+ earpiece = 0
bluetooth_a2dp = 0
bluetooth_a2dp_headphones = 0
bluetooth_a2dp_speaker = 0
+ bluetooth_sco_headset = 0
+ bluetooth_sco_carkit = 0
+ bluetooth_sco = 0
speaker = 0
wired_headset = 0
wired_headphone = 1
@@ -134,13 +282,31 @@
hdmi = 0
conf: Line
+ ANY
+ #
+ # accessibility falls through Phone strategy if in call
+ # but Line has a lower priority than WiredHeadset in this case.
+ #
+ ALL
+ ANY
+ TelephonyMode Is InCall
+ TelephonyMode Is InCommunication
+ ForceUseForCommunication IsNot ForceSpeaker
+ AvailableOutputDevices Excludes WiredHeadset
+ #
+ # accessibility follows Media strategy if not in call
+ #
AvailableOutputDevices Includes Line
component: /Policy/policy/strategies/accessibility/selected_output_devices/mask
remote_submix = 0
+ earpiece = 0
bluetooth_a2dp = 0
bluetooth_a2dp_headphones = 0
bluetooth_a2dp_speaker = 0
+ bluetooth_sco_headset = 0
+ bluetooth_sco_carkit = 0
+ bluetooth_sco = 0
speaker = 0
wired_headset = 0
wired_headphone = 0
@@ -152,13 +318,32 @@
hdmi = 0
conf: WiredHeadset
+ ANY
+ #
+ # accessibility falls through Phone strategy if in call
+ #
+ ALL
+ ANY
+ TelephonyMode Is InCall
+ TelephonyMode Is InCommunication
+ ForceUseForCommunication IsNot ForceSpeaker
+ #
+ # accessibility follows Media strategy if not in call
+ #
+ ALL
+ TelephonyMode IsNot InCall
+ TelephonyMode IsNot InCommunication
AvailableOutputDevices Includes WiredHeadset
component: /Policy/policy/strategies/accessibility/selected_output_devices/mask
remote_submix = 0
+ earpiece = 0
bluetooth_a2dp = 0
bluetooth_a2dp_headphones = 0
bluetooth_a2dp_speaker = 0
+ bluetooth_sco_headset = 0
+ bluetooth_sco_carkit = 0
+ bluetooth_sco = 0
speaker = 0
wired_headset = 1
wired_headphone = 0
@@ -169,32 +354,36 @@
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
+ ANY
+ #
+ # accessibility falls through Phone strategy if in call (widely speaking)
+ #
+ ALL
+ ANY
+ TelephonyMode Is InCall
+ TelephonyMode Is InCommunication
+ ForceUseForCommunication IsNot ForceSpeaker
+ #
+ # accessibility 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/accessibility/selected_output_devices/mask
remote_submix = 0
+ earpiece = 0
bluetooth_a2dp = 0
bluetooth_a2dp_headphones = 0
bluetooth_a2dp_speaker = 0
+ bluetooth_sco_headset = 0
+ bluetooth_sco_carkit = 0
+ bluetooth_sco = 0
speaker = 0
wired_headset = 0
wired_headphone = 0
@@ -205,14 +394,57 @@
usb_device = 1
hdmi = 0
+ conf: UsbAccessory
+ #
+ # accessibility falls through Phone strategy if in call (widely speaking)
+ # but USB accessory not reachable in call
+ #
+ # accessibility 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/accessibility/selected_output_devices/mask
+ remote_submix = 0
+ earpiece = 0
+ bluetooth_a2dp = 0
+ bluetooth_a2dp_headphones = 0
+ bluetooth_a2dp_speaker = 0
+ bluetooth_sco_headset = 0
+ bluetooth_sco_carkit = 0
+ bluetooth_sco = 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: DgtlDockHeadset
+ #
+ # accessibility falls through Phone strategy if in call (widely speaking)
+ # but DgtlDockHeadset not reachable in call
+ #
+ # accessibility follows Media strategy if not in call
+ #
+ TelephonyMode IsNot InCall
+ TelephonyMode IsNot InCommunication
AvailableOutputDevices Includes DgtlDockHeadset
component: /Policy/policy/strategies/accessibility/selected_output_devices/mask
remote_submix = 0
+ earpiece = 0
bluetooth_a2dp = 0
bluetooth_a2dp_headphones = 0
bluetooth_a2dp_speaker = 0
+ bluetooth_sco_headset = 0
+ bluetooth_sco_carkit = 0
+ bluetooth_sco = 0
speaker = 0
wired_headset = 0
wired_headphone = 0
@@ -225,19 +457,24 @@
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.
+ # accessibility falls through Phone strategy if in call (widely speaking)
+ # but Hdmi not reachable in call
#
- # @TODO How to translate the following condition(???)
- # desc->isActive() && !audio_is_linear_pcm(desc->mFormat) && devices != AUDIO_DEVICE_NONE
+ # accessibility follows Media strategy if not in call
#
+ TelephonyMode IsNot InCall
+ TelephonyMode IsNot InCommunication
AvailableOutputDevices Includes Hdmi
component: /Policy/policy/strategies/accessibility/selected_output_devices/mask
remote_submix = 0
+ earpiece = 0
bluetooth_a2dp = 0
bluetooth_a2dp_headphones = 0
bluetooth_a2dp_speaker = 0
+ bluetooth_sco_headset = 0
+ bluetooth_sco_carkit = 0
+ bluetooth_sco = 0
speaker = 0
wired_headset = 0
wired_headphone = 0
@@ -249,14 +486,27 @@
hdmi = 1
conf: AnlgDockHeadset
+ #
+ # accessibility falls through Phone strategy if in call (widely speaking)
+ # but AnlgDockHeadset not reachable in call
+ #
+ # accessibility 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 AnlgDockHeadset
ForceUseForDock Is ForceAnalogDock
component: /Policy/policy/strategies/accessibility/selected_output_devices/mask
remote_submix = 0
+ earpiece = 0
bluetooth_a2dp = 0
bluetooth_a2dp_headphones = 0
bluetooth_a2dp_speaker = 0
+ bluetooth_sco_headset = 0
+ bluetooth_sco_carkit = 0
+ bluetooth_sco = 0
speaker = 0
wired_headset = 0
wired_headphone = 0
@@ -267,14 +517,47 @@
usb_device = 0
hdmi = 0
+ conf: Earpiece
+ #
+ # accessibility falls through Phone strategy if in call
+ #
+ ANY
+ TelephonyMode Is InCall
+ TelephonyMode Is InCommunication
+ AvailableOutputDevices Includes Earpiece
+ ForceUseForCommunication IsNot ForceSpeaker
+
+ component: /Policy/policy/strategies/accessibility/selected_output_devices/mask
+ remote_submix = 0
+ earpiece = 1
+ bluetooth_a2dp = 0
+ bluetooth_a2dp_headphones = 0
+ bluetooth_a2dp_speaker = 0
+ bluetooth_sco_headset = 0
+ bluetooth_sco_carkit = 0
+ bluetooth_sco = 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: Speaker
AvailableOutputDevices Includes Speaker
component: /Policy/policy/strategies/accessibility/selected_output_devices/mask
remote_submix = 0
+ earpiece = 0
bluetooth_a2dp = 0
bluetooth_a2dp_headphones = 0
bluetooth_a2dp_speaker = 0
+ bluetooth_sco_headset = 0
+ bluetooth_sco_carkit = 0
+ bluetooth_sco = 0
speaker = 1
wired_headset = 0
wired_headphone = 0
@@ -288,9 +571,13 @@
conf: Default
component: /Policy/policy/strategies/accessibility/selected_output_devices/mask
remote_submix = 0
+ earpiece = 0
bluetooth_a2dp = 0
bluetooth_a2dp_headphones = 0
bluetooth_a2dp_speaker = 0
+ bluetooth_sco_headset = 0
+ bluetooth_sco_carkit = 0
+ bluetooth_sco = 0
speaker = 0
wired_headset = 0
wired_headphone = 0
@@ -300,3 +587,4 @@
usb_accessory = 0
usb_device = 0
hdmi = 0
+
diff --git a/services/audiopolicy/engineconfigurable/src/Engine.cpp b/services/audiopolicy/engineconfigurable/src/Engine.cpp
index 7f8ed1f..0d18ffa 100755
--- a/services/audiopolicy/engineconfigurable/src/Engine.cpp
+++ b/services/audiopolicy/engineconfigurable/src/Engine.cpp
@@ -140,15 +140,6 @@
routing_strategy Engine::ManagerInterfaceImpl::getStrategyForUsage(audio_usage_t usage)
{
- const SwAudioOutputCollection &outputs = mPolicyEngine->mApmObserver->getOutputs();
-
- //FIXME: getStrategyForUsage() should return STRATEGY_ACCESSIBILITY and getDeviceForStrategy()
- // should be implemented accordingly for STRATEGY_ACCESSIBILITY
- if (usage == AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY &&
- (outputs.isStreamActive(AUDIO_STREAM_RING) ||
- outputs.isStreamActive(AUDIO_STREAM_ALARM))) {
- return STRATEGY_SONIFICATION;
- }
return mPolicyEngine->getPropertyForKey<routing_strategy, audio_usage_t>(usage);
}
@@ -173,6 +164,14 @@
outputs.isStreamActive(AUDIO_STREAM_MUSIC, SONIFICATION_RESPECTFUL_AFTER_MUSIC_DELAY)) {
return mPolicyEngine->getPropertyForKey<audio_devices_t, routing_strategy>(STRATEGY_MEDIA);
}
+ if (strategy == STRATEGY_ACCESSIBILITY &&
+ (outputs.isStreamActive(AUDIO_STREAM_RING) || outputs.isStreamActive(AUDIO_STREAM_ALARM))) {
+ // do not route accessibility prompts to a digital output currently configured with a
+ // compressed format as they would likely not be mixed and dropped.
+ // Device For Sonification conf file has HDMI, SPDIF and HDMI ARC unreacheable.
+ return mPolicyEngine->getPropertyForKey<audio_devices_t, routing_strategy>(
+ STRATEGY_SONIFICATION);
+ }
return mPolicyEngine->getPropertyForKey<audio_devices_t, routing_strategy>(strategy);
}