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:versionCode="10734"
20          android:versionName="1.7.34">
21
22    <uses-sdk
23        android:minSdkVersion="34"
24        android:targetSdkVersion="34"/>
25
26    <original-package android:name="com.android.contacts"/>
27
28    <!-- Contacts permission listed first because order determines
29         order that permissions are requested with some OEMs -->
30    <uses-permission android:name="android.permission.READ_CONTACTS"/>
31    <uses-permission android:name="android.permission.READ_CALL_LOG"/>
32    <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
33    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
34    <uses-permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"/>
35    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
36    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
37    <uses-permission android:name="android.permission.CALL_PHONE"/>
38    <uses-permission android:name="android.permission.READ_PROFILE"/>
39    <uses-permission android:name="android.permission.WRITE_PROFILE"/>
40    <uses-permission android:name="android.permission.INTERNET"/>
41    <uses-permission android:name="android.permission.NFC"/>
42    <uses-permission android:name="android.permission.READ_PHONE_NUMBERS"/>
43    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
44    <uses-permission android:name="android.permission.WAKE_LOCK"/>
45    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
46    <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
47    <uses-permission android:name="android.permission.VIBRATE"/>
48    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
49    <uses-permission android:name="android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS"/>
50    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
51    <!-- Following used for Contact metadata syncing -->
52    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
53    <!-- Following used for getting the status of the contacts sync adapter -->
54    <uses-permission android:name="android.permission.READ_SYNC_STATS"/>
55    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
56    <!-- Required in P to run Service.startForeground() -->
57    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
58    <uses-permission android:name="android.permission.HIDE_OVERLAY_WINDOWS" />
59    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
60    <!-- Required in U to run Service.startForeground() under DATA_SYNC type -->
61    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC"/>
62
63    <uses-feature
64        android:name="android.hardware.telephony"
65        android:required="false"/>
66
67    <application
68        android:name="com.android.contacts.ContactsApplication"
69        android:hardwareAccelerated="true"
70        android:icon="@mipmap/ic_contacts_launcher"
71        android:label="@string/applicationLabel"
72        android:supportsRtl="true"
73        android:taskAffinity="android.task.contacts"
74        android:usesCleartextTraffic="false">
75        <!-- The main Contacts activity with the contact list, favorites, and groups. -->
76        <activity
77            android:name=".activities.PeopleActivity"
78            android:alwaysRetainTaskState="true"
79            android:launchMode="singleTop"
80            android:resizeableActivity="true"
81            android:theme="@style/LaunchScreenTheme"
82            android:exported="true"
83            android:visibleToInstantApps="true"
84            >
85            <intent-filter>
86                <action android:name="android.intent.action.MAIN"/>
87
88                <category android:name="android.intent.category.DEFAULT"/>
89                <category android:name="android.intent.category.LAUNCHER"/>
90                <category android:name="android.intent.category.BROWSABLE"/>
91                <category android:name="android.intent.category.APP_CONTACTS"/>
92            </intent-filter>
93            <intent-filter>
94                <action android:name="com.android.contacts.action.LIST_DEFAULT"/>
95
96                <category android:name="android.intent.category.DEFAULT"/>
97                <category android:name="android.intent.category.TAB"/>
98            </intent-filter>
99
100            <intent-filter>
101                <action android:name="com.android.contacts.action.LIST_CONTACTS"/>
102
103                <category android:name="android.intent.category.DEFAULT"/>
104                <category android:name="android.intent.category.TAB"/>
105            </intent-filter>
106
107            <intent-filter>
108                <action android:name="com.android.contacts.action.LIST_ALL_CONTACTS"/>
109
110                <category android:name="android.intent.category.DEFAULT"/>
111                <category android:name="android.intent.category.TAB"/>
112            </intent-filter>
113
114            <intent-filter>
115                <action android:name="com.android.contacts.action.LIST_CONTACTS_WITH_PHONES"/>
116
117                <category android:name="android.intent.category.DEFAULT"/>
118                <category android:name="android.intent.category.TAB"/>
119            </intent-filter>
120
121            <intent-filter>
122                <action android:name="com.android.contacts.action.LIST_STARRED"/>
123
124                <category android:name="android.intent.category.DEFAULT"/>
125                <category android:name="android.intent.category.TAB"/>
126            </intent-filter>
127
128            <intent-filter>
129                <action android:name="com.android.contacts.action.LIST_FREQUENT"/>
130
131                <category android:name="android.intent.category.DEFAULT"/>
132                <category android:name="android.intent.category.TAB"/>
133            </intent-filter>
134
135            <intent-filter>
136                <action android:name="com.android.contacts.action.LIST_STREQUENT"/>
137
138                <category android:name="android.intent.category.DEFAULT"/>
139                <category android:name="android.intent.category.TAB"/>
140            </intent-filter>
141
142            <intent-filter>
143                <action android:name="android.intent.action.SEARCH"/>
144                <category android:name="android.intent.category.DEFAULT"/>
145                <data android:mimeType="vnd.android.cursor.dir/contact"/>
146            </intent-filter>
147
148            <intent-filter>
149                <action android:name="android.intent.action.SEARCH"/>
150                <category android:name="android.intent.category.DEFAULT"/>
151            </intent-filter>
152
153            <intent-filter>
154                <action android:name="android.intent.action.VIEW"/>
155                <category android:name="android.intent.category.DEFAULT"/>
156
157                <data android:mimeType="vnd.android.cursor.dir/person"/>
158                <data android:mimeType="vnd.android.cursor.dir/contact"/>
159                <data android:mimeType="vnd.android.cursor.item/group"/>
160            </intent-filter>
161
162            <intent-filter>
163                <action android:name="android.intent.action.EDIT"/>
164                <category android:name="android.intent.category.DEFAULT"/>
165                <data android:mimeType="vnd.android.cursor.item/group"/>
166            </intent-filter>
167
168            <intent-filter>
169                <action android:name="android.intent.action.INSERT"/>
170                <category android:name="android.intent.category.DEFAULT"/>
171                <data android:mimeType="vnd.android.cursor.dir/group"/>
172            </intent-filter>
173
174            <meta-data
175                android:name="android.app.searchable"
176                android:resource="@xml/searchable"
177                />
178
179            <meta-data
180                android:name="android.app.shortcuts"
181                android:resource="@xml/shortcuts"
182                />
183
184        </activity>
185
186        <activity
187            android:name=".activities.ContactSelectionActivity"
188            android:clearTaskOnLaunch="true"
189            android:launchMode="singleTop"
190            android:theme="@style/ContactPickerTheme"
191            android:uiOptions="splitActionBarWhenNarrow"
192            android:windowSoftInputMode="adjustResize"
193            android:exported="true"
194            android:visibleToInstantApps="true">
195            <meta-data android:name="android.app.shortcuts.new_config"
196                android:value="true" />
197            <intent-filter>
198                <action android:name="android.intent.action.INSERT_OR_EDIT"/>
199                <category android:name="android.intent.category.DEFAULT"/>
200
201                <data android:mimeType="vnd.android.cursor.item/person"/>
202                <data android:mimeType="vnd.android.cursor.item/contact"/>
203                <data android:mimeType="vnd.android.cursor.item/raw_contact"/>
204            </intent-filter>
205
206            <intent-filter>
207                <action android:name="android.intent.action.PICK"/>
208                <category android:name="android.intent.category.DEFAULT"/>
209
210                <data android:mimeType="vnd.android.cursor.dir/contact"/>
211                <data android:mimeType="vnd.android.cursor.dir/person"/>
212                <data android:mimeType="vnd.android.cursor.dir/phone_v2"/>
213                <data android:mimeType="vnd.android.cursor.dir/phone"/>
214                <data android:mimeType="vnd.android.cursor.dir/postal-address_v2"/>
215                <data android:mimeType="vnd.android.cursor.dir/postal-address"/>
216                <data android:mimeType="vnd.android.cursor.dir/email_v2"/>
217                <data android:mimeType="vnd.android.cursor.dir/group"/>
218            </intent-filter>
219
220            <intent-filter>
221                <action android:name="android.intent.action.GET_CONTENT"/>
222                <category android:name="android.intent.category.DEFAULT"/>
223
224                <data android:mimeType="vnd.android.cursor.item/contact"/>
225                <data android:mimeType="vnd.android.cursor.item/person"/>
226                <data android:mimeType="vnd.android.cursor.item/phone_v2"/>
227                <data android:mimeType="vnd.android.cursor.item/phone"/>
228                <data android:mimeType="vnd.android.cursor.item/postal-address_v2"/>
229                <data android:mimeType="vnd.android.cursor.item/postal-address"/>
230            </intent-filter>
231
232            <intent-filter>
233                <action android:name="com.android.contacts.action.JOIN_CONTACT"/>
234                <category android:name="android.intent.category.DEFAULT"/>
235            </intent-filter>
236        </activity>
237
238        <!-- Backwards compatibility: somebody may have hard coded this activity name -->
239        <activity-alias
240            android:name="ContactsListActivity"
241            android:targetActivity=".activities.PeopleActivity"
242            />
243
244        <!-- Backwards compatibility: "Contacts" from Honeycomb -->
245        <activity-alias
246            android:name=".activities.ContactsFrontDoor"
247            android:exported="true"
248            android:targetActivity=".activities.PeopleActivity"
249            />
250
251        <!-- Backwards compatibility: "Contacts" from Gingerbread and earlier -->
252        <activity-alias
253            android:name="DialtactsContactsEntryActivity"
254            android:exported="true"
255            android:targetActivity=".activities.PeopleActivity"
256            />
257
258        <!-- Used to set options -->
259        <activity
260            android:name=".preference.ContactsPreferenceActivity"
261            android:exported="false"
262            android:label="@string/activity_title_settings"
263            android:launchMode="singleTop"
264            android:theme="@style/ContactsPreferencesTheme"/>
265
266        <activity
267            android:name=".preference.SetDefaultAccountActivity"
268            android:exported="true"
269            android:theme="@style/BackgroundOnlyTheme"
270            android:excludeFromRecents="true">
271            <intent-filter>
272                <action android:name="android.provider.action.SET_DEFAULT_ACCOUNT"/>
273                <category android:name="android.intent.category.DEFAULT"/>
274            </intent-filter>
275        </activity>
276
277        <activity
278            android:name=".activities.LicenseActivity"
279            android:exported="true"
280            android:label="@string/activity_title_licenses"
281            android:theme="@style/ContactsPreferencesTheme"/>
282
283        <!-- Used to filter contacts list by account -->
284        <activity
285            android:name=".list.AccountFilterActivity"
286            android:label="@string/activity_title_contacts_filter"
287            android:theme="@style/ContactListFilterTheme"/>
288
289        <!-- Used to select display and sync groups -->
290        <activity
291            android:name=".list.CustomContactListFilterActivity"
292            android:label="@string/custom_list_filter"
293            android:theme="@style/ContactListFilterTheme"/>
294
295        <activity
296            android:name=".activities.RequestPermissionsActivity"
297            android:exported="false"
298            android:theme="@style/PeopleTheme"/>
299
300        <activity
301            android:name=".activities.RequestImportVCardPermissionsActivity"
302            android:exported="false"
303            android:theme="@style/PeopleTheme"/>
304
305        <activity
306            android:name=".activities.ShowOrCreateActivity"
307            android:exported="true"
308            android:theme="@android:style/Theme.Material.Light.Dialog.NoActionBar">
309
310            <intent-filter>
311                <action android:name="com.android.contacts.action.SHOW_OR_CREATE_CONTACT"/>
312                <category android:name="android.intent.category.DEFAULT"/>
313
314                <data android:scheme="mailto"/>
315                <data android:scheme="tel"/>
316            </intent-filter>
317        </activity>
318
319        <activity
320            android:name=".quickcontact.QuickContactActivity"
321            android:excludeFromRecents="true"
322            android:launchMode="singleTop"
323            android:taskAffinity=""
324            android:theme="@style/Theme.QuickContact"
325            android:exported="true"
326            android:windowSoftInputMode="stateUnchanged">
327
328            <intent-filter>
329                <action android:name="com.android.contacts.action.QUICK_CONTACT"/>
330                <action android:name="android.provider.action.QUICK_CONTACT"/>
331
332                <category android:name="android.intent.category.DEFAULT"/>
333
334                <data android:mimeType="vnd.android.cursor.item/contact"/>
335                <data android:mimeType="vnd.android.cursor.item/person"/>
336            </intent-filter>
337
338            <intent-filter>
339                <action android:name="android.intent.action.VIEW"/>
340                <category android:name="android.intent.category.DEFAULT"/>
341
342                <data android:mimeType="vnd.android.cursor.item/person"/>
343                <data android:mimeType="vnd.android.cursor.item/contact"/>
344                <data android:mimeType="vnd.android.cursor.item/raw_contact"/>
345            </intent-filter>
346        </activity>
347
348        <receiver
349            android:name=".quickcontact.QuickContactBroadcastReceiver"
350            android:exported="false"/>
351
352        <!-- Responsible for creating notification channels when boot is completed or when app is
353        re-installed -->
354        <receiver android:name=".interactions.OnBootOrUpgradeReceiver"
355            android:exported="true">
356            <intent-filter>
357                <action android:name="android.intent.action.BOOT_COMPLETED" />
358                <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
359            </intent-filter>
360        </receiver>
361
362        <activity-alias
363            android:name="ContactShortcut"
364            android:icon="@drawable/logo_quick_contacts_color_44in48dp"
365            android:label="@string/shortcutContact"
366            android:exported="true"
367            android:targetActivity=".activities.ContactSelectionActivity">
368
369            <intent-filter>
370                <action android:name="android.intent.action.CREATE_SHORTCUT"/>
371                <category android:name="android.intent.category.DEFAULT"/>
372            </intent-filter>
373
374        </activity-alias>
375
376        <activity-alias
377            android:name="alias.DialShortcut"
378            android:icon="@drawable/logo_quick_contacts_dialer_color_44in48dp"
379            android:label="@string/shortcutDialContact"
380            android:exported="true"
381            android:targetActivity=".activities.ContactSelectionActivity">
382
383            <intent-filter>
384                <action android:name="android.intent.action.CREATE_SHORTCUT"/>
385
386                <category android:name="android.intent.category.DEFAULT"/>
387                <category android:name="android.intent.category.CAR_MODE"/>
388            </intent-filter>
389
390        </activity-alias>
391
392        <activity-alias
393            android:name="alias.MessageShortcut"
394            android:icon="@drawable/logo_quick_contacts_mail_color_44in48dp"
395            android:label="@string/shortcutMessageContact"
396            android:exported="true"
397            android:targetActivity=".activities.ContactSelectionActivity">
398
399            <intent-filter>
400                <action android:name="android.intent.action.CREATE_SHORTCUT"/>
401                <category android:name="android.intent.category.DEFAULT"/>
402            </intent-filter>
403
404        </activity-alias>
405
406        <!-- Accounts changed prompt that can appear when creating a new contact. -->
407        <activity
408            android:name=".activities.ContactEditorAccountsChangedActivity"
409            android:exported="false"
410            android:theme="@style/ContactEditorAccountsChangedActivityTheme"
411            android:windowSoftInputMode="adjustResize"/>
412
413        <!-- Edit or create a contact with only the most important fields displayed initially. -->
414        <activity
415            android:name=".activities.ContactEditorActivity"
416            android:exported="true"
417            android:theme="@style/EditorActivityTheme">
418
419            <intent-filter>
420                <action android:name="android.intent.action.INSERT"/>
421                <category android:name="android.intent.category.DEFAULT"/>
422
423                <data android:mimeType="vnd.android.cursor.dir/person"/>
424                <data android:mimeType="vnd.android.cursor.dir/contact"/>
425                <data android:mimeType="vnd.android.cursor.dir/raw_contact"/>
426            </intent-filter>
427        </activity>
428
429        <!-- Keep support for apps that expect the Compact editor -->
430        <activity-alias
431            android:name="com.android.contacts.activities.CompactContactEditorActivity"
432            android:exported="true"
433            android:targetActivity=".activities.ContactEditorActivity">
434            <intent-filter android:priority="-1">
435                <action android:name="android.intent.action.INSERT"/>
436                <category android:name="android.intent.category.DEFAULT"/>
437
438                <data android:mimeType="vnd.android.cursor.dir/person"/>
439                <data android:mimeType="vnd.android.cursor.dir/contact"/>
440                <data android:mimeType="vnd.android.cursor.dir/raw_contact"/>
441            </intent-filter>
442        </activity-alias>
443
444        <activity
445            android:name=".activities.ContactEditorSpringBoardActivity"
446            android:exported="true"
447            android:theme="@style/TransparentThemeAppCompat">
448
449            <intent-filter>
450                <action android:name="android.intent.action.EDIT"/>
451                <category android:name="android.intent.category.DEFAULT"/>
452
453                <data android:mimeType="vnd.android.cursor.item/person"/>
454                <data android:mimeType="vnd.android.cursor.item/contact"/>
455                <data android:mimeType="vnd.android.cursor.item/raw_contact"/>
456            </intent-filter>
457        </activity>
458
459        <activity android:name=".test.FragmentTestActivity"
460            android:exported="true">
461            <intent-filter>
462                <category android:name="android.intent.category.TEST"/>
463            </intent-filter>
464        </activity>
465
466        <!-- Stub service used to keep our process alive long enough for
467             background threads to finish their operations. -->
468        <service
469            android:name=".util.EmptyService"
470            android:exported="false"/>
471
472        <!-- Service to save a contact -->
473        <service
474            android:name=".ContactSaveService"
475            android:exported="false"/>
476
477        <!-- Service to import contacts from the SIM card -->
478        <service
479            android:name=".SimImportService"
480            android:exported="false"
481            android:foregroundServiceType="shortService" />
482
483        <!-- Attaches a photo to a contact. Started from external applications -->
484        <activity
485            android:name=".activities.AttachPhotoActivity"
486            android:label="@string/attach_photo_dialog_title"
487            android:exported="true"
488            android:taskAffinity="">
489            <intent-filter>
490                <action android:name="android.intent.action.ATTACH_DATA"/>
491                <data android:mimeType="image/*"/>
492                <category android:name="android.intent.category.DEFAULT"/>
493            </intent-filter>
494        </activity>
495
496        <!-- vCard related -->
497        <activity
498            android:name=".vcard.ImportVCardActivity"
499            android:configChanges="orientation|screenSize|keyboardHidden"
500            android:exported="true"
501            android:theme="@style/BackgroundOnlyTheme">
502            <intent-filter>
503                <action android:name="android.intent.action.VIEW"/>
504
505                <data android:mimeType="text/directory"/>
506                <data android:mimeType="text/vcard"/>
507                <data android:mimeType="text/x-vcard"/>
508
509                <category android:name="android.intent.category.DEFAULT"/>
510            </intent-filter>
511        </activity>
512
513        <activity
514            android:name=".vcard.NfcImportVCardActivity"
515            android:permission="android.permission.DISPATCH_NFC_MESSAGE"
516            android:configChanges="orientation|screenSize|keyboardHidden"
517            android:exported="true"
518            android:theme="@style/BackgroundOnlyTheme">
519            <intent-filter>
520                <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
521
522                <data android:mimeType="text/vcard"/>
523                <data android:mimeType="text/x-vcard"/>
524
525                <category android:name="android.intent.category.DEFAULT"/>
526            </intent-filter>
527        </activity>
528
529        <activity
530            android:name=".vcard.CancelActivity"
531            android:theme="@style/BackgroundOnlyTheme"/>
532
533        <activity
534            android:name=".vcard.SelectAccountActivity"
535            android:theme="@style/BackgroundOnlyTheme"/>
536
537        <activity
538            android:name=".vcard.ExportVCardActivity"
539            android:theme="@style/BackgroundOnlyTheme"/>
540
541        <activity
542            android:name=".vcard.ShareVCardActivity"
543            android:theme="@style/BackgroundOnlyTheme"/>
544
545        <activity
546            android:name=".activities.SimImportActivity"
547            android:label="@string/sim_import_title"
548            android:theme="@style/PeopleThemeAppCompat.FullScreenDialog.SimImportActivity"/>
549
550
551        <service
552            android:name=".vcard.VCardService"
553            android:exported="false"
554            android:foregroundServiceType="dataSync"/>
555        <!-- end vCard related -->
556
557        <!-- Intercept Dialer Intents for devices without a phone.
558             This activity should have the same intent filters as the DialtactsActivity,
559             so that its capturing the same events. Omit android.intent.category.LAUNCHER, because
560             we don't want this to show up in the Launcher. The priorities of the intent-filters
561             are set lower, so that the user does not see a disambig dialog -->
562        <activity
563            android:name="com.android.contacts.NonPhoneActivity"
564            android:exported="true"
565            android:theme="@style/NonPhoneActivityTheme">
566            <intent-filter android:priority="-1">
567                <action android:name="android.intent.action.MAIN"/>
568
569                <category android:name="android.intent.category.DEFAULT"/>
570                <category android:name="android.intent.category.BROWSABLE"/>
571            </intent-filter>
572            <intent-filter android:priority="-1">
573                <action android:name="android.intent.action.VIEW"/>
574
575                <category android:name="android.intent.category.DEFAULT"/>
576                <category android:name="android.intent.category.BROWSABLE"/>
577
578                <data android:scheme="tel"/>
579            </intent-filter>
580            <intent-filter android:priority="-1">
581                <action android:name="android.intent.action.VIEW"/>
582
583                <category android:name="android.intent.category.DEFAULT"/>
584                <category android:name="android.intent.category.BROWSABLE"/>
585
586                <data android:mimeType="vnd.android.cursor.dir/calls"/>
587            </intent-filter>
588        </activity>
589
590        <activity
591            android:name="com.android.contacts.dialog.CallSubjectDialog"
592            android:theme="@style/Theme.CallSubjectDialogTheme"
593            android:exported="false"
594            android:windowSoftInputMode="stateVisible|adjustResize">
595            <intent-filter>
596                <action android:name="android.intent.action.VIEW"/>
597            </intent-filter>
598        </activity>
599
600        <!-- Service that is exclusively for the Phone application that sends out a view
601             notification. This service might be removed in future versions of the app.
602
603             This is called explicitly by the phone app via package name and class.
604             (PhoneUtils.sendViewNotificationAsync()).  If this service moves, then phone
605             needs to be changed as well.
606        -->
607        <service
608            android:name=".ViewNotificationService"
609            android:exported="true"
610            android:permission="android.permission.WRITE_CONTACTS">
611            <intent-filter>
612                <action android:name="com.android.contacts.VIEW_NOTIFICATION"/>
613                <data android:mimeType="vnd.android.cursor.item/contact"/>
614            </intent-filter>
615        </service>
616
617        <!-- Service used to run JobScheduler jobs -->
618        <service
619            android:name="com.android.contacts.ContactsJobService"
620            android:permission="android.permission.BIND_JOB_SERVICE"/>
621
622        <provider
623            android:name="androidx.core.content.FileProvider"
624            android:authorities="@string/contacts_file_provider_authority"
625            android:exported="false"
626            android:grantUriPermissions="true">
627            <meta-data
628                android:name="android.support.FILE_PROVIDER_PATHS"
629                android:resource="@xml/file_paths"/>
630        </provider>
631
632        <meta-data
633            android:name="android.nfc.disable_beam_default"
634            android:value="true"/>
635
636        <provider
637            android:name="com.android.contacts.sdn.SdnProvider"
638            android:authorities="@string/contacts_sdn_provider_authority"
639            android:enabled="true"
640            android:exported="true"
641            android:readPermission="android.permission.BIND_DIRECTORY_SEARCH">
642            <meta-data
643                android:name="android.content.ContactDirectory"
644                android:value="true" />
645        </provider>
646
647    </application>
648
649    <!-- Allows the contacts app to see the activities and services needed
650        to detect accounts and show actions in QuickContact. -->
651    <queries>
652        <!-- ContactsProvider2 -->
653        <package android:name="com.android.providers.contacts"/>
654
655        <!-- quickcontact actions and verbs -->
656        <intent>
657            <action android:name="android.intent.action.SENDTO" />
658            <data android:scheme="imto" />
659        </intent>
660        <intent>
661            <action android:name="android.intent.action.SENDTO" />
662            <data android:scheme="xmpp" />
663        </intent>
664        <intent>
665            <action android:name="android.intent.action.SENDTO" />
666            <data android:scheme="mailto" />
667        </intent>
668        <intent>
669            <action android:name="android.intent.action.SENDTO" />
670            <data android:scheme="smsto" />
671        </intent>
672        <intent>
673            <action android:name="android.intent.action.VIEW"/>
674            <data android:scheme="geo"/>
675        </intent>
676        <!-- About card -->
677        <intent>
678            <!-- View CalendarContract Uris -->
679            <action android:name="android.intent.action.VIEW"/>
680            <data android:scheme="content" android:host="com.android.calendar"/>
681        </intent>
682        <intent>
683            <action android:name="android.intent.action.VIEW"/>
684            <data android:scheme="https"/>
685        </intent>
686
687        <!-- Account loading -->
688        <intent>
689            <action android:name="android.accounts.AccountAuthenticator"/>
690        </intent>
691        <intent>
692            <action android:name="android.intent.action.VIEW" />
693            <data android:scheme="content" android:host="com.android.contacts"
694                android:mimeType="vnd.android.cursor.item/*" />
695        </intent>
696
697        <!-- calling -->
698        <package android:name="com.android.dialer"/>
699        <intent>
700            <action android:name="android.intent.action.CALL" />
701            <data android:scheme="tel" />
702        </intent>
703        <intent>
704            <action android:name="android.intent.action.DIAL" />
705            <data android:scheme="tel" />
706        </intent>
707        <intent>
708            <action android:name="android.intent.action.CALL" />
709            <data android:scheme="sip" />
710        </intent>
711        <intent>
712            <action android:name="android.intent.action.DIAL" />
713            <data android:scheme="sip" />
714        </intent>
715        <intent>
716            <action android:name="android.intent.action.CALL" />
717            <data android:scheme="voicemail" />
718        </intent>
719        <intent>
720            <action android:name="android.intent.action.DIAL" />
721            <data android:scheme="voicemail" />
722        </intent>
723
724        <!-- vcard export -->
725        <intent>
726            <action android:name="android.intent.action.CREATE_DOCUMENT" />
727            <data android:mimeType="text/x-vcard" />
728            <category android:name="android.intent.category.OPENABLE" />
729        </intent>
730
731        <!-- edit contact photo -->
732        <intent>
733            <action android:name="android.media.action.IMAGE_CAPTURE" />
734        </intent>
735
736        <intent>
737            <action android:name="com.android.camera.action.CROP" />
738            <data android:mimeType="image/*" />
739        </intent>
740
741    </queries>
742
743</manifest>
744