• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (C) 2006 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    package="com.android.contacts"
19    android:sharedUserId="android.uid.shared">
20
21    <original-package android:name="com.android.contacts" />
22
23    <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
24    <uses-permission android:name="android.permission.READ_CONTACTS" />
25    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
26    <uses-permission android:name="android.permission.READ_CALL_LOG" />
27    <uses-permission android:name="android.permission.WRITE_CALL_LOG" />
28    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
29    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
30    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
31    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
32    <uses-permission android:name="android.permission.READ_PROFILE" />
33    <uses-permission android:name="android.permission.WRITE_PROFILE" />
34    <uses-permission android:name="android.permission.READ_SOCIAL_STREAM" />
35    <uses-permission android:name="android.permission.INTERNET" />
36    <uses-permission android:name="android.permission.NFC" />
37    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
38    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
39    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
40    <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.mail" />
41    <uses-permission android:name="android.permission.WAKE_LOCK" />
42    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
43    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
44    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
45    <uses-permission android:name="android.permission.VIBRATE" />
46    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
47    <uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL" />
48    <uses-permission android:name="com.android.voicemail.permission.READ_WRITE_ALL_VOICEMAIL" />
49    <uses-permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK" />
50    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
51    <!-- allow broadcasting secret code intents that reboot the phone -->
52    <uses-permission android:name="android.permission.REBOOT" />
53    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
54
55    <application
56        android:name="com.android.contacts.ContactsApplication"
57        android:label="@string/contactsList"
58        android:icon="@mipmap/ic_launcher_contacts"
59        android:taskAffinity="android.task.contacts"
60        android:hardwareAccelerated="true"
61    >
62
63        <!-- Intercept Dialer Intents for devices without a phone.
64        This activity should have the same intent filters as the DialtactsActivity,
65        so that its capturing the same events. Omit android.intent.category.LAUNCHER, because we
66        don't want this to show up in the Launcher. The priorities of the intent-filters
67        are set lower, so that the user does not see a disambig dialog -->
68        <activity
69            android:name=".activities.NonPhoneActivity"
70            android:theme="@style/NonPhoneActivityTheme"
71        >
72            <intent-filter android:priority="-1">
73                <action android:name="android.intent.action.DIAL" />
74                <category android:name="android.intent.category.DEFAULT" />
75                <category android:name="android.intent.category.BROWSABLE" />
76                <data android:mimeType="vnd.android.cursor.item/phone" />
77                <data android:mimeType="vnd.android.cursor.item/person" />
78            </intent-filter>
79            <intent-filter android:priority="-1">
80                <action android:name="android.intent.action.DIAL" />
81                <category android:name="android.intent.category.DEFAULT" />
82                <category android:name="android.intent.category.BROWSABLE" />
83                <data android:scheme="voicemail" />
84            </intent-filter>
85            <intent-filter android:priority="-1">
86                <action android:name="android.intent.action.DIAL" />
87                <category android:name="android.intent.category.DEFAULT" />
88            </intent-filter>
89            <intent-filter android:priority="-1">
90                <action android:name="android.intent.action.MAIN" />
91                <category android:name="android.intent.category.DEFAULT" />
92                <category android:name="android.intent.category.BROWSABLE" />
93            </intent-filter>
94            <intent-filter android:priority="-1">
95                <action android:name="android.intent.action.VIEW" />
96                <action android:name="android.intent.action.DIAL" />
97                <category android:name="android.intent.category.DEFAULT" />
98                <category android:name="android.intent.category.BROWSABLE" />
99                <data android:scheme="tel" />
100            </intent-filter>
101            <intent-filter android:priority="-1">
102                <action android:name="android.intent.action.VIEW" />
103                <category android:name="android.intent.category.DEFAULT" />
104                <category android:name="android.intent.category.BROWSABLE" />
105                <data android:mimeType="vnd.android.cursor.dir/calls" />
106            </intent-filter>
107            <intent-filter android:priority="-1">
108                <action android:name="android.intent.action.CALL_BUTTON" />
109                <category android:name="android.intent.category.DEFAULT" />
110                <category android:name="android.intent.category.BROWSABLE" />
111            </intent-filter>
112        </activity>
113
114        <!-- The entrance point for Phone UI.
115             stateAlwaysHidden is set to suppress keyboard show up on
116             dialpad screen. -->
117        <activity android:name=".activities.DialtactsActivity"
118            android:label="@string/launcherDialer"
119            android:theme="@style/DialtactsTheme"
120            android:uiOptions="splitActionBarWhenNarrow"
121            android:launchMode="singleTask"
122            android:clearTaskOnLaunch="true"
123            android:icon="@mipmap/ic_launcher_phone"
124            android:screenOrientation="portrait"
125            android:enabled="@*android:bool/config_voice_capable"
126            android:taskAffinity="android.task.contacts.phone"
127            android:windowSoftInputMode="stateAlwaysHidden|adjustNothing">
128            <intent-filter>
129                <action android:name="android.intent.action.DIAL" />
130                <category android:name="android.intent.category.DEFAULT" />
131                <category android:name="android.intent.category.BROWSABLE" />
132                <data android:mimeType="vnd.android.cursor.item/phone" />
133                <data android:mimeType="vnd.android.cursor.item/person" />
134            </intent-filter>
135            <intent-filter>
136                <action android:name="android.intent.action.DIAL" />
137                <category android:name="android.intent.category.DEFAULT" />
138                <category android:name="android.intent.category.BROWSABLE" />
139                <data android:scheme="voicemail" />
140            </intent-filter>
141            <intent-filter>
142                <action android:name="android.intent.action.DIAL" />
143                <category android:name="android.intent.category.DEFAULT" />
144            </intent-filter>
145            <intent-filter>
146                <action android:name="android.intent.action.MAIN" />
147                <category android:name="android.intent.category.DEFAULT" />
148                <category android:name="android.intent.category.LAUNCHER" />
149                <category android:name="android.intent.category.BROWSABLE" />
150            </intent-filter>
151            <intent-filter>
152                <action android:name="android.intent.action.VIEW" />
153                <action android:name="android.intent.action.DIAL" />
154                <category android:name="android.intent.category.DEFAULT" />
155                <category android:name="android.intent.category.BROWSABLE" />
156                <data android:scheme="tel" />
157            </intent-filter>
158            <intent-filter>
159                <action android:name="android.intent.action.VIEW" />
160                <category android:name="android.intent.category.DEFAULT" />
161                <category android:name="android.intent.category.BROWSABLE" />
162                <data android:mimeType="vnd.android.cursor.dir/calls" />
163            </intent-filter>
164            <intent-filter>
165                <action android:name="android.intent.action.CALL_BUTTON" />
166                <category android:name="android.intent.category.DEFAULT" />
167                <category android:name="android.intent.category.BROWSABLE" />
168            </intent-filter>
169            <!-- This was never intended to be public, but is here for backward
170                 compatibility.  Use Intent.ACTION_DIAL instead. -->
171            <intent-filter>
172                <action android:name="com.android.phone.action.TOUCH_DIALER" />
173                <category android:name="android.intent.category.DEFAULT" />
174                <category android:name="android.intent.category.TAB" />
175            </intent-filter>
176            <intent-filter android:label="@string/recentCallsIconLabel">
177                <action android:name="com.android.phone.action.RECENT_CALLS" />
178                <category android:name="android.intent.category.DEFAULT" />
179                <category android:name="android.intent.category.TAB" />
180            </intent-filter>
181        </activity>
182
183        <!-- The main Contacts activity with the contact list, favorites, and groups. -->
184        <activity android:name=".activities.PeopleActivity"
185            android:label="@string/people"
186            android:theme="@style/PeopleTheme"
187            android:uiOptions="splitActionBarWhenNarrow"
188            android:clearTaskOnLaunch="true"
189            android:launchMode="singleTop"
190        >
191            <intent-filter>
192                <action android:name="android.intent.action.MAIN" />
193                <category android:name="android.intent.category.DEFAULT" />
194                <category android:name="android.intent.category.LAUNCHER" />
195                <category android:name="android.intent.category.BROWSABLE" />
196                <category android:name="android.intent.category.APP_CONTACTS" />
197            </intent-filter>
198            <intent-filter>
199                <action android:name="com.android.contacts.action.LIST_DEFAULT" />
200                <category android:name="android.intent.category.DEFAULT" />
201                <category android:name="android.intent.category.TAB" />
202            </intent-filter>
203
204            <intent-filter>
205                <action android:name="com.android.contacts.action.LIST_CONTACTS" />
206                <category android:name="android.intent.category.DEFAULT" />
207                <category android:name="android.intent.category.TAB" />
208            </intent-filter>
209
210            <intent-filter>
211                <action android:name="com.android.contacts.action.LIST_ALL_CONTACTS" />
212                <category android:name="android.intent.category.DEFAULT" />
213                <category android:name="android.intent.category.TAB" />
214            </intent-filter>
215
216            <intent-filter>
217                <action android:name="com.android.contacts.action.LIST_CONTACTS_WITH_PHONES" />
218                <category android:name="android.intent.category.DEFAULT" />
219                <category android:name="android.intent.category.TAB" />
220            </intent-filter>
221
222            <intent-filter android:label="@string/starredList">
223                <action android:name="com.android.contacts.action.LIST_STARRED" />
224                <category android:name="android.intent.category.DEFAULT" />
225                <category android:name="android.intent.category.TAB" />
226            </intent-filter>
227
228            <intent-filter android:label="@string/frequentList">
229                <action android:name="com.android.contacts.action.LIST_FREQUENT" />
230                <category android:name="android.intent.category.DEFAULT" />
231                <category android:name="android.intent.category.TAB" />
232            </intent-filter>
233
234            <intent-filter android:label="@string/strequentList">
235                <action android:name="com.android.contacts.action.LIST_STREQUENT" />
236                <category android:name="android.intent.category.DEFAULT" />
237                <category android:name="android.intent.category.TAB" />
238            </intent-filter>
239
240            <intent-filter>
241                <action android:name="android.intent.action.SEARCH" />
242                <category android:name="android.intent.category.DEFAULT" />
243                <data android:mimeType="vnd.android.cursor.dir/contact" />
244            </intent-filter>
245
246            <intent-filter>
247                <action android:name="android.intent.action.SEARCH" />
248                <category android:name="android.intent.category.DEFAULT" />
249            </intent-filter>
250
251            <intent-filter>
252                <action android:name="com.android.contacts.action.FILTER_CONTACTS" />
253                <category android:name="android.intent.category.DEFAULT" />
254                <data android:mimeType="vnd.android.cursor.dir/contact" />
255            </intent-filter>
256
257            <intent-filter>
258                <action android:name="android.intent.action.VIEW" />
259                <category android:name="android.intent.category.DEFAULT" />
260                <data android:mimeType="vnd.android.cursor.dir/person" />
261                <data android:mimeType="vnd.android.cursor.dir/contact" />
262            </intent-filter>
263
264            <meta-data android:name="android.app.searchable"
265                android:resource="@xml/searchable"
266            />
267        </activity>
268
269        <activity android:name=".activities.ContactSelectionActivity"
270            android:label="@string/contactsList"
271            android:theme="@style/ContactPickerTheme"
272            android:launchMode="singleTop"
273            android:clearTaskOnLaunch="true"
274            android:uiOptions="splitActionBarWhenNarrow">
275            <intent-filter>
276                <action android:name="android.intent.action.INSERT_OR_EDIT" />
277                <category android:name="android.intent.category.DEFAULT" />
278                <data android:mimeType="vnd.android.cursor.item/person" />
279                <data android:mimeType="vnd.android.cursor.item/contact" />
280                <data android:mimeType="vnd.android.cursor.item/raw_contact" />
281            </intent-filter>
282
283            <intent-filter>
284                <action android:name="android.intent.action.PICK" />
285                <category android:name="android.intent.category.DEFAULT" />
286                <data android:mimeType="vnd.android.cursor.dir/contact" />
287                <data android:mimeType="vnd.android.cursor.dir/person" />
288                <data android:mimeType="vnd.android.cursor.dir/phone_v2" />
289                <data android:mimeType="vnd.android.cursor.dir/phone" />
290                <data android:mimeType="vnd.android.cursor.dir/postal-address_v2" />
291                <data android:mimeType="vnd.android.cursor.dir/postal-address" />
292                <data android:mimeType="vnd.android.cursor.dir/email_v2" />
293            </intent-filter>
294
295            <intent-filter>
296                <action android:name="android.intent.action.GET_CONTENT" />
297                <category android:name="android.intent.category.DEFAULT" />
298                <data android:mimeType="vnd.android.cursor.item/contact" />
299                <data android:mimeType="vnd.android.cursor.item/person" />
300                <data android:mimeType="vnd.android.cursor.item/phone_v2" />
301                <data android:mimeType="vnd.android.cursor.item/phone" />
302                <data android:mimeType="vnd.android.cursor.item/postal-address_v2" />
303                <data android:mimeType="vnd.android.cursor.item/postal-address" />
304            </intent-filter>
305        </activity>
306
307        <!-- Backwards compatibility: somebody may have hard coded this activity name -->
308        <activity-alias android:name="ContactsListActivity"
309            android:targetActivity=".activities.PeopleActivity"
310        />
311
312        <!-- Backwards compatibility: "Contacts" from Honeycomb -->
313        <activity-alias android:name=".activities.ContactsFrontDoor"
314            android:targetActivity=".activities.PeopleActivity"
315            android:exported="true"
316        />
317
318        <!-- Backwards compatibility: "Contacts" from Gingerbread and earlier -->
319        <activity-alias android:name="DialtactsContactsEntryActivity"
320            android:targetActivity=".activities.PeopleActivity"
321            android:exported="true"
322        />
323
324        <!-- Backwards compatibility: "Phone" from Gingerbread and earlier -->
325        <activity-alias android:name="DialtactsActivity"
326            android:targetActivity=".activities.DialtactsActivity"
327            android:exported="true"
328        />
329
330        <!-- Backwards compatibility: "Call log" from Gingerbread and earlier -->
331        <activity-alias android:name="RecentCallsListActivity"
332            android:targetActivity=".activities.DialtactsActivity"
333            android:exported="true"
334        />
335
336        <!-- Backwards compatibility: "Call log" from ICS -->
337        <activity-alias android:name=".activities.CallLogActivity"
338            android:targetActivity=".activities.DialtactsActivity"
339            android:exported="true"
340        />
341
342        <!-- An activity for joining contacts -->
343        <activity android:name=".activities.JoinContactActivity"
344            android:theme="@style/JoinContactActivityTheme"
345            android:clearTaskOnLaunch="true"
346        >
347            <intent-filter>
348                <action android:name="com.android.contacts.action.JOIN_CONTACT" />
349                <category android:name="android.intent.category.DEFAULT" />
350            </intent-filter>
351        </activity>
352
353        <!-- Used to set options -->
354        <activity
355            android:name=".preference.ContactsPreferenceActivity"
356            android:label="@string/activity_title_settings"
357            android:theme="@style/ContactsPreferencesTheme" />
358
359        <!-- Used to filter contacts list by account -->
360        <activity
361            android:name=".list.AccountFilterActivity"
362            android:label="@string/activity_title_contacts_filter"
363            android:theme="@style/ContactListFilterTheme" />
364
365        <!-- Used to select display and sync groups -->
366        <activity
367            android:name=".list.CustomContactListFilterActivity"
368            android:label="@string/custom_list_filter"
369            android:theme="@style/ContactListFilterTheme" />
370
371        <activity
372            android:name=".activities.ShowOrCreateActivity"
373            android:theme="@android:style/Theme.Translucent.NoTitleBar">
374
375            <intent-filter>
376                <action android:name="com.android.contacts.action.SHOW_OR_CREATE_CONTACT" />
377                <category android:name="android.intent.category.DEFAULT" />
378                <data android:scheme="mailto" />
379                <data android:scheme="tel" />
380            </intent-filter>
381        </activity>
382
383        <!-- List of groups -->
384        <activity android:name=".activities.GroupBrowserActivity"
385            android:label="@string/contactsGroupsLabel"
386            android:theme="@style/PeopleTheme"
387            android:uiOptions="splitActionBarWhenNarrow"
388            android:launchMode="singleTop"
389            android:clearTaskOnLaunch="true"/>
390
391        <!-- Views the details of a single group -->
392        <activity android:name=".activities.GroupDetailActivity"
393            android:label=""
394            android:theme="@style/DetailActivityTheme"/>
395
396        <!-- Create a new or edit an existing group -->
397        <activity
398            android:name=".activities.GroupEditorActivity"
399            android:theme="@style/EditorActivityTheme"
400            android:windowSoftInputMode="adjustResize" />
401
402        <!-- Used to show QuickContact window over a translucent activity, which is a
403             temporary hack until we add better framework support. -->
404        <activity
405            android:name=".quickcontact.QuickContactActivity"
406            android:theme="@style/Theme.QuickContact"
407            android:launchMode="singleTop"
408            android:excludeFromRecents="true"
409            android:noHistory="true"
410            android:taskAffinity=""
411            android:windowSoftInputMode="stateUnchanged">
412
413            <intent-filter>
414                <action android:name="com.android.contacts.action.QUICK_CONTACT" />
415                <category android:name="android.intent.category.DEFAULT" />
416                <data android:mimeType="vnd.android.cursor.item/contact" />
417                <data android:mimeType="vnd.android.cursor.item/person" />
418            </intent-filter>
419        </activity>
420
421        <receiver
422            android:name=".quickcontact.QuickContactBroadcastReceiver"
423            android:exported="false" />
424
425        <activity-alias android:name="ContactShortcut"
426            android:targetActivity=".activities.ContactSelectionActivity"
427            android:label="@string/shortcutContact"
428            android:icon="@mipmap/ic_launcher_shortcut_contact">
429
430            <intent-filter>
431                <action android:name="android.intent.action.CREATE_SHORTCUT" />
432                <category android:name="android.intent.category.DEFAULT" />
433            </intent-filter>
434
435        </activity-alias>
436
437        <activity-alias android:name="alias.DialShortcut"
438            android:targetActivity=".activities.ContactSelectionActivity"
439            android:label="@string/shortcutDialContact"
440            android:icon="@mipmap/ic_launcher_shortcut_directdial"
441            android:enabled="@*android:bool/config_voice_capable">
442
443            <intent-filter>
444                <action android:name="android.intent.action.CREATE_SHORTCUT" />
445                <category android:name="android.intent.category.DEFAULT" />
446                <category android:name="android.intent.category.CAR_MODE" />
447            </intent-filter>
448
449        </activity-alias>
450
451        <activity-alias android:name="alias.MessageShortcut"
452            android:targetActivity=".activities.ContactSelectionActivity"
453            android:label="@string/shortcutMessageContact"
454            android:icon="@mipmap/ic_launcher_shortcut_directmessage"
455            android:enabled="@*android:bool/config_voice_capable">
456
457            <intent-filter>
458                <action android:name="android.intent.action.CREATE_SHORTCUT" />
459                <category android:name="android.intent.category.DEFAULT" />
460            </intent-filter>
461
462        </activity-alias>
463
464        <activity android:name="CallDetailActivity"
465            android:label="@string/callDetailTitle"
466            android:theme="@style/CallDetailActivityTheme"
467            android:screenOrientation="nosensor"
468            android:icon="@mipmap/ic_launcher_phone"
469            android:taskAffinity="android.task.contacts.phone"
470        >
471            <intent-filter>
472                <action android:name="android.intent.action.VIEW" />
473                <category android:name="android.intent.category.DEFAULT" />
474                <data android:mimeType="vnd.android.cursor.item/calls" />
475            </intent-filter>
476        </activity>
477
478        <!-- Views the details of a single contact -->
479        <activity android:name=".activities.ContactDetailActivity"
480            android:label="@string/viewContactTitle"
481            android:theme="@style/DetailActivityTheme"
482            android:parentActivityName=".activities.PeopleActivity">
483
484            <intent-filter android:label="@string/viewContactDesription">
485                <action android:name="android.intent.action.VIEW" />
486                <category android:name="android.intent.category.DEFAULT" />
487                <data android:mimeType="vnd.android.cursor.item/person" />
488                <data android:mimeType="vnd.android.cursor.item/contact" />
489                <data android:mimeType="vnd.android.cursor.item/raw_contact" />
490            </intent-filter>
491        </activity>
492
493        <!-- Confirm that a single detail will be added to an existing contact -->
494        <activity
495            android:name=".activities.ConfirmAddDetailActivity"
496            android:label="@string/activity_title_confirm_add_detail"
497            android:theme="@style/ConfirmAddDetailDialogTheme"
498            android:windowSoftInputMode="adjustResize"
499            android:exported="false"/>
500
501        <!-- Accounts changed prompt that can appear when creating a new contact. -->
502        <activity
503            android:name=".activities.ContactEditorAccountsChangedActivity"
504            android:theme="@style/ContactEditorAccountsChangedActivityTheme"
505            android:windowSoftInputMode="adjustResize"
506            android:exported="false"/>
507
508        <!-- Create a new or edit an existing contact -->
509        <activity
510            android:name=".activities.ContactEditorActivity"
511            android:theme="@style/EditorActivityTheme"
512            android:windowSoftInputMode="adjustResize">
513
514            <intent-filter android:label="@string/editContactDescription">
515                <action android:name="android.intent.action.EDIT" />
516                <category android:name="android.intent.category.DEFAULT" />
517                <data android:mimeType="vnd.android.cursor.item/person" />
518                <data android:mimeType="vnd.android.cursor.item/contact" />
519                <data android:mimeType="vnd.android.cursor.item/raw_contact" />
520            </intent-filter>
521            <intent-filter android:label="@string/insertContactDescription">
522                <action android:name="android.intent.action.INSERT" />
523                <category android:name="android.intent.category.DEFAULT" />
524                <data android:mimeType="vnd.android.cursor.dir/person" />
525                <data android:mimeType="vnd.android.cursor.dir/contact" />
526                <data android:mimeType="vnd.android.cursor.dir/raw_contact" />
527            </intent-filter>
528        </activity>
529
530        <activity android:name=".test.FragmentTestActivity">
531            <intent-filter>
532                <category android:name="android.intent.category.TEST" />
533            </intent-filter>
534        </activity>
535
536        <!-- Stub service used to keep our process alive long enough for
537             background threads to finish their operations. -->
538        <service
539            android:name=".util.EmptyService"
540            android:exported="false" />
541
542        <!-- Service to save a contact -->
543        <service
544            android:name=".ContactSaveService"
545            android:exported="false" />
546
547        <!-- Attaches a photo to a contact. Started from external applications -->
548        <activity android:name=".activities.AttachPhotoActivity"
549            android:label="@string/attach_photo_dialog_title"
550            android:taskAffinity="">
551            <intent-filter>
552                <action android:name="android.intent.action.ATTACH_DATA" />
553                <data android:mimeType="image/*" />
554                <category android:name="android.intent.category.DEFAULT" />
555            </intent-filter>
556        </activity>
557
558        <!--
559            Internal photo selection activity.  This activity handles all configuration changes by
560            itself.
561        -->
562        <activity android:name=".activities.PhotoSelectionActivity"
563            android:theme="@style/Theme.PhotoSelector"
564            android:launchMode="singleTop"
565            android:windowSoftInputMode="stateUnchanged"
566            android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|screenLayout|fontScale|uiMode|orientation|screenSize|smallestScreenSize"
567            >
568        </activity>
569
570        <!-- Interstitial activity that shows a phone disambig dialog -->
571        <activity android:name="CallContactActivity"
572            android:theme="@android:style/Theme.Translucent">
573        </activity>
574
575        <!-- vCard related -->
576        <activity android:name=".vcard.ImportVCardActivity"
577            android:configChanges="orientation|screenSize|keyboardHidden"
578            android:screenOrientation="nosensor"
579            android:theme="@style/BackgroundOnlyTheme">
580            <intent-filter>
581                <action android:name="android.intent.action.VIEW" />
582                <data android:mimeType="text/directory" />
583                <data android:mimeType="text/vcard" />
584                <data android:mimeType="text/x-vcard" />
585                <category android:name="android.intent.category.DEFAULT" />
586            </intent-filter>
587        </activity>
588
589        <activity android:name=".vcard.NfcImportVCardActivity"
590            android:configChanges="orientation|screenSize|keyboardHidden"
591            android:theme="@style/BackgroundOnlyTheme">
592            <intent-filter>
593                <action android:name="android.nfc.action.NDEF_DISCOVERED" />
594                <data android:mimeType="text/vcard" />
595                <data android:mimeType="text/x-vcard" />
596                <category android:name="android.intent.category.DEFAULT" />
597            </intent-filter>
598        </activity>
599
600        <activity android:name=".vcard.CancelActivity"
601            android:theme="@style/BackgroundOnlyTheme" />
602
603        <activity android:name=".vcard.SelectAccountActivity"
604            android:theme="@style/BackgroundOnlyTheme" />
605
606        <activity android:name=".vcard.ExportVCardActivity"
607            android:theme="@style/BackgroundOnlyTheme" />
608
609        <service
610            android:name=".vcard.VCardService"
611            android:exported="false" />
612
613        <!-- Pinned header list demo -->
614        <activity android:name=".widget.PinnedHeaderListDemoActivity">
615            <intent-filter>
616                <action android:name="android.intent.action.MAIN" />
617                <category android:name="android.intent.category.DEFAULT" />
618            </intent-filter>
619        </activity>
620
621        <!-- The widget that shows details and the social stream of a contact -->
622        <receiver android:name=".socialwidget.SocialWidgetProvider"
623            android:label="@string/social_widget_label" >
624            <intent-filter>
625                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
626            </intent-filter>
627            <meta-data android:name="android.appwidget.provider"
628                    android:resource="@xml/social_widget_info" />
629        </receiver>
630
631        <receiver android:name=".calllog.CallLogReceiver"
632            android:enabled="@*android:bool/config_voice_capable">
633            <intent-filter>
634                <action android:name="android.intent.action.NEW_VOICEMAIL" />
635                <data
636                    android:scheme="content"
637                    android:host="com.android.voicemail"
638                    android:mimeType="vnd.android.cursor.item/voicemail"
639                />
640            </intent-filter>
641            <intent-filter android:priority="100">
642                 <action android:name="android.intent.action.BOOT_COMPLETED"/>
643            </intent-filter>
644        </receiver>
645
646        <activity
647            android:name=".socialwidget.SocialWidgetConfigureActivity"
648            android:theme="@android:style/Theme.Translucent.NoTitleBar" >
649            <intent-filter>
650                <action android:name="android.intent.action.APPWIDGET_PICK" />
651            </intent-filter>
652        </activity>
653
654        <service
655            android:name=".calllog.CallLogNotificationsService"
656            android:exported="false"
657        />
658
659        <!-- Service that is exclusively for the Phone application that sends out a view
660             notification. This service might be removed in future versions of the app  -->
661        <service android:name=".ViewNotificationService"
662            android:permission="android.permission.WRITE_CONTACTS"
663            android:exported="true">
664            <intent-filter>
665                <action android:name="com.android.contacts.VIEW_NOTIFICATION" />
666                <data android:mimeType="vnd.android.cursor.item/contact" />
667            </intent-filter>
668        </service>
669    </application>
670</manifest>
671