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    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/>
38
39    <application android:label="@string/app_name">
40        <uses-library android:name="android.test.runner"/>
41
42        <!-- Miscellaneous telecom app-related test activities. -->
43        <service android:name="com.android.server.telecom.testapps.TestCallDiagnosticService"
44            android:permission="android.permission.BIND_CALL_DIAGNOSTIC_SERVICE"
45            android:exported="true">
46            <intent-filter>
47                <action android:name="android.telecom.CallDiagnosticService"/>
48            </intent-filter>
49        </service>
50
51        <service android:name="com.android.server.telecom.testapps.TestConnectionService"
52             android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
53             android:exported="true">
54            <intent-filter>
55                <action android:name="android.telecom.ConnectionService"/>
56            </intent-filter>
57        </service>
58
59        <receiver android:name=".TestConnectionServiceReceiver"
60             android:exported="true">
61            <intent-filter>
62                <action android:name="android.server.telecom.testapps.ACTION_SWITCH_PHONE_ACCOUNT"/>
63                <action android:name="android.server.telecom.testapps.ACTION_SWITCH_PHONE_ACCOUNT_WRONG"/>
64            </intent-filter>
65        </receiver>
66
67        <service android:name="com.android.server.telecom.testapps.TestConnectionManager"
68             android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
69             android:exported="true">
70            <intent-filter>
71                <action android:name="android.telecom.ConnectionService"/>
72            </intent-filter>
73        </service>
74
75        <service android:name="com.android.server.telecom.testapps.TestInCallServiceImpl"
76             android:process="com.android.server.telecom.testapps.TestInCallService"
77             android:permission="android.permission.BIND_INCALL_SERVICE"
78             android:exported="true">
79            <meta-data android:name="android.telecom.IN_CALL_SERVICE_UI"
80                 android:value="true"/>
81            <meta-data android:name="android.telecom.INCLUDE_SELF_MANAGED_CALLS"
82                 android:value="true" />
83            <intent-filter>
84                <action android:name="android.telecom.InCallService"/>
85            </intent-filter>
86        </service>
87
88        <receiver android:name="com.android.server.telecom.testapps.TestInCallServiceBroadcastReceiver"
89             android:process="com.android.server.telecom.testapps.TestInCallService"
90             android:exported="true">
91            <intent-filter>
92                <action android:name="android.server.telecom.testapps.ACTION_SEND_UPDATE_REQUEST_FROM_TEST_INCALL_SERVICE"/>
93                <action android:name="android.server.telecom.testapps.ACTION_SEND_UPGRADE_RESPONSE"/>
94                <action android:name="android.telecom.action.PHONE_ACCOUNT_REGISTERED"/>
95                <action android:name="android.telecom.action.PHONE_ACCOUNT_UNREGISTERED"/>
96            </intent-filter>
97        </receiver>
98
99
100
101        <activity android:name="com.android.server.telecom.testapps.TestInCallUI"
102             android:process="com.android.server.telecom.testapps.TestInCallService"
103             android:label="@string/inCallUiAppLabel"
104             android:launchMode="singleInstance"
105             android:exported="true">
106            <intent-filter>
107                <action android:name="android.intent.action.MAIN"/>
108                <category android:name="android.intent.category.DEFAULT"/>
109                <category android:name="android.intent.category.LAUNCHER"/>
110            </intent-filter>
111        </activity>
112
113        <activity android:name="com.android.server.telecom.testapps.TestRttActivity"
114             android:process="com.android.server.telecom.testapps.TestInCallService"
115             android:label="@string/rttUiLabel"
116             android:launchMode="singleInstance"
117             android:exported="true">
118            <intent-filter>
119                <action android:name="android.intent.action.MAIN"/>
120                <category android:name="android.intent.category.DEFAULT"/>
121            </intent-filter>
122        </activity>
123
124        <activity android:name="com.android.server.telecom.testapps.TestCallActivity"
125             android:theme="@android:style/Theme.NoDisplay"
126             android:label="@string/testCallActivityLabel"
127             android:exported="true">
128            <intent-filter>
129                <action android:name="android.intent.action.MAIN"/>
130                <category android:name="android.intent.category.DEFAULT"/>
131                <category android:name="android.intent.category.LAUNCHER"/>
132            </intent-filter>
133            <intent-filter>
134                <action android:name="android.telecom.testapps.ACTION_START_INCOMING_CALL"/>
135                <action android:name="android.telecom.testapps.ACTION_NEW_UNKNOWN_CALL"/>
136                <category android:name="android.intent.category.DEFAULT"/>
137                <data android:scheme="tel"/>
138                <data android:scheme="sip"/>
139            </intent-filter>
140            <intent-filter>
141                <action android:name="android.telecom.testapps.ACTION_HANGUP_CALLS"/>
142                <category android:name="android.intent.category.DEFAULT"/>
143            </intent-filter>
144            <intent-filter>
145                <action android:name="android.telecom.testapps.ACTION_SEND_UPGRADE_REQUEST"/>
146                <category android:name="android.intent.category.DEFAULT"/>
147                <data android:scheme="int"/>
148            </intent-filter>
149            <intent-filter>
150                <action android:name="android.telecom.testapps.ACTION_RTT_CALL"/>
151                <category android:name="android.intent.category.DEFAULT"/>
152                <data android:scheme="tel"/>
153            </intent-filter>
154            <intent-filter>
155                <action android:name="android.telecom.testapps.ACTION_REMOTE_RTT_UPGRADE"/>
156                <category android:name="android.intent.category.DEFAULT"/>
157            </intent-filter>
158        </activity>
159
160        <receiver android:name="com.android.server.telecom.testapps.CallNotificationReceiver"
161             android:exported="false">
162            <intent-filter>
163                <action android:name="com.android.server.telecom.testapps.ACTION_CALL_SERVICE_EXIT"/>
164            </intent-filter>
165        </receiver>
166
167        <activity android:name="com.android.server.telecom.testapps.TestDialerActivity"
168             android:label="@string/testDialerActivityLabel"
169             android:process="com.android.server.telecom.testapps.TestInCallService"
170             android:exported="true">
171            <intent-filter>
172                <action android:name="android.intent.action.DIAL"/>
173                <category android:name="android.intent.category.DEFAULT"/>
174                <category android:name="android.intent.category.BROWSABLE"/>
175                <data android:mimeType="vnd.android.cursor.item/phone"/>
176                <data android:mimeType="vnd.android.cursor.item/person"/>
177            </intent-filter>
178            <intent-filter>
179                <action android:name="android.intent.action.DIAL"/>
180                <category android:name="android.intent.category.DEFAULT"/>
181                <category android:name="android.intent.category.BROWSABLE"/>
182                <data android:scheme="voicemail"/>
183            </intent-filter>
184            <intent-filter>
185                <action android:name="android.intent.action.DIAL"/>
186                <category android:name="android.intent.category.DEFAULT"/>
187            </intent-filter>
188            <intent-filter>
189                <action android:name="android.intent.action.VIEW"/>
190                <action android:name="android.intent.action.DIAL"/>
191                <category android:name="android.intent.category.DEFAULT"/>
192                <category android:name="android.intent.category.BROWSABLE"/>
193                <data android:scheme="tel"/>
194            </intent-filter>
195            <intent-filter>
196                <action android:name="android.intent.action.MAIN"/>
197                <category android:name="android.intent.category.DEFAULT"/>
198                <category android:name="android.intent.category.LAUNCHER"/>
199            </intent-filter>
200        </activity>
201
202        <activity android:name="com.android.server.telecom.testapps.TestUssdActivity"
203             android:label="@string/UssdUiAppLabel"
204             android:launchMode="singleInstance"
205             android:exported="true">
206            <intent-filter>
207                <action android:name="android.intent.action.MAIN"/>
208                <category android:name="android.intent.category.DEFAULT"/>
209                <category android:name="android.intent.category.LAUNCHER"/>
210            </intent-filter>
211          </activity>
212
213        <activity android:name="com.android.server.telecom.testapps.TestCertActivity"
214             android:label="@string/KeyUiAppLabel"
215             android:launchMode="singleInstance"
216             android:exported="true">
217            <intent-filter>
218                <action android:name="android.intent.action.MAIN"/>
219                <category android:name="android.intent.category.DEFAULT"/>
220                <category android:name="android.intent.category.LAUNCHER"/>
221            </intent-filter>
222          </activity>
223
224        <activity android:name="com.android.server.telecom.testapps.SelfManagedCallingActivity"
225             android:label="@string/selfManagedCallingActivityLabel"
226             android:process="com.android.server.telecom.testapps.SelfMangingCallingApp"
227             android:theme="@android:style/Theme.Material.Light"
228             android:exported="true">
229          <intent-filter>
230              <action android:name="android.intent.action.MAIN"/>
231              <category android:name="android.intent.category.DEFAULT"/>
232              <category android:name="android.intent.category.LAUNCHER"/>
233          </intent-filter>
234        </activity>
235
236        <activity android:name="com.android.server.telecom.testapps.IncomingSelfManagedCallActivity"
237             android:label="@string/selfManagedCallingActivityLabel"
238             android:process="com.android.server.telecom.testapps.SelfMangingCallingApp"
239             android:exported="true">
240          <intent-filter>
241              <action android:name="android.intent.action.MAIN"/>
242          </intent-filter>
243        </activity>
244
245        <activity android:name="com.android.server.telecom.testapps.HandoverActivity"
246             android:label="@string/selfManagedCallingActivityLabel"
247             android:process="com.android.server.telecom.testapps.SelfMangingCallingApp"
248             android:exported="true">
249          <intent-filter>
250              <action android:name="android.intent.action.MAIN"/>
251          </intent-filter>
252        </activity>
253
254        <service android:name="com.android.server.telecom.testapps.SelfManagedConnectionService"
255             android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
256             android:process="com.android.server.telecom.testapps.SelfMangingCallingApp"
257             android:exported="true">
258          <intent-filter>
259              <action android:name="android.telecom.ConnectionService"/>
260          </intent-filter>
261        </service>
262
263        <service android:name="com.android.server.telecom.testapps.OtherSelfManagedConnectionService"
264                 android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
265                 android:process="com.android.server.telecom.testapps.SelfMangingCallingApp"
266                 android:exported="true">
267            <intent-filter>
268                <action android:name="android.telecom.ConnectionService"/>
269            </intent-filter>
270        </service>
271
272        <receiver android:exported="false"
273             android:process="com.android.server.telecom.testapps.SelfMangingCallingApp"
274             android:name="com.android.server.telecom.testapps.SelfManagedCallNotificationReceiver"/>
275
276        <receiver android:exported="true"
277             android:name="com.android.server.telecom.testapps.NuisanceReportReceiver">
278            <intent-filter>
279                <action android:name="android.telecom.action.NUISANCE_CALL_STATUS_CHANGED"/>
280            </intent-filter>
281        </receiver>
282
283        <service android:name=".TestCallScreeningService"
284             android:permission="android.permission.BIND_SCREENING_SERVICE"
285             android:exported="true">
286            <intent-filter>
287                <action android:name="android.telecom.CallScreeningService"/>
288            </intent-filter>
289        </service>
290
291        <activity android:name=".CallScreeningActivity"
292             android:configChanges="orientation|screenSize|keyboardHidden"
293             android:excludeFromRecents="true"
294             android:launchMode="singleInstance">
295        </activity>
296
297        <service android:name=".TestCallRedirectionService"
298             android:permission="android.permission.BIND_CALL_REDIRECTION_SERVICE"
299             android:exported="true">
300            <intent-filter>
301                <action android:name="android.telecom.CallRedirectionService"/>
302            </intent-filter>
303        </service>
304
305        <activity android:name=".CallRedirectionActivity"
306             android:configChanges="orientation|screenSize|keyboardHidden"
307             android:excludeFromRecents="true"
308             android:launchMode="singleInstance">
309        </activity>
310
311        <activity android:name=".PostCallActivity"
312             android:label="@string/postCallActivityLabel"
313             android:exported="true">
314            <intent-filter>
315                <action android:name="android.telecom.action.POST_CALL"/>
316                <category android:name="android.intent.category.DEFAULT"/>
317            </intent-filter>
318        </activity>
319    </application>
320</manifest>
321