1supDomain: DeviceForProductStrategy
2
3	supDomain: Accessibility
4		#
5		# STRATEGY_ACCESSIBILITY follows STRATEGY_PHONE if in call widely speaking
6		# STRATEGY_ACCESSIBILITY follows STRATEGY_MEDIA otherwise
7		#
8		# Other case are handled programmatically has involving activity of streams.
9		#
10		domain: UnreachableDevices
11			conf: Calibration
12				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
13					hdmi_arc = 0
14					spdif = 0
15					aux_line = 0
16					fm = 0
17					speaker_safe = 0
18					telephony_tx = 0
19					ip = 0
20					bus = 0
21					proxy = 0
22					usb_headset = 0
23					stub = 0
24
25		domain: Device
26			conf: RemoteSubmix
27				#
28				# Accessibility follows Media strategy if not in call
29				#
30				TelephonyMode IsNot InCall
31				TelephonyMode IsNot InCommunication
32				AvailableOutputDevices Includes RemoteSubmix
33				AvailableOutputDevicesAddresses Includes 0
34
35				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
36					remote_submix = 1
37					earpiece = 0
38					bluetooth_a2dp = 0
39					bluetooth_a2dp_headphones = 0
40					bluetooth_a2dp_speaker = 0
41					bluetooth_sco_headset = 0
42					bluetooth_sco_carkit = 0
43					bluetooth_sco = 0
44					speaker = 0
45					wired_headset = 0
46					wired_headphone = 0
47					line = 0
48					angl_dock_headset = 0
49					dgtl_dock_headset = 0
50					usb_accessory = 0
51					usb_device = 0
52					hdmi = 0
53
54			conf: BluetoothA2dp
55				#
56				# Accessibility falls through media strategy if not in call (widely speaking)
57				#
58				TelephonyMode IsNot InCall
59				TelephonyMode IsNot InCommunication
60				ForceUseForMedia IsNot ForceNoBtA2dp
61				AvailableOutputDevices Includes BluetoothA2dp
62
63				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
64					remote_submix = 0
65					earpiece = 0
66					bluetooth_a2dp = 1
67					bluetooth_a2dp_headphones = 0
68					bluetooth_a2dp_speaker = 0
69					bluetooth_sco_headset = 0
70					bluetooth_sco_carkit = 0
71					bluetooth_sco = 0
72					speaker = 0
73					wired_headset = 0
74					wired_headphone = 0
75					line = 0
76					angl_dock_headset = 0
77					dgtl_dock_headset = 0
78					usb_accessory = 0
79					usb_device = 0
80					hdmi = 0
81
82			conf: BluetoothA2dpHeadphone
83				#
84				# Accessibility falls through media strategy if not in call (widely speaking)
85				#
86				TelephonyMode IsNot InCall
87				TelephonyMode IsNot InCommunication
88				ForceUseForMedia IsNot ForceNoBtA2dp
89				AvailableOutputDevices Includes BluetoothA2dpHeadphones
90
91				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
92					remote_submix = 0
93					earpiece = 0
94					bluetooth_a2dp = 0
95					bluetooth_a2dp_headphones = 1
96					bluetooth_a2dp_speaker = 0
97					bluetooth_sco_headset = 0
98					bluetooth_sco_carkit = 0
99					bluetooth_sco = 0
100					speaker = 0
101					wired_headset = 0
102					wired_headphone = 0
103					line = 0
104					angl_dock_headset = 0
105					dgtl_dock_headset = 0
106					usb_accessory = 0
107					usb_device = 0
108					hdmi = 0
109
110			conf: BluetoothA2dpSpeaker
111				#
112				# Accessibility falls through media strategy if not in call (widely speaking)
113				#
114				ForceUseForMedia IsNot ForceNoBtA2dp
115				TelephonyMode IsNot InCall
116				TelephonyMode IsNot InCommunication
117				AvailableOutputDevices Includes BluetoothA2dpSpeaker
118
119				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
120					remote_submix = 0
121					earpiece = 0
122					bluetooth_a2dp = 0
123					bluetooth_a2dp_headphones = 0
124					bluetooth_a2dp_speaker = 1
125					bluetooth_sco_headset = 0
126					bluetooth_sco_carkit = 0
127					bluetooth_sco = 0
128					speaker = 0
129					wired_headset = 0
130					wired_headphone = 0
131					line = 0
132					angl_dock_headset = 0
133					dgtl_dock_headset = 0
134					usb_accessory = 0
135					usb_device = 0
136					hdmi = 0
137
138			conf: ForceSpeakerWhenNotInCall
139				#
140				# Accessibility follows Media strategy if not in call
141				#
142				TelephonyMode IsNot InCall
143				TelephonyMode IsNot InCommunication
144				ForceUseForMedia Is ForceSpeaker
145				AvailableOutputDevices Includes Speaker
146
147				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
148					remote_submix = 0
149					earpiece = 0
150					bluetooth_a2dp = 0
151					bluetooth_a2dp_headphones = 0
152					bluetooth_a2dp_speaker = 0
153					bluetooth_sco_headset = 0
154					bluetooth_sco_carkit = 0
155					bluetooth_sco = 0
156					speaker = 1
157					wired_headset = 0
158					wired_headphone = 0
159					line = 0
160					angl_dock_headset = 0
161					dgtl_dock_headset = 0
162					usb_accessory = 0
163					usb_device = 0
164					hdmi = 0
165
166			conf: BluetoothScoCarkit
167				#
168				# accessibility falls through Phone strategy if in call
169				#
170				ANY
171					TelephonyMode Is InCall
172					TelephonyMode Is InCommunication
173				AvailableOutputDevices Includes BluetoothScoCarkit
174				ForceUseForCommunication Is ForceBtSco
175
176				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
177					remote_submix = 0
178					earpiece = 0
179					bluetooth_a2dp = 0
180					bluetooth_a2dp_headphones = 0
181					bluetooth_a2dp_speaker = 0
182					bluetooth_sco_headset = 0
183					bluetooth_sco_carkit = 1
184					bluetooth_sco = 0
185					speaker = 0
186					wired_headset = 0
187					wired_headphone = 0
188					line = 0
189					angl_dock_headset = 0
190					dgtl_dock_headset = 0
191					usb_accessory = 0
192					usb_device = 0
193					hdmi = 0
194
195			conf: BluetoothScoHeadset
196				#
197				# accessibility falls through Phone strategy if in call
198				#
199				ANY
200					TelephonyMode Is InCall
201					TelephonyMode Is InCommunication
202				AvailableOutputDevices Includes BluetoothScoHeadset
203				ForceUseForCommunication Is ForceBtSco
204
205				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
206					remote_submix = 0
207					earpiece = 0
208					bluetooth_a2dp = 0
209					bluetooth_a2dp_headphones = 0
210					bluetooth_a2dp_speaker = 0
211					bluetooth_sco_headset = 1
212					bluetooth_sco_carkit = 0
213					bluetooth_sco = 0
214					speaker = 0
215					wired_headset = 0
216					wired_headphone = 0
217					line = 0
218					angl_dock_headset = 0
219					dgtl_dock_headset = 0
220					usb_accessory = 0
221					usb_device = 0
222					hdmi = 0
223
224			conf: BluetoothSco
225				#
226				# accessibility falls through Phone strategy if in call
227				#
228				ANY
229					TelephonyMode Is InCall
230					TelephonyMode Is InCommunication
231				AvailableOutputDevices Includes BluetoothSco
232				ForceUseForCommunication Is ForceBtSco
233
234				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
235					remote_submix = 0
236					earpiece = 0
237					bluetooth_a2dp = 0
238					bluetooth_a2dp_headphones = 0
239					bluetooth_a2dp_speaker = 0
240					bluetooth_sco_headset = 0
241					bluetooth_sco_carkit = 0
242					bluetooth_sco = 1
243					speaker = 0
244					wired_headset = 0
245					wired_headphone = 0
246					line = 0
247					angl_dock_headset = 0
248					dgtl_dock_headset = 0
249					usb_accessory = 0
250					usb_device = 0
251					hdmi = 0
252
253			conf: WiredHeadphone
254				ANY
255					#
256					# accessibility falls through Phone strategy if in call
257					#
258					ALL
259						ANY
260							TelephonyMode Is InCall
261							TelephonyMode Is InCommunication
262						ForceUseForCommunication IsNot ForceSpeaker
263					#
264					# accessibility follows Media strategy if not in call
265					#
266					ALL
267						TelephonyMode IsNot InCall
268						TelephonyMode IsNot InCommunication
269				AvailableOutputDevices Includes WiredHeadphone
270
271				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
272					remote_submix = 0
273					earpiece = 0
274					bluetooth_a2dp = 0
275					bluetooth_a2dp_headphones = 0
276					bluetooth_a2dp_speaker = 0
277					bluetooth_sco_headset = 0
278					bluetooth_sco_carkit = 0
279					bluetooth_sco = 0
280					speaker = 0
281					wired_headset = 0
282					wired_headphone = 1
283					line = 0
284					angl_dock_headset = 0
285					dgtl_dock_headset = 0
286					usb_accessory = 0
287					usb_device = 0
288					hdmi = 0
289
290			conf: Line
291				ANY
292					#
293					# accessibility falls through Phone strategy if in call
294					# but Line has a lower priority than WiredHeadset in this case.
295					#
296					ALL
297						ANY
298							TelephonyMode Is InCall
299							TelephonyMode Is InCommunication
300						ForceUseForCommunication IsNot ForceSpeaker
301						AvailableOutputDevices Excludes WiredHeadset
302					#
303					# accessibility follows Media strategy if not in call
304					#
305				AvailableOutputDevices Includes Line
306
307				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
308					remote_submix = 0
309					earpiece = 0
310					bluetooth_a2dp = 0
311					bluetooth_a2dp_headphones = 0
312					bluetooth_a2dp_speaker = 0
313					bluetooth_sco_headset = 0
314					bluetooth_sco_carkit = 0
315					bluetooth_sco = 0
316					speaker = 0
317					wired_headset = 0
318					wired_headphone = 0
319					line = 1
320					angl_dock_headset = 0
321					dgtl_dock_headset = 0
322					usb_accessory = 0
323					usb_device = 0
324					hdmi = 0
325
326			conf: WiredHeadset
327				ANY
328					#
329					# accessibility falls through Phone strategy if in call
330					#
331					ALL
332						ANY
333							TelephonyMode Is InCall
334							TelephonyMode Is InCommunication
335						ForceUseForCommunication IsNot ForceSpeaker
336					#
337					# accessibility follows Media strategy if not in call
338					#
339					ALL
340						TelephonyMode IsNot InCall
341						TelephonyMode IsNot InCommunication
342				AvailableOutputDevices Includes WiredHeadset
343
344				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
345					remote_submix = 0
346					earpiece = 0
347					bluetooth_a2dp = 0
348					bluetooth_a2dp_headphones = 0
349					bluetooth_a2dp_speaker = 0
350					bluetooth_sco_headset = 0
351					bluetooth_sco_carkit = 0
352					bluetooth_sco = 0
353					speaker = 0
354					wired_headset = 1
355					wired_headphone = 0
356					line = 0
357					angl_dock_headset = 0
358					dgtl_dock_headset = 0
359					usb_accessory = 0
360					usb_device = 0
361					hdmi = 0
362
363			conf: UsbDevice
364				ANY
365					#
366					# accessibility falls through Phone strategy if in call (widely speaking)
367					#
368					ALL
369						ANY
370							TelephonyMode Is InCall
371							TelephonyMode Is InCommunication
372						ForceUseForCommunication IsNot ForceSpeaker
373					#
374					# accessibility follows Media strategy if not in call
375					# Media strategy inverts the priority of USB device vs accessory
376					#
377					ALL
378						TelephonyMode IsNot InCall
379						TelephonyMode IsNot InCommunication
380						AvailableOutputDevices Excludes UsbAccessory
381						ForceUseForMedia IsNot ForceSpeaker
382				AvailableOutputDevices Includes UsbDevice
383
384				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
385					remote_submix = 0
386					earpiece = 0
387					bluetooth_a2dp = 0
388					bluetooth_a2dp_headphones = 0
389					bluetooth_a2dp_speaker = 0
390					bluetooth_sco_headset = 0
391					bluetooth_sco_carkit = 0
392					bluetooth_sco = 0
393					speaker = 0
394					wired_headset = 0
395					wired_headphone = 0
396					line = 0
397					angl_dock_headset = 0
398					dgtl_dock_headset = 0
399					usb_accessory = 0
400					usb_device = 1
401					hdmi = 0
402
403			conf: UsbAccessory
404				#
405				# accessibility falls through Phone strategy if in call (widely speaking)
406				# but USB accessory not reachable in call
407				#
408				# accessibility follows Media strategy if not in call
409				# Media strategy inverts the priority of USB device vs accessory
410				#
411				TelephonyMode IsNot InCall
412				TelephonyMode IsNot InCommunication
413				AvailableOutputDevices Includes UsbAccessory
414
415				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
416					remote_submix = 0
417					earpiece = 0
418					bluetooth_a2dp = 0
419					bluetooth_a2dp_headphones = 0
420					bluetooth_a2dp_speaker = 0
421					bluetooth_sco_headset = 0
422					bluetooth_sco_carkit = 0
423					bluetooth_sco = 0
424					speaker = 0
425					wired_headset = 0
426					wired_headphone = 0
427					line = 0
428					angl_dock_headset = 0
429					dgtl_dock_headset = 0
430					usb_accessory = 1
431					usb_device = 0
432					hdmi = 0
433
434			conf: DgtlDockHeadset
435				#
436				# accessibility falls through Phone strategy if in call (widely speaking)
437				# but DgtlDockHeadset not reachable in call
438				#
439				# accessibility follows Media strategy if not in call
440				#
441				TelephonyMode IsNot InCall
442				TelephonyMode IsNot InCommunication
443				AvailableOutputDevices Includes DgtlDockHeadset
444
445				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
446					remote_submix = 0
447					earpiece = 0
448					bluetooth_a2dp = 0
449					bluetooth_a2dp_headphones = 0
450					bluetooth_a2dp_speaker = 0
451					bluetooth_sco_headset = 0
452					bluetooth_sco_carkit = 0
453					bluetooth_sco = 0
454					speaker = 0
455					wired_headset = 0
456					wired_headphone = 0
457					line = 0
458					angl_dock_headset = 0
459					dgtl_dock_headset = 1
460					usb_accessory = 0
461					usb_device = 0
462					hdmi = 0
463
464			conf: AuxDigital
465				#
466				# accessibility falls through Phone strategy if in call (widely speaking)
467				# but Hdmi not reachable in call
468				#
469				# accessibility follows Media strategy if not in call
470				#
471				TelephonyMode IsNot InCall
472				TelephonyMode IsNot InCommunication
473				AvailableOutputDevices Includes Hdmi
474
475				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
476					remote_submix = 0
477					earpiece = 0
478					bluetooth_a2dp = 0
479					bluetooth_a2dp_headphones = 0
480					bluetooth_a2dp_speaker = 0
481					bluetooth_sco_headset = 0
482					bluetooth_sco_carkit = 0
483					bluetooth_sco = 0
484					speaker = 0
485					wired_headset = 0
486					wired_headphone = 0
487					line = 0
488					angl_dock_headset = 0
489					dgtl_dock_headset = 0
490					usb_accessory = 0
491					usb_device = 0
492					hdmi = 1
493
494			conf: AnlgDockHeadset
495				#
496				# accessibility falls through Phone strategy if in call (widely speaking)
497				# but AnlgDockHeadset not reachable in call
498				#
499				# accessibility follows Media strategy if not in call
500				# Media strategy inverts the priority of USB device vs accessory
501				#
502				TelephonyMode IsNot InCall
503				TelephonyMode IsNot InCommunication
504				AvailableOutputDevices Includes AnlgDockHeadset
505				ForceUseForDock Is ForceAnalogDock
506
507				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
508					remote_submix = 0
509					earpiece = 0
510					bluetooth_a2dp = 0
511					bluetooth_a2dp_headphones = 0
512					bluetooth_a2dp_speaker = 0
513					bluetooth_sco_headset = 0
514					bluetooth_sco_carkit = 0
515					bluetooth_sco = 0
516					speaker = 0
517					wired_headset = 0
518					wired_headphone = 0
519					line = 0
520					angl_dock_headset = 1
521					dgtl_dock_headset = 0
522					usb_accessory = 0
523					usb_device = 0
524					hdmi = 0
525
526			conf: Earpiece
527				#
528				# accessibility falls through Phone strategy if in call
529				#
530				ANY
531					TelephonyMode Is InCall
532					TelephonyMode Is InCommunication
533				AvailableOutputDevices Includes Earpiece
534				ForceUseForCommunication IsNot ForceSpeaker
535
536				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
537					remote_submix = 0
538					earpiece = 1
539					bluetooth_a2dp = 0
540					bluetooth_a2dp_headphones = 0
541					bluetooth_a2dp_speaker = 0
542					bluetooth_sco_headset = 0
543					bluetooth_sco_carkit = 0
544					bluetooth_sco = 0
545					speaker = 0
546					wired_headset = 0
547					wired_headphone = 0
548					line = 0
549					angl_dock_headset = 0
550					dgtl_dock_headset = 0
551					usb_accessory = 0
552					usb_device = 0
553					hdmi = 0
554
555			conf: Speaker
556				AvailableOutputDevices Includes Speaker
557
558				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
559					remote_submix = 0
560					earpiece = 0
561					bluetooth_a2dp = 0
562					bluetooth_a2dp_headphones = 0
563					bluetooth_a2dp_speaker = 0
564					bluetooth_sco_headset = 0
565					bluetooth_sco_carkit = 0
566					bluetooth_sco = 0
567					speaker = 1
568					wired_headset = 0
569					wired_headphone = 0
570					line = 0
571					angl_dock_headset = 0
572					dgtl_dock_headset = 0
573					usb_accessory = 0
574					usb_device = 0
575					hdmi = 0
576
577			conf: Default
578				component: /Policy/policy/product_strategies/accessibility/selected_output_devices/mask
579					remote_submix = 0
580					earpiece = 0
581					bluetooth_a2dp = 0
582					bluetooth_a2dp_headphones = 0
583					bluetooth_a2dp_speaker = 0
584					bluetooth_sco_headset = 0
585					bluetooth_sco_carkit = 0
586					bluetooth_sco = 0
587					speaker = 0
588					wired_headset = 0
589					wired_headphone = 0
590					line = 0
591					angl_dock_headset = 0
592					dgtl_dock_headset = 0
593					usb_accessory = 0
594					usb_device = 0
595					hdmi = 0
596
597