1supDomain: DeviceForInputSource
2	domain: Calibration
3		conf: Calibration
4			#
5			# Note that ALL input devices must have the sign bit set to 1.
6			# As the devices is a mask, use the "in" bit as a direction indicator.
7			#
8			component: /Policy/policy/input_sources/default/applicable_input_device/mask
9				in = 1
10				communication = 0
11				ambient = 0
12				hdmi = 0
13				telephony_rx = 0
14				back_mic = 0
15				remote_submix = 0
16				anlg_dock_headset = 0
17				dgtl_dock_headset = 0
18				usb_accessory = 0
19				fm_tuner = 0
20				tv_tuner = 0
21				line = 0
22				spdif = 0
23				loopback = 0
24			component: /Policy/policy/input_sources/mic/applicable_input_device/mask
25				in = 1
26				communication = 0
27				ambient = 0
28				hdmi = 0
29				telephony_rx = 0
30				back_mic = 0
31				remote_submix = 0
32				anlg_dock_headset = 0
33				dgtl_dock_headset = 0
34				usb_accessory = 0
35				fm_tuner = 0
36				tv_tuner = 0
37				line = 0
38				spdif = 0
39				loopback = 0
40			component: /Policy/policy/input_sources/voice_downlink/applicable_input_device/mask
41				in = 1
42				communication = 0
43				ambient = 0
44				builtin_mic = 0
45				bluetooth_sco_headset = 0
46				wired_headset = 0
47				hdmi = 0
48				back_mic = 0
49				remote_submix = 0
50				anlg_dock_headset = 0
51				dgtl_dock_headset = 0
52				usb_accessory = 0
53				usb_device = 0
54				fm_tuner = 0
55				tv_tuner = 0
56				line = 0
57				spdif = 0
58				bluetooth_a2dp = 0
59				loopback = 0
60			component: /Policy/policy/input_sources/voice_call/applicable_input_device/mask
61				in = 1
62				communication = 0
63				ambient = 0
64				builtin_mic = 0
65				bluetooth_sco_headset = 0
66				wired_headset = 0
67				hdmi = 0
68				back_mic = 0
69				remote_submix = 0
70				anlg_dock_headset = 0
71				dgtl_dock_headset = 0
72				usb_accessory = 0
73				usb_device = 0
74				fm_tuner = 0
75				tv_tuner = 0
76				line = 0
77				spdif = 0
78				bluetooth_a2dp = 0
79				loopback = 0
80			component: /Policy/policy/input_sources/voice_uplink/applicable_input_device/mask
81				in = 1
82				communication = 0
83				ambient = 0
84				builtin_mic = 0
85				bluetooth_sco_headset = 0
86				wired_headset = 0
87				hdmi = 0
88				back_mic = 0
89				remote_submix = 0
90				anlg_dock_headset = 0
91				dgtl_dock_headset = 0
92				usb_accessory = 0
93				usb_device = 0
94				fm_tuner = 0
95				tv_tuner = 0
96				line = 0
97				spdif = 0
98				bluetooth_a2dp = 0
99				loopback = 0
100			component: /Policy/policy/input_sources/camcorder/applicable_input_device/mask
101				in = 1
102				communication = 0
103				ambient = 0
104				bluetooth_sco_headset = 0
105				wired_headset = 0
106				hdmi = 0
107				telephony_rx = 0
108				remote_submix = 0
109				anlg_dock_headset = 0
110				dgtl_dock_headset = 0
111				usb_accessory = 0
112				usb_device = 0
113				fm_tuner = 0
114				tv_tuner = 0
115				line = 0
116				spdif = 0
117				bluetooth_a2dp = 0
118				loopback = 0
119			component: /Policy/policy/input_sources/voice_recognition/applicable_input_device/mask
120				in = 1
121				communication = 0
122				ambient = 0
123				hdmi = 0
124				telephony_rx = 0
125				back_mic = 0
126				remote_submix = 0
127				anlg_dock_headset = 0
128				dgtl_dock_headset = 0
129				usb_accessory = 0
130				fm_tuner = 0
131				tv_tuner = 0
132				line = 0
133				spdif = 0
134				bluetooth_a2dp = 0
135				loopback = 0
136			component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask
137				in = 1
138				communication = 0
139				ambient = 0
140				hdmi = 0
141				telephony_rx = 0
142				remote_submix = 0
143				anlg_dock_headset = 0
144				dgtl_dock_headset = 0
145				usb_accessory = 0
146				fm_tuner = 0
147				tv_tuner = 0
148				line = 0
149				spdif = 0
150				bluetooth_a2dp = 0
151				loopback = 0
152			component: /Policy/policy/input_sources/remote_submix/applicable_input_device/mask
153				in = 1
154				communication = 0
155				ambient = 0
156				builtin_mic = 0
157				bluetooth_sco_headset = 0
158				wired_headset = 0
159				hdmi = 0
160				telephony_rx = 0
161				back_mic = 0
162				anlg_dock_headset = 0
163				dgtl_dock_headset = 0
164				usb_accessory = 0
165				usb_device = 0
166				fm_tuner = 0
167				tv_tuner = 0
168				line = 0
169				spdif = 0
170				bluetooth_a2dp = 0
171				loopback = 0
172			component: /Policy/policy/input_sources/hotword/applicable_input_device/mask
173				in = 1
174				communication = 0
175				ambient = 0
176				hdmi = 0
177				telephony_rx = 0
178				back_mic = 0
179				remote_submix = 0
180				anlg_dock_headset = 0
181				dgtl_dock_headset = 0
182				usb_accessory = 0
183				fm_tuner = 0
184				tv_tuner = 0
185				line = 0
186				spdif = 0
187				bluetooth_a2dp = 0
188				loopback = 0
189			component: /Policy/policy/input_sources/fm_tuner/applicable_input_device/mask
190				in = 1
191				communication = 0
192				ambient = 0
193				bluetooth_sco_headset = 0
194				hdmi = 0
195				telephony_rx = 0
196				builtin_mic = 0
197				wired_headset = 0
198				back_mic = 0
199				remote_submix = 0
200				anlg_dock_headset = 0
201				dgtl_dock_headset = 0
202				usb_accessory = 0
203				usb_device = 0
204				fm_tuner = 0
205				tv_tuner = 0
206				line = 0
207				spdif = 0
208				bluetooth_a2dp = 0
209				loopback = 0
210
211	domain: DefaultAndMic
212		conf: A2dp
213			AvailableInputDevices Includes BluetoothA2dp
214
215			component: /Policy/policy/input_sources
216				component: default/applicable_input_device/mask/
217					bluetooth_a2dp = 1
218					wired_headset = 0
219					usb_device = 0
220					builtin_mic = 0
221					bluetooth_sco_headset = 0
222				component: mic/applicable_input_device/mask/
223					bluetooth_a2dp = 1
224					wired_headset = 0
225					usb_device = 0
226					builtin_mic = 0
227					bluetooth_sco_headset = 0
228
229		conf: Sco
230			AvailableInputDevices Includes BluetoothScoHeadset
231			ForceUseForRecord Is ForceBtSco
232
233			component: /Policy/policy/input_sources
234				component: default/applicable_input_device/mask/
235					bluetooth_a2dp = 0
236					wired_headset = 0
237					usb_device = 0
238					builtin_mic = 0
239					bluetooth_sco_headset = 1
240				component: mic/applicable_input_device/mask/
241					bluetooth_a2dp = 0
242					wired_headset = 1
243					usb_device = 0
244					builtin_mic = 0
245					bluetooth_sco_headset = 1
246
247		conf: WiredHeadset
248			AvailableInputDevices Includes WiredHeadset
249
250			component: /Policy/policy/input_sources
251				component: default/applicable_input_device/mask/
252					bluetooth_a2dp = 0
253					wired_headset = 1
254					usb_device = 0
255					builtin_mic = 0
256					bluetooth_sco_headset = 0
257				component: mic/applicable_input_device/mask/
258					bluetooth_a2dp = 0
259					wired_headset = 1
260					usb_device = 0
261					builtin_mic = 0
262					bluetooth_sco_headset = 0
263
264		conf: UsbDevice
265			AvailableInputDevices Includes UsbDevice
266
267			component: /Policy/policy/input_sources
268				component: default/applicable_input_device/mask/
269					bluetooth_a2dp = 0
270					wired_headset = 0
271					usb_device = 1
272					builtin_mic = 0
273					bluetooth_sco_headset = 0
274				component: mic/applicable_input_device/mask/
275					bluetooth_a2dp = 0
276					wired_headset = 0
277					usb_device = 1
278					builtin_mic = 0
279					bluetooth_sco_headset = 0
280
281		conf: BuiltinMic
282			AvailableInputDevices Includes BuiltinMic
283
284			component: /Policy/policy/input_sources
285				component: default/applicable_input_device/mask/
286					bluetooth_a2dp = 0
287					wired_headset = 0
288					usb_device = 0
289					builtin_mic = 1
290					bluetooth_sco_headset = 0
291				component: mic/applicable_input_device/mask/
292					bluetooth_a2dp = 0
293					wired_headset = 0
294					usb_device = 0
295					builtin_mic = 1
296					bluetooth_sco_headset = 0
297
298		conf: Default
299			component: /Policy/policy/input_sources
300				component: default/applicable_input_device/mask/
301					bluetooth_a2dp = 0
302					wired_headset = 0
303					usb_device = 0
304					builtin_mic = 0
305					bluetooth_sco_headset = 0
306				component: mic/applicable_input_device/mask/
307					bluetooth_a2dp = 0
308					wired_headset = 0
309					usb_device = 0
310					builtin_mic = 0
311					bluetooth_sco_headset = 0
312
313	domain: VoiceUplinkAndVoiceDownlinkAndVoiceCall
314		conf: VoiceCall
315			AvailableInputDevices Includes TelephonyRx
316
317			component: /Policy/policy/input_sources
318				voice_downlink/applicable_input_device/mask/telephony_rx = 1
319				voice_call/applicable_input_device/mask/telephony_rx = 1
320				voice_uplink/applicable_input_device/mask/telephony_rx = 1
321
322		conf: Default
323			component: /Policy/policy/input_sources
324				voice_downlink/applicable_input_device/mask/telephony_rx = 0
325				voice_call/applicable_input_device/mask/telephony_rx = 0
326				voice_uplink/applicable_input_device/mask/telephony_rx = 0
327
328	domain: Camcorder
329		conf: BackMic
330			AvailableInputDevices Includes BackMic
331
332			component: /Policy/policy/input_sources/camcorder/applicable_input_device/mask
333				back_mic = 1
334				builtin_mic = 0
335
336		conf: BuiltinMic
337			AvailableInputDevices Includes BuiltinMic
338
339			component: /Policy/policy/input_sources/camcorder/applicable_input_device/mask
340				back_mic = 0
341				builtin_mic = 1
342
343		conf: Default
344			component: /Policy/policy/input_sources/camcorder/applicable_input_device/mask
345				back_mic = 0
346				builtin_mic = 0
347
348	domain: VoiceRecognitionAndHotword
349		conf: ScoHeadset
350			ForceUseForRecord Is ForceBtSco
351			AvailableInputDevices Includes BluetoothScoHeadset
352
353			component: /Policy/policy/input_sources
354				component: voice_recognition/applicable_input_device/mask
355					bluetooth_sco_headset = 1
356					wired_headset = 0
357					usb_device = 0
358					builtin_mic = 0
359				component: hotword/applicable_input_device/mask
360					bluetooth_sco_headset = 1
361					wired_headset = 0
362					usb_device = 0
363					builtin_mic = 0
364
365		conf: WiredHeadset
366			AvailableInputDevices Includes WiredHeadset
367
368			component: /Policy/policy/input_sources
369				component: voice_recognition/applicable_input_device/mask
370					bluetooth_sco_headset = 0
371					wired_headset = 1
372					usb_device = 0
373					builtin_mic = 0
374				component: hotword/applicable_input_device/mask
375					bluetooth_sco_headset = 0
376					wired_headset = 1
377					usb_device = 0
378					builtin_mic = 0
379
380		conf: UsbDevice
381			AvailableInputDevices Includes UsbDevice
382
383			component: /Policy/policy/input_sources
384				component: voice_recognition/applicable_input_device/mask
385					bluetooth_sco_headset = 0
386					wired_headset = 0
387					usb_device = 1
388					builtin_mic = 0
389				component: hotword/applicable_input_device/mask
390					bluetooth_sco_headset = 0
391					wired_headset = 0
392					usb_device = 1
393					builtin_mic = 0
394
395		conf: BuiltinMic
396			AvailableInputDevices Includes BuiltinMic
397
398			component: /Policy/policy/input_sources
399				component: voice_recognition/applicable_input_device/mask
400					bluetooth_sco_headset = 0
401					wired_headset = 0
402					usb_device = 0
403					builtin_mic = 1
404				component: hotword/applicable_input_device/mask
405					bluetooth_sco_headset = 0
406					wired_headset = 0
407					usb_device = 0
408					builtin_mic = 1
409
410		conf: Default
411			component: /Policy/policy/input_sources
412				component: voice_recognition/applicable_input_device/mask
413					bluetooth_sco_headset = 0
414					wired_headset = 0
415					usb_device = 0
416					builtin_mic = 0
417				component: hotword/applicable_input_device/mask
418					bluetooth_sco_headset = 0
419					wired_headset = 0
420					usb_device = 0
421					builtin_mic = 0
422
423	domain: VoiceCommunication
424		conf: ScoHeadset
425			#
426			# SCO device may be requested but no SCO device is available
427			#
428			ForceUseForCommunication Is ForceBtSco
429			AvailableInputDevices Includes BluetoothScoHeadset
430
431			component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask
432				bluetooth_sco_headset = 1
433				wired_headset = 0
434				usb_device = 0
435				builtin_mic = 0
436				back_mic = 0
437
438		conf: WiredHeadset
439			ForceUseForCommunication Is ForceNone
440			AvailableInputDevices Includes WiredHeadset
441
442			component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask
443				bluetooth_sco_headset = 0
444				wired_headset = 1
445				usb_device = 0
446				builtin_mic = 0
447				back_mic = 0
448
449		conf: UsbDevice
450			ForceUseForCommunication Is ForceNone
451			AvailableInputDevices Includes UsbDevice
452
453			component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask
454				bluetooth_sco_headset = 0
455				wired_headset = 0
456				usb_device = 1
457				builtin_mic = 0
458				back_mic = 0
459
460		conf: BuiltinMic
461			AvailableInputDevices Includes BuiltinMic
462			ANY
463				ForceUseForCommunication Is ForceNone
464				ALL
465					ForceUseForCommunication Is ForceSpeaker
466					AvailableInputDevices Excludes BackMic
467
468			component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask
469				bluetooth_sco_headset = 0
470				wired_headset = 0
471				usb_device = 0
472				builtin_mic = 1
473				back_mic = 0
474
475		conf: BackMic
476			ForceUseForCommunication Is ForceSpeaker
477			AvailableInputDevices Includes BackMic
478
479			component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask
480				bluetooth_sco_headset = 0
481				wired_headset = 0
482				usb_device = 0
483				builtin_mic = 0
484				back_mic = 1
485
486		conf: Default
487			component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask
488				bluetooth_sco_headset = 0
489				wired_headset = 0
490				usb_device = 0
491				builtin_mic = 0
492				back_mic = 0
493
494	domain: RemoteSubmix
495		conf: RemoteSubmix
496			AvailableInputDevices Includes RemoteSubmix
497
498			component: /Policy/policy/input_sources/remote_submix/applicable_input_device/mask
499				remote_submix = 1
500
501		conf: Default
502			component: /Policy/policy/input_sources/remote_submix/applicable_input_device/mask
503				remote_submix = 0
504
505	domain: FmTuner
506		conf: FmTuner
507			AvailableInputDevices Includes FmTuner
508
509			component: /Policy/policy/input_sources/fm_tuner/applicable_input_device/mask
510				fm_tuner = 1
511
512		conf: Default
513			component: /Policy/policy/input_sources/fm_tuner/applicable_input_device/mask
514				fm_tuner = 0
515
516