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