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.BIND_DIRECTORY_SEARCH" /> 7 <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 8 <uses-permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED" /> 9 <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" /> 10 <uses-permission android:name="android.permission.MANAGE_USERS" /> 11 <uses-permission android:name="android.permission.PROCESS_PHONE_ACCOUNT_REGISTRATION" /> 12 <uses-permission android:name="android.permission.READ_CONTACTS" /> 13 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 14 <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" /> 15 <uses-permission android:name="android.permission.SEND_CALL_LOG_CHANGE" /> 16 <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" /> 17 <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 18 19 <permission 20 android:name="android.permission.SEND_CALL_LOG_CHANGE" 21 android:label="Broadcast that a change happened to the call log." 22 android:protectionLevel="signature|system"/> 23 24 <application android:process="android.process.acore" 25 android:label="@string/app_label" 26 android:icon="@drawable/app_icon" 27 android:allowBackup="false" 28 android:usesCleartextTraffic="false"> 29 30 <provider android:name="ContactsProvider2" 31 android:authorities="contacts;com.android.contacts" 32 android:label="@string/provider_label" 33 android:multiprocess="false" 34 android:exported="true" 35 android:grantUriPermissions="true" 36 android:readPermission="android.permission.READ_CONTACTS" 37 android:writePermission="android.permission.WRITE_CONTACTS"> 38 <path-permission 39 android:pathPrefix="/search_suggest_query" 40 android:readPermission="android.permission.GLOBAL_SEARCH" /> 41 <path-permission 42 android:pathPrefix="/search_suggest_shortcut" 43 android:readPermission="android.permission.GLOBAL_SEARCH" /> 44 <path-permission 45 android:pathPattern="/contacts/.*/photo" 46 android:readPermission="android.permission.GLOBAL_SEARCH" /> 47 <grant-uri-permission android:pathPattern=".*" /> 48 </provider> 49 50 <provider android:name="CallLogProvider" 51 android:authorities="call_log" 52 android:syncable="false" android:multiprocess="false" 53 android:exported="true" 54 android:readPermission="android.permission.READ_CALL_LOG" 55 android:writePermission="android.permission.WRITE_CALL_LOG"> 56 </provider> 57 58 <provider android:name="ShadowCallLogProvider" 59 android:authorities="call_log_shadow" 60 android:syncable="false" android:multiprocess="false" 61 android:exported="true" 62 android:directBootAware="true" 63 android:readPermission="android.permission.MANAGE_USERS" 64 android:writePermission="android.permission.MANAGE_USERS"> 65 </provider> 66 67 <provider android:name="VoicemailContentProvider" 68 android:authorities="com.android.voicemail" 69 android:syncable="false" android:multiprocess="false" 70 android:exported="true" 71 android:permission="com.android.voicemail.permission.ADD_VOICEMAIL"> 72 </provider> 73 74 <provider android:name="ContactMetadataProvider" 75 android:authorities="com.android.contacts.metadata" 76 android:multiprocess="false" 77 android:exported="true"> 78 </provider> 79 80 <!-- Handles database upgrades after OTAs, then disables itself --> 81 <receiver android:name="ContactsUpgradeReceiver"> 82 <!-- This broadcast is sent after the core system has finished 83 booting, before the home app is launched or BOOT_COMPLETED 84 is sent. --> 85 <intent-filter> 86 <action android:name="android.intent.action.PRE_BOOT_COMPLETED"/> 87 </intent-filter> 88 </receiver> 89 90 <receiver android:name="PhoneAccountRegistrationReceiver" 91 android:permission="android.permission.BROADCAST_PHONE_ACCOUNT_REGISTRATION"> 92 <!-- Broadcast sent after a phone account is registered in telecom. --> 93 <intent-filter> 94 <action android:name="android.telecom.action.PHONE_ACCOUNT_REGISTERED"/> 95 </intent-filter> 96 </receiver> 97 98 <receiver android:name="PackageIntentReceiver"> 99 <intent-filter> 100 <action android:name="android.intent.action.PACKAGE_ADDED" /> 101 <data android:scheme="package" /> 102 </intent-filter> 103 <intent-filter> 104 <action android:name="android.intent.action.PACKAGE_REPLACED" /> 105 <data android:scheme="package" /> 106 </intent-filter> 107 <intent-filter> 108 <action android:name="android.intent.action.PACKAGE_REMOVED" /> 109 <data android:scheme="package" /> 110 </intent-filter> 111 <intent-filter> 112 <action android:name="android.intent.action.PACKAGE_CHANGED" /> 113 <data android:scheme="package" /> 114 </intent-filter> 115 </receiver> 116 117 <receiver android:name="LocaleChangeReceiver"> 118 <intent-filter> 119 <action android:name="android.intent.action.LOCALE_CHANGED"/> 120 </intent-filter> 121 </receiver> 122 123 <service android:name="VoicemailCleanupService"/> 124 125 <activity android:name=".debug.ContactsDumpActivity" 126 android:label="@string/debug_dump_title" 127 android:theme="@android:style/Theme.Holo.Dialog" 128 > 129 <intent-filter> 130 <action android:name="com.android.providers.contacts.DUMP_DATABASE"/> 131 <category android:name="android.intent.category.DEFAULT"/> 132 </intent-filter> 133 </activity> 134 135 <provider android:name=".debug.DumpFileProvider" 136 android:authorities="com.android.contacts.dumpfile" 137 android:exported="true"> 138 </provider> 139 140 </application> 141 </manifest> 142