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
