1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (C) 2013 The Android Open Source Project
3
4     Licensed under the Apache License, Version 2.0 (the "License");
5     you may not use this file except in compliance with the License.
6     You may obtain a copy of the License at
7
8          http://www.apache.org/licenses/LICENSE-2.0
9
10     Unless required by applicable law or agreed to in writing, software
11     distributed under the License is distributed on an "AS IS" BASIS,
12     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13     See the License for the specific language governing permissions and
14     limitations under the License.
15-->
16
17<manifest xmlns:android="http://schemas.android.com/apk/res/android"
18     coreApp="true"
19     package="com.android.server.telecom.testapps">
20
21    <uses-sdk android:minSdkVersion="28"
22         android:targetSdkVersion="30"/>
23
24    <uses-permission android:name="android.permission.ACCEPT_HANDOVER"/>
25    <uses-permission android:name="android.permission.BLUETOOTH"/>
26    <uses-permission android:name="android.permission.CAMERA"/>
27    <uses-permission android:name="android.permission.CALL_PHONE"/>
28    <uses-permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"/>
29    <uses-permission android:name="android.permission.INTERNET"/>
30    <uses-permission android:name="android.permission.MANAGE_OWN_CALLS"/>
31    <uses-permission android:name="android.permission.READ_CALL_LOG"/>
32    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
33    <uses-permission android:name="android.permission.REGISTER_CALL_PROVIDER"/>
34    <uses-permission android:name="android.permission.REGISTER_CONNECTION_MANAGER"/>
35    <uses-permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION"/>
36    <uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
37
38    <application android:label="@string/app_name">
39        <uses-library android:name="android.test.runner"/>
40
41        <!-- Miscellaneous telecom app-related test activities. -->
42        <service android:name="com.android.server.telecom.testapps.TestCallDiagnosticService"
43            android:permission="android.permission.BIND_CALL_DIAGNOSTIC_SERVICE"
44            android:exported="true">
45            <intent-filter>
46                <action android:name="android.telecom.CallDiagnosticService"/>
47            </intent-filter>
48        </service>
49
50        <service android:name="com.android.server.telecom.testapps.TestConnectionService"
51             android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
52             android:exported="true">
53            <intent-filter>
54                <action android:name="android.telecom.ConnectionService"/>
55            </intent-filter>
56        </service>
57
58        <receiver android:name=".TestConnectionServiceReceiver"
59             android:exported="true">
60            <intent-filter>
61                <action android:name="android.server.telecom.testapps.ACTION_SWITCH_PHONE_ACCOUNT"/>
62                <action android:name="android.server.telecom.testapps.ACTION_SWITCH_PHONE_ACCOUNT_WRONG"/>
63            </intent-filter>
64        </receiver>
65
66        <service android:name="com.android.server.telecom.testapps.TestConnectionManager"
67             android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
68             android:exported="true">
69            <intent-filter>
70                <action android:name="android.telecom.ConnectionService"/>
71            </intent-filter>
72        </service>
73
74        <service android:name="com.android.server.telecom.testapps.TestInCallServiceImpl"
75             android:process="com.android.server.telecom.testapps.TestInCallService"
76             android:permission="android.permission.BIND_INCALL_SERVICE"
77             android:exported="true">
78            <meta-data android:name="android.telecom.IN_CALL_SERVICE_UI"
79                 android:value="true"/>
80            <meta-data android:name="android.telecom.INCLUDE_SELF_MANAGED_CALLS"
81                 android:value="true" />
82            <intent-filter>
83                <action android:name="android.telecom.InCallService"/>
84            </intent-filter>
85        </service>
86
87        <receiver android:name="com.android.server.telecom.testapps.TestInCallServiceBroadcastReceiver"
88             android:process="com.android.server.telecom.testapps.TestInCallService"
89             android:exported="true">
90            <intent-filter>
91                <action android:name="android.server.telecom.testapps.ACTION_SEND_UPDATE_REQUEST_FROM_TEST_INCALL_SERVICE"/>
92                <action android:name="android.server.telecom.testapps.ACTION_SEND_UPGRADE_RESPONSE"/>
93                <action android:name="android.telecom.action.PHONE_ACCOUNT_REGISTERED"/>
94                <action android:name="android.telecom.action.PHONE_ACCOUNT_UNREGISTERED"/>
95            </intent-filter>
96        </receiver>
97
98
99
100        <activity android:name="com.android.server.telecom.testapps.TestInCallUI"
101             android:process="com.android.server.telecom.testapps.TestInCallService"
102             android:label="@string/inCallUiAppLabel"
103             android:launchMode="singleInstance"
104             android:exported="true">
105            <intent-filter>
106                <action android:name="android.intent.action.MAIN"/>
107                <category android:name="android.intent.category.DEFAULT"/>
108                <category android:name="android.intent.category.LAUNCHER"/>
109            </intent-filter>
110        </activity>
111
112        <activity android:name="com.android.server.telecom.testapps.TestRttActivity"
113             android:process="com.android.server.telecom.testapps.TestInCallService"
114             android:label="@string/rttUiLabel"
115             android:launchMode="singleInstance"
116             android:exported="true">
117            <intent-filter>
118                <action android:name="android.intent.action.MAIN"/>
119                <category android:name="android.intent.category.DEFAULT"/>
120            </intent-filter>
121        </activity>
122
123        <activity android:name="com.android.server.telecom.testapps.TestCallActivity"
124             android:theme="@android:style/Theme.NoDisplay"
125             android:label="@string/testCallActivityLabel"
126             android:exported="true">
127            <intent-filter>
128                <action android:name="android.intent.action.MAIN"/>
129                <category android:name="android.intent.category.DEFAULT"/>
130                <category android:name="android.intent.category.LAUNCHER"/>
131            </intent-filter>
132            <intent-filter>
133                <action android:name="android.telecom.testapps.ACTION_START_INCOMING_CALL"/>
134                <action android:name="android.telecom.testapps.ACTION_NEW_UNKNOWN_CALL"/>
135                <category android:name="android.intent.category.DEFAULT"/>
136                <data android:scheme="tel"/>
137                <data android:scheme="sip"/>
138            </intent-filter>
139            <intent-filter>
140                <action android:name="android.telecom.testapps.ACTION_HANGUP_CALLS"/>
141                <category android:name="android.intent.category.DEFAULT"/>
142            </intent-filter>
143            <intent-filter>
144                <action android:name="android.telecom.testapps.ACTION_SEND_UPGRADE_REQUEST"/>
145                <category android:name="android.intent.category.DEFAULT"/>
146                <data android:scheme="int"/>
147            </intent-filter>
148            <intent-filter>
149                <action android:name="android.telecom.testapps.ACTION_RTT_CALL"/>
150                <category android:name="android.intent.category.DEFAULT"/>
151                <data android:scheme="tel"/>
152            </intent-filter>
153            <intent-filter>
154                <action android:name="android.telecom.testapps.ACTION_REMOTE_RTT_UPGRADE"/>
155                <category android:name="android.intent.category.DEFAULT"/>
156            </intent-filter>
157        </activity>
158
159        <receiver android:name="com.android.server.telecom.testapps.CallNotificationReceiver"
160             android:exported="false">
161            <intent-filter>
162                <action android:name="com.android.server.telecom.testapps.ACTION_CALL_SERVICE_EXIT"/>
163            </intent-filter>
164        </receiver>
165
166        <activity android:name="com.android.server.telecom.testapps.TestDialerActivity"
167             android:label="@string/testDialerActivityLabel"
168             android:process="com.android.server.telecom.testapps.TestInCallService"
169             android:exported="true">
170            <intent-filter>
171                <action android:name="android.intent.action.DIAL"/>
172                <category android:name="android.intent.category.DEFAULT"/>
173                <category android:name="android.intent.category.BROWSABLE"/>
174                <data android:mimeType="vnd.android.cursor.item/phone"/>
175                <data android:mimeType="vnd.android.cursor.item/person"/>
176            </intent-filter>
177            <intent-filter>
178                <action android:name="android.intent.action.DIAL"/>
179                <category android:name="android.intent.category.DEFAULT"/>
180                <category android:name="android.intent.category.BROWSABLE"/>
181                <data android:scheme="voicemail"/>
182            </intent-filter>
183            <intent-filter>
184                <action android:name="android.intent.action.DIAL"/>
185                <category android:name="android.intent.category.DEFAULT"/>
186            </intent-filter>
187            <intent-filter>
188                <action android:name="android.intent.action.VIEW"/>
189                <action android:name="android.intent.action.DIAL"/>
190                <category android:name="android.intent.category.DEFAULT"/>
191                <category android:name="android.intent.category.BROWSABLE"/>
192                <data android:scheme="tel"/>
193            </intent-filter>
194            <intent-filter>
195                <action android:name="android.intent.action.MAIN"/>
196                <category android:name="android.intent.category.DEFAULT"/>
197                <category android:name="android.intent.category.LAUNCHER"/>
198            </intent-filter>
199        </activity>
200
201        <activity android:name="com.android.server.telecom.testapps.TestUssdActivity"
202             android:label="@string/UssdUiAppLabel"
203             android:launchMode="singleInstance"
204             android:exported="true">
205            <intent-filter>
206                <action android:name="android.intent.action.MAIN"/>
207                <category android:name="android.intent.category.DEFAULT"/>
208                <category android:name="android.intent.category.LAUNCHER"/>
209            </intent-filter>
210          </activity>
211
212        <activity android:name="com.android.server.telecom.testapps.TestCertActivity"
213             android:label="@string/KeyUiAppLabel"
214             android:launchMode="singleInstance"
215             android:exported="true">
216            <intent-filter>
217                <action android:name="android.intent.action.MAIN"/>
218                <category android:name="android.intent.category.DEFAULT"/>
219                <category android:name="android.intent.category.LAUNCHER"/>
220            </intent-filter>
221          </activity>
222
223        <activity android:name="com.android.server.telecom.testapps.SelfManagedCallingActivity"
224             android:label="@string/selfManagedCallingActivityLabel"
225             android:process="com.android.server.telecom.testapps.SelfMangingCallingApp"
226             android:theme="@android:style/Theme.Material.Light"
227             android:exported="true">
228          <intent-filter>
229              <action android:name="android.intent.action.MAIN"/>
230              <category android:name="android.intent.category.DEFAULT"/>
231              <category android:name="android.intent.category.LAUNCHER"/>
232          </intent-filter>
233        </activity>
234
235        <activity android:name="com.android.server.telecom.testapps.IncomingSelfManagedCallActivity"
236             android:label="@string/selfManagedCallingActivityLabel"
237             android:process="com.android.server.telecom.testapps.SelfMangingCallingApp"
238             android:exported="true">
239          <intent-filter>
240              <action android:name="android.intent.action.MAIN"/>
241          </intent-filter>
242        </activity>
243
244        <activity android:name="com.android.server.telecom.testapps.HandoverActivity"
245             android:label="@string/selfManagedCallingActivityLabel"
246             android:process="com.android.server.telecom.testapps.SelfMangingCallingApp"
247             android:exported="true">
248          <intent-filter>
249              <action android:name="android.intent.action.MAIN"/>
250          </intent-filter>
251        </activity>
252
253        <service android:name="com.android.server.telecom.testapps.SelfManagedConnectionService"
254             android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
255             android:process="com.android.server.telecom.testapps.SelfMangingCallingApp"
256             android:exported="true">
257          <intent-filter>
258              <action android:name="android.telecom.ConnectionService"/>
259          </intent-filter>
260        </service>
261
262        <receiver android:exported="false"
263             android:process="com.android.server.telecom.testapps.SelfMangingCallingApp"
264             android:name="com.android.server.telecom.testapps.SelfManagedCallNotificationReceiver"/>
265
266        <receiver android:exported="true"
267             android:name="com.android.server.telecom.testapps.NuisanceReportReceiver">
268            <intent-filter>
269                <action android:name="android.telecom.action.NUISANCE_CALL_STATUS_CHANGED"/>
270            </intent-filter>
271        </receiver>
272
273        <service android:name=".TestCallScreeningService"
274             android:permission="android.permission.BIND_SCREENING_SERVICE"
275             android:exported="true">
276            <intent-filter>
277                <action android:name="android.telecom.CallScreeningService"/>
278            </intent-filter>
279        </service>
280
281        <activity android:name=".CallScreeningActivity"
282             android:configChanges="orientation|screenSize|keyboardHidden"
283             android:excludeFromRecents="true"
284             android:launchMode="singleInstance">
285        </activity>
286
287        <service android:name=".TestCallRedirectionService"
288             android:permission="android.permission.BIND_CALL_REDIRECTION_SERVICE"
289             android:exported="true">
290            <intent-filter>
291                <action android:name="android.telecom.CallRedirectionService"/>
292            </intent-filter>
293        </service>
294
295        <activity android:name=".CallRedirectionActivity"
296             android:configChanges="orientation|screenSize|keyboardHidden"
297             android:excludeFromRecents="true"
298             android:launchMode="singleInstance">
299        </activity>
300
301        <activity android:name=".PostCallActivity"
302             android:label="@string/postCallActivityLabel"
303             android:exported="true">
304            <intent-filter>
305                <action android:name="android.telecom.action.POST_CALL"/>
306                <category android:name="android.intent.category.DEFAULT"/>
307            </intent-filter>
308        </activity>
309    </application>
310</manifest>
311