1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (C) 2007 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        xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
19        package="com.android.phone"
20        coreApp="true"
21        android:sharedUserId="android.uid.phone"
22        android:sharedUserLabel="@string/phoneAppLabel"
23>
24
25    <original-package android:name="com.android.phone" />
26
27    <protected-broadcast android:name="android.intent.action.SERVICE_STATE" />
28    <protected-broadcast android:name="android.intent.action.RADIO_TECHNOLOGY" />
29    <protected-broadcast android:name="android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED" />
30    <protected-broadcast android:name="android.intent.action.SIG_STR" />
31    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
32    <protected-broadcast android:name="android.intent.action.DATA_CONNECTION_FAILED" />
33    <protected-broadcast android:name="android.intent.action.SIM_STATE_CHANGED" />
34    <protected-broadcast android:name="android.intent.action.NETWORK_SET_TIME" />
35    <protected-broadcast android:name="android.intent.action.NETWORK_SET_TIMEZONE" />
36    <protected-broadcast android:name="android.intent.action.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS" />
37    <protected-broadcast android:name="android.intent.action.ACTION_MDN_STATE_CHANGED" />
38    <protected-broadcast android:name="android.provider.Telephony.SPN_STRINGS_UPDATED" />
39
40    <uses-permission android:name="android.permission.BROADCAST_STICKY" />
41    <uses-permission android:name="android.permission.CALL_PHONE" />
42    <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
43    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
44    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
45    <uses-permission android:name="android.permission.READ_CONTACTS" />
46    <uses-permission android:name="android.permission.READ_CALL_LOG" />
47    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
48    <uses-permission android:name="android.permission.WRITE_CALL_LOG" />
49    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
50    <uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" />
51    <uses-permission android:name="android.permission.ADD_SYSTEM_SERVICE" />
52    <uses-permission android:name="android.permission.VIBRATE" />
53    <uses-permission android:name="android.permission.BLUETOOTH" />
54    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
55    <uses-permission android:name="android.permission.REORDER_TASKS" />
56    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
57    <uses-permission android:name="android.permission.WAKE_LOCK" />
58    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
59    <uses-permission android:name="android.permission.STATUS_BAR" />
60    <uses-permission android:name="android.permission.READ_SMS" />
61    <uses-permission android:name="android.permission.WRITE_SMS" />
62    <uses-permission android:name="android.permission.SEND_SMS" />
63    <uses-permission android:name="android.permission.SEND_SMS_NO_CONFIRMATION" />
64    <uses-permission android:name="android.permission.SET_TIME_ZONE" />
65    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
66    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
67    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
68    <uses-permission android:name="android.permission.DEVICE_POWER" />
69    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
70    <uses-permission android:name="android.permission.INTERNET" />
71    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
72    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
73    <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
74    <uses-permission android:name="android.permission.BROADCAST_SMS"/>
75    <uses-permission android:name="android.permission.BROADCAST_WAP_PUSH"/>
76    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
77    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
78    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
79    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
80    <uses-permission android:name="android.permission.SHUTDOWN" />
81    <uses-permission android:name="android.permission.RECORD_AUDIO" />
82    <uses-permission android:name="android.permission.PERFORM_CDMA_PROVISIONING" />
83    <uses-permission android:name="android.permission.USE_SIP" />
84    <uses-permission android:name="android.permission.REBOOT" />
85    <uses-permission android:name="android.permission.UPDATE_LOCK" />
86    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
87    <uses-permission android:name="com.android.smspush.WAPPUSH_MANAGER_BIND" />
88    <uses-permission android:name="android.permission.MANAGE_USERS" />
89
90    <!-- This tells the activity manager to not delay any of our activity
91         start requests, even if they happen immediately after the user
92         presses home. -->
93    <uses-permission android:name="android.permission.STOP_APP_SWITCHES" />
94
95    <application android:name="PhoneApp"
96                 android:persistent="true"
97                 android:label="@string/phoneAppLabel"
98                 android:icon="@mipmap/ic_launcher_phone">
99            <provider android:name="IccProvider"
100                      android:authorities="icc"
101                      android:multiprocess="true"
102                      android:exported="true"
103                      android:readPermission="android.permission.READ_CONTACTS"
104                      android:writePermission="android.permission.WRITE_CONTACTS" />
105
106        <!-- Dialer UI that only allows emergency calls -->
107        <activity android:name="EmergencyDialer"
108            android:label="@string/emergencyDialerIconLabel"
109            android:theme="@style/EmergencyDialerTheme"
110            android:screenOrientation="portrait">
111            <intent-filter>
112                <action android:name="com.android.phone.EmergencyDialer.DIAL" />
113                <category android:name="android.intent.category.DEFAULT" />
114            </intent-filter>
115            <intent-filter>
116                <action android:name="com.android.phone.EmergencyDialer.DIAL" />
117                <category android:name="android.intent.category.DEFAULT" />
118                <data android:scheme="tel" />
119            </intent-filter>
120        </activity>
121
122        <activity android:name="ADNList" />
123
124        <activity android:name="SimContacts"
125            android:label="@string/simContacts_title"
126            android:theme="@style/SimImportTheme"
127            android:screenOrientation="portrait"
128            android:icon="@mipmap/ic_launcher_contacts">
129
130            <intent-filter>
131                <action android:name="android.intent.action.VIEW" />
132                <category android:name="android.intent.category.DEFAULT" />
133                <data android:mimeType="vnd.android.cursor.item/sim-contact" />
134            </intent-filter>
135        </activity>
136
137        <activity android:name="FdnList" android:label="@string/fdnListLabel">
138            <intent-filter>
139                <action android:name="android.intent.action.VIEW" />
140                <category android:name="android.intent.category.DEFAULT" />
141                <data android:mimeType="vnd.android.cursor.item/sim-contact" />
142            </intent-filter>
143        </activity>
144
145        <activity android:name="OutgoingCallBroadcaster"
146                android:theme="@style/OutgoingCallBroadcasterTheme"
147                android:permission="android.permission.CALL_PHONE"
148                android:screenOrientation="nosensor"
149                android:configChanges="orientation|screenSize|keyboardHidden">
150            <!-- CALL action intent filters, for the various ways
151                 of initiating an outgoing call. -->
152            <intent-filter>
153                <action android:name="android.intent.action.CALL" />
154                <category android:name="android.intent.category.DEFAULT" />
155                <data android:scheme="tel" />
156            </intent-filter>
157            <intent-filter android:icon="@drawable/ic_launcher_sip_call">
158                <action android:name="android.intent.action.CALL" />
159                <category android:name="android.intent.category.DEFAULT" />
160                <data android:scheme="sip" />
161            </intent-filter>
162            <intent-filter>
163                <action android:name="android.intent.action.CALL" />
164                <category android:name="android.intent.category.DEFAULT" />
165                <data android:scheme="voicemail" />
166            </intent-filter>
167            <intent-filter>
168                <action android:name="android.intent.action.CALL" />
169                <category android:name="android.intent.category.DEFAULT" />
170                <data android:mimeType="vnd.android.cursor.item/phone" />
171                <data android:mimeType="vnd.android.cursor.item/phone_v2" />
172                <data android:mimeType="vnd.android.cursor.item/person" />
173            </intent-filter>
174        </activity>
175
176        <activity-alias android:name="EmergencyOutgoingCallBroadcaster"
177                android:targetActivity="OutgoingCallBroadcaster"
178                android:permission="android.permission.CALL_PRIVILEGED">
179            <intent-filter>
180                <action android:name="android.intent.action.CALL_EMERGENCY" />
181                <category android:name="android.intent.category.DEFAULT" />
182                <data android:scheme="tel" />
183            </intent-filter>
184            <intent-filter android:icon="@drawable/ic_launcher_sip_call">
185                <action android:name="android.intent.action.CALL_EMERGENCY" />
186                <category android:name="android.intent.category.DEFAULT" />
187                <data android:scheme="sip" />
188            </intent-filter>
189            <intent-filter>
190                <action android:name="android.intent.action.CALL_EMERGENCY" />
191                <category android:name="android.intent.category.DEFAULT" />
192                <data android:scheme="voicemail" />
193            </intent-filter>
194            <intent-filter>
195                <action android:name="android.intent.action.CALL_EMERGENCY" />
196                <category android:name="android.intent.category.DEFAULT" />
197                <data android:mimeType="vnd.android.cursor.item/phone" />
198                <data android:mimeType="vnd.android.cursor.item/person" />
199            </intent-filter>
200        </activity-alias>
201
202        <activity-alias android:name="PrivilegedOutgoingCallBroadcaster"
203                android:targetActivity="OutgoingCallBroadcaster"
204                android:screenOrientation="nosensor"
205                android:permission="android.permission.CALL_PRIVILEGED">
206            <intent-filter>
207                <action android:name="android.intent.action.CALL_PRIVILEGED" />
208                <category android:name="android.intent.category.DEFAULT" />
209                <data android:scheme="tel" />
210            </intent-filter>
211            <intent-filter android:icon="@drawable/ic_launcher_sip_call">
212                <action android:name="android.intent.action.CALL_PRIVILEGED" />
213                <category android:name="android.intent.category.DEFAULT" />
214                <data android:scheme="sip" />
215            </intent-filter>
216            <intent-filter>
217                <action android:name="android.intent.action.CALL_PRIVILEGED" />
218                <category android:name="android.intent.category.DEFAULT" />
219                <data android:scheme="voicemail" />
220            </intent-filter>
221            <intent-filter>
222                <action android:name="android.intent.action.CALL_PRIVILEGED" />
223                <category android:name="android.intent.category.DEFAULT" />
224                <data android:mimeType="vnd.android.cursor.item/phone" />
225                <data android:mimeType="vnd.android.cursor.item/phone_v2" />
226                <data android:mimeType="vnd.android.cursor.item/person" />
227            </intent-filter>
228        </activity-alias>
229
230        <receiver android:name="ProcessOutgoingCallTest" android:exported="false"
231            android:enabled="false">
232            <intent-filter android:priority="1">
233                <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
234                <category android:name="android.intent.category.DEFAULT" />
235            </intent-filter>
236        </receiver>
237
238        <!-- Main in-call UI activity.  This is never launched directly
239             from outside the phone app; instead, it's either launched by
240             the OutgoingCallBroadcaster (for outgoing calls), or as the
241             fullScreenIntent of a notification (for incoming calls.) -->
242        <activity android:name="InCallScreen"
243            android:theme="@style/Theme.InCallScreen"
244            android:label="@string/phoneIconLabel"
245            android:excludeFromRecents="true"
246            android:launchMode="singleInstance"
247            android:screenOrientation="nosensor"
248            android:configChanges="keyboardHidden"
249            android:exported="false">
250        </activity>
251
252        <!-- Trampoline activity that handles the PERFORM_CDMA_PROVISIONING intent. -->
253        <activity android:name="InCallScreenShowActivation"
254            android:permission="android.permission.PERFORM_CDMA_PROVISIONING"
255            android:label="@string/phoneIconLabel"
256            android:theme="@android:style/Theme.NoDisplay"
257            android:excludeFromRecents="true">
258            <intent-filter>
259                <action android:name="com.android.phone.PERFORM_CDMA_PROVISIONING" />
260                <category android:name="android.intent.category.DEFAULT" />
261            </intent-filter>
262        </activity>
263
264        <!-- "Mobile network settings" screen, used on both
265             non-voice-capable tablets and regular phone devices. -->
266        <activity android:name="MobileNetworkSettings"
267            android:label="@string/settings_label"
268            android:theme="@style/Theme.Settings">
269            <intent-filter>
270                <action android:name="android.intent.action.VIEW" />
271                <action android:name="android.intent.action.MAIN" />
272                <action android:name="android.settings.DATA_ROAMING_SETTINGS" />
273                <category android:name="android.intent.category.DEFAULT" />
274            </intent-filter>
275        </activity>
276
277        <activity-alias android:name="Settings"
278            android:targetActivity="MobileNetworkSettings" />
279
280        <!-- networks setting -->
281        <!-- service to handle network query requests sent to RIL -->
282        <service android:name="NetworkQueryService" />
283
284        <!-- clearing of missed call notifications  -->
285        <service android:name="ClearMissedCallsService" />
286
287        <activity android:name="NetworkSetting"
288                android:label="@string/networks"
289                android:configChanges="orientation|screenSize|keyboardHidden"
290                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
291            <intent-filter>
292                <action android:name="android.intent.action.MAIN" />
293                <action android:name="android.settings.NETWORK_OPERATOR_SETTINGS" />
294                <category android:name="android.intent.category.DEFAULT" />
295            </intent-filter>
296        </activity>
297
298        <activity android:name="GsmUmtsOptions"
299                android:label="@string/gsm_umts_options"
300                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
301            <intent-filter>
302                <action android:name="android.intent.action.MAIN" />
303            </intent-filter>
304        </activity>
305
306        <activity android:name="CdmaOptions"
307                android:label="@string/cdma_options"
308                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
309            <intent-filter>
310                <action android:name="android.intent.action.MAIN" />
311            </intent-filter>
312        </activity>
313
314        <activity android:name="GsmUmtsCallOptions"
315                android:label="@string/gsm_umts_options"
316                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
317            <intent-filter>
318                <action android:name="android.intent.action.MAIN" />
319            </intent-filter>
320        </activity>
321
322        <activity android:name="CdmaCallOptions"
323                android:label="@string/cdma_options"
324                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
325            <intent-filter>
326                <action android:name="android.intent.action.MAIN" />
327            </intent-filter>
328        </activity>
329
330        <activity android:name="GsmUmtsCallForwardOptions"
331                android:label="@string/labelCF"
332                android:configChanges="orientation|screenSize|keyboardHidden"
333                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
334            <intent-filter>
335                <action android:name="android.intent.action.MAIN" />
336            </intent-filter>
337        </activity>
338
339        <activity android:name="GsmUmtsAdditionalCallOptions"
340                android:label="@string/labelGSMMore"
341                android:configChanges="orientation|screenSize|keyboardHidden"
342                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
343            <intent-filter>
344                <action android:name="android.intent.action.MAIN" />
345            </intent-filter>
346        </activity>
347
348        <activity android:name="CellBroadcastSms"
349            android:label="@string/cell_broadcast_sms"
350            android:theme="@android:style/Theme.Holo.DialogWhenLarge">
351            <intent-filter>
352                <action android:name="android.intent.action.MAIN" />
353            </intent-filter>
354        </activity>
355
356        <!-- fdn setting -->
357        <activity android:name="FdnSetting"
358                android:label="@string/fdn"
359                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
360            <intent-filter>
361                <action android:name="android.intent.action.MAIN" />
362            </intent-filter>
363        </activity>
364
365        <activity android:name="EnableFdnScreen"
366                android:label=""
367                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
368        </activity>
369
370        <!-- SIM PIN setting -->
371        <activity android:name="EnableIccPinScreen"
372                android:label="@string/enable_pin"
373                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
374            <intent-filter>
375                <action android:name="android.intent.action.MAIN" />
376                <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
377            </intent-filter>
378        </activity>
379
380        <activity android:name="ChangeIccPinScreen"
381                android:label="@string/change_pin"
382                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
383            <intent-filter>
384                <action android:name="android.intent.action.MAIN" />
385                <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
386            </intent-filter>
387        </activity>
388
389        <activity android:name="GetPin2Screen"
390                android:label="@string/get_pin2"
391                android:theme="@android:style/Theme.Holo.DialogWhenLarge"
392                android:windowSoftInputMode="stateVisible">
393        </activity>
394
395        <activity android:name="EditFdnContactScreen"
396                  android:windowSoftInputMode="stateVisible">
397        </activity>
398
399        <activity android:name="DeleteFdnContactScreen"
400        android:label="@string/delete_fdn_contact">
401        </activity>
402
403        <activity android:name="DataRoamingReenable" android:label="@string/android:dialog_alert_title"
404            android:theme="@android:style/Theme.Holo.Dialog">
405            <intent-filter>
406                <action android:name="android.intent.action.MAIN" />
407            </intent-filter>
408        </activity>
409
410        <!-- Data usage and throttling setting for ThrottleService in framework. -->
411        <activity android:name="DataUsage"
412                android:label="@string/throttle_data_usage"
413                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
414            <intent-filter>
415                <action android:name="android.intent.action.MAIN" />
416            </intent-filter>
417        </activity>
418
419        <!-- data roaming setting -->
420        <activity android:name="RoamingSetting"
421                android:label="@string/roaming"
422                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
423            <intent-filter>
424                <action android:name="android.intent.action.MAIN" />
425            </intent-filter>
426        </activity>
427
428        <!-- "Call settings" UI, used only on voice-capable phone devices. -->
429        <activity android:name="CallFeaturesSetting"
430                android:label="@string/call_settings"
431                android:configChanges="orientation|screenSize|keyboardHidden"
432                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
433            <intent-filter>
434                <action android:name="android.intent.action.VIEW" />
435                <action android:name="android.intent.action.MAIN" />
436                <action android:name="com.android.phone.CallFeaturesSetting.ADD_VOICEMAIL" />
437                <category android:name="android.intent.category.DEFAULT" />
438            </intent-filter>
439        </activity>
440
441        <!-- bluetooth phone service -->
442        <service android:name="BluetoothPhoneService">
443            <intent-filter>
444                <action android:name="android.bluetooth.IBluetoothHeadsetPhone" />
445            </intent-filter>
446        </service>
447
448        <!-- Broadcast Receiver that will process BOOT Complete and launch OTA -->
449        <receiver android:name="OtaStartupReceiver" android:exported="false"
450                androidprv:primaryUserOnly="true">
451            <intent-filter android:priority="100">
452                 <action android:name="android.intent.action.BOOT_COMPLETED"/>
453            </intent-filter>
454        </receiver>
455
456        <!-- CDMA Emergency Callback Mode -->
457        <service android:name="EmergencyCallbackModeService">
458        </service>
459
460        <!-- service to dump telephony information -->
461        <service android:name="TelephonyDebugService" />
462
463        <activity android:name="EmergencyCallbackModeExitDialog"
464            android:excludeFromRecents="true"
465            android:label="@string/ecm_exit_dialog"
466            android:launchMode="singleTop"
467            android:theme="@android:style/Theme.Translucent.NoTitleBar">
468            <intent-filter>
469                <action android:name="com.android.phone.action.ACTION_SHOW_ECM_EXIT_DIALOG" />
470                <action android:name="android.intent.action.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS" />
471                <category android:name="android.intent.category.DEFAULT" />
472            </intent-filter>
473        </activity>
474
475        <receiver android:name="SipBroadcastReceiver">
476            <intent-filter>
477                <action android:name="com.android.phone.SIP_INCOMING_CALL" />
478                <action android:name="com.android.phone.SIP_ADD_PHONE" />
479                <action android:name="com.android.phone.SIP_REMOVE_PHONE" />
480                <action android:name="android.net.sip.SIP_SERVICE_UP" />
481            </intent-filter>
482        </receiver>
483
484        <activity android:label="Sip Settings"
485                  android:name=".sip.SipSettings"
486                  android:theme="@android:style/Theme.Holo.DialogWhenLarge"
487                  android:launchMode="singleTop"
488                  android:configChanges="orientation|screenSize|keyboardHidden"
489                  android:uiOptions="splitActionBarWhenNarrow">
490            <intent-filter>
491                <action android:name="android.intent.action.MAIN" />
492                <action android:name="android.net.sip.NOTIFY" />
493            </intent-filter>
494        </activity>
495        <activity android:name=".sip.SipEditor"
496                android:theme="@android:style/Theme.Holo.DialogWhenLarge"
497                android:configChanges="orientation|screenSize|keyboardHidden"
498                android:uiOptions="splitActionBarWhenNarrow">
499        </activity>
500        <activity android:name=".SipCallOptionHandler"
501                android:theme="@style/SipCallOptionHandlerTheme"
502                android:screenOrientation="nosensor"
503                android:configChanges="orientation|screenSize|keyboardHidden">
504        </activity>
505
506        <activity android:name="RespondViaSmsManager$Settings"
507                android:label="@string/respond_via_sms_setting_title"
508                android:configChanges="orientation|screenSize|keyboardHidden"
509                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
510            <intent-filter>
511                <action android:name="android.intent.action.MAIN" />
512            </intent-filter>
513        </activity>
514
515        <receiver android:name="CallerInfoCacheUpdateReceiver">
516            <intent-filter>
517                <action android:name="com.android.phone.UPDATE_CALLER_INFO_CACHE" />
518            </intent-filter>
519        </receiver>
520
521        <!-- BroadcastReceiver for receiving Intents from Notification mechanism. -->
522        <receiver android:name="PhoneGlobals$NotificationBroadcastReceiver" exported="false">
523            <intent-filter>
524                <action android:name="com.android.phone.ACTION_HANG_UP_ONGOING_CALL" />
525                <action android:name="com.android.phone.ACTION_CALL_BACK_FROM_NOTIFICATION" />
526                <action android:name="com.android.phone.ACTION_SEND_SMS_FROM_NOTIFICATION" />
527            </intent-filter>
528        </receiver>
529
530    </application>
531</manifest>
532