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 <uses-permission android:name="android.permission.USE_RESERVED_DISK" /> 19 20 <permission 21 android:name="android.permission.SEND_CALL_LOG_CHANGE" 22 android:label="Broadcast that a change happened to the call log." 23 android:protectionLevel="signature|system"/> 24 25 <application android:process="android.process.acore" 26 android:label="@string/app_label" 27 android:icon="@drawable/app_icon" 28 android:allowBackup="false" 29 android:usesCleartextTraffic="false"> 30 31 <provider android:name="ContactsProvider2" 32 android:authorities="contacts;com.android.contacts" 33 android:label="@string/provider_label" 34 android:multiprocess="false" 35 android:exported="true" 36 android:grantUriPermissions="true" 37 android:readPermission="android.permission.READ_CONTACTS" 38 android:writePermission="android.permission.WRITE_CONTACTS" 39 android:visibleToInstantApps="true"> 40 <path-permission 41 android:pathPrefix="/search_suggest_query" 42 android:readPermission="android.permission.GLOBAL_SEARCH" /> 43 <path-permission 44 android:pathPrefix="/search_suggest_shortcut" 45 android:readPermission="android.permission.GLOBAL_SEARCH" /> 46 <path-permission 47 android:pathPattern="/contacts/.*/photo" 48 android:readPermission="android.permission.GLOBAL_SEARCH" /> 49 <grant-uri-permission android:pathPattern=".*" /> 50 </provider> 51 52 <provider android:name="CallLogProvider" 53 android:authorities="call_log" 54 android:syncable="false" android:multiprocess="false" 55 android:exported="true" 56 android:readPermission="android.permission.READ_CALL_LOG" 57 android:writePermission="android.permission.WRITE_CALL_LOG"> 58 </provider> 59 60 <provider android:name="ShadowCallLogProvider" 61 android:authorities="call_log_shadow" 62 android:syncable="false" android:multiprocess="false" 63 android:exported="true" 64 android:directBootAware="true" 65 android:readPermission="android.permission.MANAGE_USERS" 66 android:writePermission="android.permission.MANAGE_USERS"> 67 </provider> 68 69 <!-- Note: While this provider does not declare a permission explicitly, it enforces that 70 the caller has either ADD_VOICEMAIL or carrier privileges at a minimum to access it. 71 Additional permission checks may be done depending on the operation. --> 72 <provider android:name="VoicemailContentProvider" 73 android:authorities="com.android.voicemail" 74 android:syncable="false" android:multiprocess="false" 75 android:exported="true"> 76 </provider> 77 78 <provider android:name="ContactMetadataProvider" 79 android:authorities="com.android.contacts.metadata" 80 android:multiprocess="false" 81 android:exported="true"> 82 </provider> 83 84 <!-- Handles database upgrades after OTAs, then disables itself --> 85 <receiver android:name="ContactsUpgradeReceiver"> 86 <!-- This broadcast is sent after the core system has finished 87 booting, before the home app is launched or BOOT_COMPLETED 88 is sent. --> 89 <intent-filter> 90 <action android:name="android.intent.action.PRE_BOOT_COMPLETED"/> 91 </intent-filter> 92 </receiver> 93 94 <receiver android:name="PhoneAccountRegistrationReceiver" 95 android:permission="android.permission.BROADCAST_PHONE_ACCOUNT_REGISTRATION"> 96 <!-- Broadcast sent after a phone account is registered in telecom. --> 97 <intent-filter> 98 <action android:name="android.telecom.action.PHONE_ACCOUNT_REGISTERED"/> 99 </intent-filter> 100 </receiver> 101 102 <receiver android:name="LocaleChangeReceiver"> 103 <intent-filter> 104 <action android:name="android.intent.action.LOCALE_CHANGED"/> 105 </intent-filter> 106 </receiver> 107 108 <activity android:name=".debug.ContactsDumpActivity" 109 android:label="@string/debug_dump_title" 110 android:theme="@android:style/Theme.Holo.Dialog" 111 > 112 <intent-filter> 113 <action android:name="com.android.providers.contacts.DUMP_DATABASE"/> 114 <category android:name="android.intent.category.DEFAULT"/> 115 </intent-filter> 116 </activity> 117 118 <provider android:name=".debug.DumpFileProvider" 119 android:authorities="com.android.contacts.dumpfile" 120 android:exported="true"> 121 </provider> 122 123 </application> 124 </manifest> 125