1<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2        package="com.android.providers.contacts"
3        android:sharedUserId="android.uid.shared"
4        android:sharedUserLabel="@string/sharedUserLabel">
5
6    <uses-permission android:name="android.permission.READ_CONTACTS" />
7    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
8    <uses-permission android:name="android.permission.READ_PROFILE" />
9    <uses-permission android:name="android.permission.WRITE_PROFILE" />
10    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
11    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
12    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
13    <uses-permission android:name="android.permission.BIND_DIRECTORY_SEARCH" />
14    <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
15    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
16    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
17    <uses-permission android:name="android.permission.MANAGE_USERS" />
18    <uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL" />
19    <uses-permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL" />
20    <uses-permission android:name="com.android.voicemail.permission.READ_VOICEMAIL" />
21
22    <application android:process="android.process.acore"
23        android:label="@string/app_label"
24        android:icon="@drawable/app_icon"
25        android:allowBackup="false">
26
27        <provider android:name="ContactsProvider2"
28            android:authorities="contacts;com.android.contacts"
29            android:label="@string/provider_label"
30            android:multiprocess="false"
31            android:exported="true"
32            android:readPermission="android.permission.READ_CONTACTS"
33            android:writePermission="android.permission.WRITE_CONTACTS">
34            <path-permission
35                    android:pathPrefix="/search_suggest_query"
36                    android:readPermission="android.permission.GLOBAL_SEARCH" />
37            <path-permission
38                    android:pathPrefix="/search_suggest_shortcut"
39                    android:readPermission="android.permission.GLOBAL_SEARCH" />
40            <path-permission
41                    android:pathPattern="/contacts/.*/photo"
42                    android:readPermission="android.permission.GLOBAL_SEARCH" />
43            <grant-uri-permission android:pathPattern=".*" />
44        </provider>
45
46        <provider android:name="CallLogProvider"
47            android:authorities="call_log"
48            android:syncable="false" android:multiprocess="false"
49            android:exported="true"
50            android:readPermission="android.permission.READ_CALL_LOG"
51            android:writePermission="android.permission.WRITE_CALL_LOG">
52        </provider>
53
54        <provider android:name="VoicemailContentProvider"
55            android:authorities="com.android.voicemail"
56            android:syncable="false" android:multiprocess="false"
57            android:exported="true"
58            android:permission="com.android.voicemail.permission.ADD_VOICEMAIL">
59        </provider>
60
61        <!-- Handles database upgrades after OTAs, then disables itself -->
62        <receiver android:name="ContactsUpgradeReceiver">
63            <!-- This broadcast is sent after the core system has finished
64                 booting, before the home app is launched or BOOT_COMPLETED
65                 is sent. -->
66            <intent-filter>
67                <action android:name="android.intent.action.PRE_BOOT_COMPLETED"/>
68            </intent-filter>
69        </receiver>
70
71        <receiver android:name="PackageIntentReceiver">
72            <intent-filter>
73                <action android:name="android.intent.action.PACKAGE_ADDED" />
74                <data android:scheme="package" />
75            </intent-filter>
76            <intent-filter>
77                <action android:name="android.intent.action.PACKAGE_REPLACED" />
78                <data android:scheme="package" />
79            </intent-filter>
80            <intent-filter>
81                <action android:name="android.intent.action.PACKAGE_REMOVED" />
82                <data android:scheme="package" />
83            </intent-filter>
84            <intent-filter>
85                <action android:name="android.intent.action.PACKAGE_CHANGED" />
86                <data android:scheme="package" />
87            </intent-filter>
88        </receiver>
89
90        <receiver android:name="LocaleChangeReceiver">
91            <intent-filter>
92                <action android:name="android.intent.action.LOCALE_CHANGED"/>
93            </intent-filter>
94        </receiver>
95
96        <service android:name="VoicemailCleanupService"/>
97
98        <activity android:name=".debug.ContactsDumpActivity"
99                android:label="@string/debug_dump_title"
100                android:theme="@android:style/Theme.Holo.Dialog"
101                >
102            <intent-filter>
103                <action android:name="com.android.providers.contacts.DUMP_DATABASE"/>
104                <category android:name="android.intent.category.DEFAULT"/>
105            </intent-filter>
106        </activity>
107
108        <provider android:name=".debug.DumpFileProvider"
109            android:authorities="com.android.contacts.dumpfile"
110            android:exported="true">
111        </provider>
112
113    </application>
114</manifest>
115