diff options
Diffstat (limited to 'services/audiopolicy/engineconfigurable/parameter-framework/example/Settings')
13 files changed, 4599 insertions, 0 deletions
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 + |