1<?xml version="1.0" encoding="UTF-8"?>
2<Subsystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3           xmlns:xi="http://www.w3.org/2001/XInclude"
4           xsi:noNamespaceSchemaLocation="Schemas/Subsystem.xsd"
5           Name="policy" Type="Policy">
6
7    <ComponentLibrary>
8        <!--#################### GLOBAL COMPONENTS BEGIN ####################-->
9        <!-- Common Types defintion -->
10        <xi:include href="PolicySubsystem-CommonTypes.xml"/>
11
12        <!--#################### GLOBAL COMPONENTS END ####################-->
13
14        <!--#################### STRATEGY BEGIN ####################-->
15
16        <ComponentType Name="Strategies" Description="Identifier must match the enum value to make
17                             the link between the PolicyManager and PFW">
18            <Component Name="media" Type="StrategyConfig" Mapping="Amend1:Media,Identifier:0"/>
19            <Component Name="phone" Type="StrategyConfig" Mapping="Amend1:Phone,Identifier:1"/>
20            <Component Name="sonification" Type="StrategyConfig"
21                                           Mapping="Amend1:Sonification,Identifier:2"/>
22            <Component Name="sonification_respectful" Type="StrategyConfig"
23                       Mapping="Amend1:SonificationRespectful,Identifier:3"/>
24            <Component Name="dtmf" Type="StrategyConfig" Mapping="Amend1:Dtmf,Identifier:4"/>
25            <Component Name="enforced_audible" Type="StrategyConfig"
26                                               Mapping="Amend1:EnforcedAudible,Identifier:5"/>
27            <Component Name="transmitted_through_speaker" Type="StrategyConfig"
28                       Mapping="Amend1:TransmittedThroughSpeaker,Identifier:6"/>
29            <Component Name="accessibility" Type="StrategyConfig"
30                                            Mapping="Amend1:Accessibility,Identifier:7"/>
31            <Component Name="rerouting" Type="StrategyConfig"
32                                        Mapping="Amend1:Rerouting,Identifier:8"/>
33        </ComponentType>
34
35        <!--#################### STRATEGY END ####################-->
36
37        <!--#################### STREAM BEGIN ####################-->
38
39        <ComponentType Name="Streams" Description="associated to audio_stream_type_t definition,
40                             identifier mapping must match the value of the enum">
41            <Component Name="voice_call" Type="Stream" Mapping="Stream:VoiceCall,Identifier:0"/>
42            <Component Name="system" Type="Stream" Mapping="Stream:System,Identifier:1"/>
43            <Component Name="ring" Type="Stream" Mapping="Stream:Ring,Identifier:2"/>
44            <Component Name="music" Type="Stream" Mapping="Stream:Music,Identifier:3"/>
45            <Component Name="alarm" Type="Stream" Mapping="Stream:Alarm,Identifier:4"/>
46            <Component Name="notification" Type="Stream"
47                                           Mapping="Stream:Notification,Identifier:5"/>
48            <Component Name="bluetooth_sco" Type="Stream"
49                                            Mapping="Stream:BluetoothSco,Identifier:6"/>
50            <Component Name="enforced_audible" Type="Stream"
51                                               Mapping="Stream:EnforceAudible,Identifier:7"
52                       Description="Sounds that cannot be muted by user and must
53                                    be routed to speaker"/>
54            <Component Name="dtmf" Type="Stream" Mapping="Stream:Dtmf,Identifier:8"/>
55            <Component Name="tts" Type="Stream" Mapping="Stream:Tts,Identifier:9"
56                             Description="Transmitted Through Speaker.
57                                          Plays over speaker only, silent on other devices"/>
58            <Component Name="accessibility" Type="Stream"
59                                            Mapping="Stream:Accessibility,Identifier:10"
60                             Description="For accessibility talk back prompts"/>
61            <Component Name="rerouting" Type="Stream" Mapping="Stream:Rerouting,Identifier:11"
62                             Description="For dynamic policy output mixes"/>
63            <Component Name="patch" Type="Stream" Mapping="Stream:Patch,Identifier:12"
64                             Description="For internal audio flinger tracks. Fixed volume"/>
65        </ComponentType>
66
67        <!--#################### STREAM END ####################-->
68
69        <!--#################### USAGE BEGIN ####################-->
70
71        <ComponentType Name="Usages" Description="associated to audio_stream_type_t definition,
72                             identifier mapping must match the value of the enum">
73            <Component Name="unknown" Type="Usage" Mapping="Amend1:Unknown,Identifier:0"/>
74            <Component Name="media" Type="Usage" Mapping="Amend1:Media,Identifier:1"/>
75            <Component Name="voice_communication" Type="Usage"
76                                                  Mapping="Amend1:VoiceCommunication,Identifier:2"/>
77            <Component Name="voice_communication_signalling" Type="Usage"
78                       Mapping="Amend1:VoiceCommunicationSignalling,Identifier:3"/>
79            <Component Name="alarm" Type="Usage" Mapping="Amend1:Alarm,Identifier:4"/>
80            <Component Name="notification" Type="Usage" Mapping="Amend1:Notification,Identifier:5"/>
81            <Component Name="notification_telephony_ringtone" Type="Usage"
82                       Mapping="Amend1:NotificationTelephonyRingtone,Identifier:6"/>
83            <Component Name="notification_communication_request" Type="Usage"
84                       Mapping="Amend1:NotificationCommunicationRequest,Identifier:7"/>
85            <Component Name="notification_communication_instant" Type="Usage"
86                       Mapping="Amend1:NotificationCommunicationInstant,Identifier:8"/>
87            <Component Name="notification_communication_delayed" Type="Usage"
88                       Mapping="Amend1:NotificationCommunicationDelated,Identifier:9"/>
89            <Component Name="notification_event" Type="Usage"
90                                                 Mapping="Amend1:NotificationEvent,Identifier:10"/>
91            <Component Name="assistance_accessibility" Type="Usage"
92                       Mapping="Amend1:AssistanceAccessibility,Identifier:11"/>
93            <Component Name="assistance_navigation_guidance" Type="Usage"
94                       Mapping="Amend1:AssistanceNavigationGuidance,Identifier:12"/>
95            <Component Name="assistance_sonification" Type="Usage"
96                       Mapping="Amend1:AssistanceSonification,Identifier:13"/>
97            <Component Name="game" Type="Usage" Mapping="Amend1:BluetoothSco,Identifier:14"/>
98            <Component Name="virtual_source" Type="Usage"
99                                             Mapping="Amend1:VirtualSource,Identifier:15"/>
100        </ComponentType>
101
102        <!--#################### USAGE END ####################-->
103
104        <!--#################### INPUT SOURCE BEGIN ####################-->
105
106        <ComponentType Name="InputSources" Description="associated to audio_source_t definition,
107                             identifier mapping must match the value of the enum">
108            <Component Name="default" Type="InputSource" Mapping="Amend1:Default,Identifier:0"/>
109            <Component Name="mic" Type="InputSource" Mapping="Amend1:Mic,Identifier:1"/>
110            <Component Name="voice_uplink" Type="InputSource"
111                                           Mapping="Amend1:VoiceUplink,Identifier:2"/>
112            <Component Name="voice_downlink" Type="InputSource"
113                                             Mapping="Amend1:VoiceDownlink,Identifier:3"/>
114            <Component Name="voice_call" Type="InputSource"
115                                         Mapping="Amend1:VoiceCall,Identifier:4"/>
116            <Component Name="camcorder" Type="InputSource" Mapping="Amend1:Camcorder,Identifier:5"/>
117            <Component Name="voice_recognition" Type="InputSource"
118                                                Mapping="Amend1:VoiceRecognition,Identifier:6"/>
119            <Component Name="voice_communication" Type="InputSource"
120                                                  Mapping="Amend1:VoiceCommunication,Identifier:7"/>
121            <Component Name="remote_submix" Type="InputSource"
122                                            Mapping="Amend1:RemoteSubmix,Identifier:8"/>
123            <Component Name="unprocessed" Type="InputSource"
124                                            Mapping="Amend1:Unprocessed,Identifier:9"/>
125            <Component Name="fm_tuner" Type="InputSource" Mapping="Amend1:FmTuner,Identifier:1998"/>
126            <Component Name="hotword" Type="InputSource" Mapping="Amend1:Hotword,Identifier:1999"/>
127        </ComponentType>
128
129        <!--#################### INPUT SOURCE END ####################-->
130
131    </ComponentLibrary>
132
133    <InstanceDefinition>
134        <Component Name="streams" Type="Streams"/>
135        <Component Name="strategies" Type="Strategies"/>
136        <Component Name="input_sources" Type="InputSources"/>
137        <Component Name="usages" Type="Usages"/>
138    </InstanceDefinition>
139</Subsystem>
140