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.dialer" 19 coreApp="true"> 20 21 <uses-permission android:name="android.permission.CALL_PRIVILEGED" /> 22 <uses-permission android:name="android.permission.READ_CONTACTS" /> 23 <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 24 <uses-permission android:name="android.permission.READ_CALL_LOG" /> 25 <uses-permission android:name="android.permission.WRITE_CALL_LOG" /> 26 <uses-permission android:name="android.permission.READ_PROFILE" /> 27 <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> 28 <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 29 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 30 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 31 <uses-permission android:name="android.permission.INTERNET" /> 32 <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> 33 <uses-permission android:name="android.permission.NFC" /> 34 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 35 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 36 <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> 37 <uses-permission android:name="android.permission.WAKE_LOCK" /> 38 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 39 <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 40 <uses-permission android:name="android.permission.USE_CREDENTIALS" /> 41 <uses-permission android:name="android.permission.VIBRATE" /> 42 <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" /> 43 <uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL" /> 44 <uses-permission android:name="com.android.voicemail.permission.READ_WRITE_ALL_VOICEMAIL" /> 45 <uses-permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK" /> 46 <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/> 47 <!-- allow broadcasting secret code intents that reboot the phone --> 48 <uses-permission android:name="android.permission.REBOOT" /> 49 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 50 <!-- This tells the activity manager to not delay any of our activity 51 start requests, even if they happen immediately after the user 52 presses home. --> 53 <uses-permission android:name="android.permission.STOP_APP_SWITCHES" /> 54 55 <application 56 android:name="DialerApplication" 57 android:label="@string/applicationLabel" 58 android:icon="@mipmap/ic_launcher_phone" 59 android:hardwareAccelerated="true" 60 android:supportsRtl="true" 61 android:backupAgent='com.android.dialer.DialerBackupAgent'> 62 63 <meta-data android:name="com.google.android.backup.api_key" 64 android:value="AEdPqrEAAAAIBXgtCEKQ6W0PXVnW-ZVia2KmlV2AxsTw3GjAeQ" /> 65 66 <!-- The entrance point for Phone UI. 67 stateAlwaysHidden is set to suppress keyboard show up on 68 dialpad screen. --> 69 <activity android:name=".DialtactsActivity" 70 android:label="@string/launcherDialer" 71 android:theme="@style/DialtactsThemeHiddenActionBar" 72 android:launchMode="singleTask" 73 android:clearTaskOnLaunch="true" 74 android:icon="@mipmap/ic_launcher_phone" 75 android:screenOrientation="portrait" 76 android:enabled="@*android:bool/config_voice_capable" 77 android:windowSoftInputMode="stateAlwaysHidden|adjustNothing"> 78 <intent-filter> 79 <action android:name="android.intent.action.DIAL" /> 80 <category android:name="android.intent.category.DEFAULT" /> 81 <category android:name="android.intent.category.BROWSABLE" /> 82 <data android:mimeType="vnd.android.cursor.item/phone" /> 83 <data android:mimeType="vnd.android.cursor.item/person" /> 84 </intent-filter> 85 <intent-filter> 86 <action android:name="android.intent.action.DIAL" /> 87 <category android:name="android.intent.category.DEFAULT" /> 88 <category android:name="android.intent.category.BROWSABLE" /> 89 <data android:scheme="voicemail" /> 90 </intent-filter> 91 <intent-filter> 92 <action android:name="android.intent.action.DIAL" /> 93 <category android:name="android.intent.category.DEFAULT" /> 94 </intent-filter> 95 <intent-filter> 96 <action android:name="android.intent.action.MAIN" /> 97 <category android:name="android.intent.category.DEFAULT" /> 98 <category android:name="android.intent.category.LAUNCHER" /> 99 <category android:name="android.intent.category.BROWSABLE" /> 100 </intent-filter> 101 <intent-filter> 102 <action android:name="android.intent.action.VIEW" /> 103 <action android:name="android.intent.action.DIAL" /> 104 <category android:name="android.intent.category.DEFAULT" /> 105 <category android:name="android.intent.category.BROWSABLE" /> 106 <data android:scheme="tel" /> 107 </intent-filter> 108 <intent-filter> 109 <action android:name="android.intent.action.CALL_BUTTON" /> 110 <category android:name="android.intent.category.DEFAULT" /> 111 <category android:name="android.intent.category.BROWSABLE" /> 112 </intent-filter> 113 <!-- This was never intended to be public, but is here for backward 114 compatibility. Use Intent.ACTION_DIAL instead. --> 115 <intent-filter> 116 <action android:name="com.android.phone.action.TOUCH_DIALER" /> 117 <category android:name="android.intent.category.DEFAULT" /> 118 <category android:name="android.intent.category.TAB" /> 119 </intent-filter> 120 <intent-filter android:label="@string/recentCallsIconLabel"> 121 <action android:name="com.android.phone.action.RECENT_CALLS" /> 122 <category android:name="android.intent.category.DEFAULT" /> 123 <category android:name="android.intent.category.TAB" /> 124 </intent-filter> 125 </activity> 126 127 <activity android:name="com.android.dialer.calllog.CallLogActivity" 128 android:label="@string/call_log_activity_title" 129 android:theme="@style/DialtactsThemeWithActionBarOverlay" 130 android:screenOrientation="portrait" 131 android:icon="@mipmap/ic_launcher_phone"> 132 <intent-filter> 133 <action android:name="android.intent.action.VIEW" /> 134 <category android:name="android.intent.category.DEFAULT" /> 135 <category android:name="android.intent.category.BROWSABLE" /> 136 <data android:mimeType="vnd.android.cursor.dir/calls" /> 137 </intent-filter> 138 </activity> 139 140 <activity android:name="com.android.dialer.list.AllContactsActivity" 141 android:label="@string/show_all_contacts_title" 142 android:theme="@style/DialtactsThemeWithActionBarOverlay" 143 android:screenOrientation="portrait"> 144 </activity> 145 146 <activity android:name="com.android.dialer.CallDetailActivity" 147 android:label="@string/callDetailTitle" 148 android:theme="@style/CallDetailActivityTheme" 149 android:screenOrientation="portrait" 150 android:icon="@mipmap/ic_launcher_phone" 151 android:parentActivityName="com.android.dialer.calllog.CallLogActivity" 152 > 153 <intent-filter> 154 <action android:name="android.intent.action.VIEW"/> 155 <category android:name="android.intent.category.DEFAULT"/> 156 <data android:mimeType="vnd.android.cursor.item/calls"/> 157 </intent-filter> 158 </activity> 159 160 <activity android:name="com.android.contacts.common.test.FragmentTestActivity"> 161 <intent-filter> 162 <category android:name="android.intent.category.TEST"/> 163 </intent-filter> 164 </activity> 165 166 <!-- Backwards compatibility: "Phone" from Gingerbread and earlier --> 167 <activity-alias android:name="DialtactsActivity" 168 android:targetActivity=".DialtactsActivity" 169 android:exported="true" 170 /> 171 172 <!-- Backwards compatibility: "Call log" from Gingerbread and earlier --> 173 <activity-alias android:name="RecentCallsListActivity" 174 android:targetActivity=".DialtactsActivity" 175 android:exported="true" 176 /> 177 178 <!-- Backwards compatibility: "Call log" from ICS --> 179 <activity-alias android:name=".activities.CallLogActivity" 180 android:targetActivity=".DialtactsActivity" 181 android:exported="true" 182 /> 183 184 <!-- Used to filter contacts list by account --> 185 <activity 186 android:name="com.android.contacts.common.list.AccountFilterActivity" 187 android:label="@string/activity_title_contacts_filter" 188 android:theme="@style/ContactListFilterTheme"/> 189 190 <!-- Used to select display and sync groups --> 191 <activity 192 android:name="com.android.contacts.common.list.CustomContactListFilterActivity" 193 android:label="@string/custom_list_filter" 194 android:theme="@style/ContactListFilterTheme"/> 195 196 <!-- vCard related --> 197 <activity android:name="com.android.contacts.common.vcard.ImportVCardActivity" 198 android:configChanges="orientation|screenSize|keyboardHidden" 199 android:theme="@style/BackgroundOnlyTheme"> 200 <intent-filter> 201 <action android:name="android.intent.action.VIEW"/> 202 <data android:mimeType="text/directory"/> 203 <data android:mimeType="text/vcard"/> 204 <data android:mimeType="text/x-vcard"/> 205 <category android:name="android.intent.category.DEFAULT"/> 206 </intent-filter> 207 </activity> 208 209 <activity android:name="com.android.contacts.common.vcard.NfcImportVCardActivity" 210 android:configChanges="orientation|screenSize|keyboardHidden" 211 android:theme="@style/BackgroundOnlyTheme"> 212 <intent-filter> 213 <action android:name="android.nfc.action.NDEF_DISCOVERED"/> 214 <data android:mimeType="text/vcard"/> 215 <data android:mimeType="text/x-vcard"/> 216 <category android:name="android.intent.category.DEFAULT"/> 217 </intent-filter> 218 </activity> 219 220 <activity android:name="com.android.contacts.common.vcard.CancelActivity" 221 android:theme="@style/BackgroundOnlyTheme"/> 222 223 <activity android:name="com.android.contacts.common.vcard.SelectAccountActivity" 224 android:theme="@style/BackgroundOnlyTheme"/> 225 226 <activity android:name="com.android.contacts.common.vcard.ExportVCardActivity" 227 android:theme="@style/BackgroundOnlyTheme"/> 228 229 <service 230 android:name="com.android.contacts.common.vcard.VCardService" 231 android:exported="false"/> 232 <!-- end vCard related --> 233 234 <receiver android:name=".calllog.CallLogReceiver" 235 android:enabled="@*android:bool/config_voice_capable"> 236 <intent-filter> 237 <action android:name="android.intent.action.NEW_VOICEMAIL" /> 238 <data 239 android:scheme="content" 240 android:host="com.android.voicemail" 241 android:mimeType="vnd.android.cursor.item/voicemail" 242 /> 243 </intent-filter> 244 <intent-filter android:priority="100"> 245 <action android:name="android.intent.action.BOOT_COMPLETED"/> 246 </intent-filter> 247 </receiver> 248 249 <receiver android:name=".interactions.UndemoteOutgoingCallReceiver"> 250 <intent-filter> 251 <action android:name="android.intent.action.NEW_OUTGOING_CALL" /> 252 </intent-filter> 253 </receiver> 254 255 <service 256 android:name=".calllog.CallLogNotificationsService" 257 android:exported="false" 258 /> 259 260 <!-- Service to update a contact --> 261 <service 262 android:name=".contact.ContactUpdateService" 263 android:exported="false" /> 264 265 <!-- Main in-call UI activity. This is never launched directly 266 from outside the phone app; instead, it's either launched by 267 the OutgoingCallBroadcaster (for outgoing calls), or as the 268 fullScreenIntent of a notification (for incoming calls.) --> 269 <activity android:name="com.android.incallui.InCallActivity" 270 android:theme="@style/Theme.InCallScreen" 271 android:label="@string/phoneAppLabel" 272 android:excludeFromRecents="true" 273 android:launchMode="singleInstance" 274 android:screenOrientation="nosensor" 275 android:configChanges="keyboardHidden" 276 android:exported="false" 277 android:process="com.android.incallui"> 278 </activity> 279 280 <service android:name="com.android.incallui.CallHandlerService" 281 android:process="com.android.incallui" 282 android:permission="android.permission.BIND_CALL_SERVICE"> 283 <intent-filter> 284 <action android:name="com.android.services.telephony.common.ICallHandlerService" /> 285 </intent-filter> 286 </service> 287 288 <!-- BroadcastReceiver for receiving Intents from Notification mechanism. --> 289 <receiver android:name="com.android.incallui.InCallApp$NotificationBroadcastReceiver" 290 android:exported="false" 291 android:process="com.android.incallui"> 292 <intent-filter> 293 <action android:name="com.android.incallui.ACTION_HANG_UP_ONGOING_CALL" /> 294 </intent-filter> 295 </receiver> 296 297 </application> 298 </manifest> 299