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:sharedUserId="android.uid.shared"> 20 21 <original-package android:name="com.android.contacts" /> 22 23 <uses-permission android:name="android.permission.CALL_PRIVILEGED" /> 24 <uses-permission android:name="android.permission.READ_CONTACTS" /> 25 <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 26 <uses-permission android:name="android.permission.READ_CALL_LOG" /> 27 <uses-permission android:name="android.permission.WRITE_CALL_LOG" /> 28 <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> 29 <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 30 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 31 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 32 <uses-permission android:name="android.permission.READ_PROFILE" /> 33 <uses-permission android:name="android.permission.WRITE_PROFILE" /> 34 <uses-permission android:name="android.permission.READ_SOCIAL_STREAM" /> 35 <uses-permission android:name="android.permission.INTERNET" /> 36 <uses-permission android:name="android.permission.NFC" /> 37 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 38 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 39 <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> 40 <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.mail" /> 41 <uses-permission android:name="android.permission.WAKE_LOCK" /> 42 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 43 <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 44 <uses-permission android:name="android.permission.USE_CREDENTIALS" /> 45 <uses-permission android:name="android.permission.VIBRATE" /> 46 <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" /> 47 <uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL" /> 48 <uses-permission android:name="com.android.voicemail.permission.READ_WRITE_ALL_VOICEMAIL" /> 49 <uses-permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK" /> 50 <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/> 51 <!-- allow broadcasting secret code intents that reboot the phone --> 52 <uses-permission android:name="android.permission.REBOOT" /> 53 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 54 55 <application 56 android:name="com.android.contacts.ContactsApplication" 57 android:label="@string/contactsList" 58 android:icon="@mipmap/ic_launcher_contacts" 59 android:taskAffinity="android.task.contacts" 60 android:hardwareAccelerated="true" 61 > 62 63 <!-- Intercept Dialer Intents for devices without a phone. 64 This activity should have the same intent filters as the DialtactsActivity, 65 so that its capturing the same events. Omit android.intent.category.LAUNCHER, because we 66 don't want this to show up in the Launcher. The priorities of the intent-filters 67 are set lower, so that the user does not see a disambig dialog --> 68 <activity 69 android:name=".activities.NonPhoneActivity" 70 android:theme="@style/NonPhoneActivityTheme" 71 > 72 <intent-filter android:priority="-1"> 73 <action android:name="android.intent.action.DIAL" /> 74 <category android:name="android.intent.category.DEFAULT" /> 75 <category android:name="android.intent.category.BROWSABLE" /> 76 <data android:mimeType="vnd.android.cursor.item/phone" /> 77 <data android:mimeType="vnd.android.cursor.item/person" /> 78 </intent-filter> 79 <intent-filter android:priority="-1"> 80 <action android:name="android.intent.action.DIAL" /> 81 <category android:name="android.intent.category.DEFAULT" /> 82 <category android:name="android.intent.category.BROWSABLE" /> 83 <data android:scheme="voicemail" /> 84 </intent-filter> 85 <intent-filter android:priority="-1"> 86 <action android:name="android.intent.action.DIAL" /> 87 <category android:name="android.intent.category.DEFAULT" /> 88 </intent-filter> 89 <intent-filter android:priority="-1"> 90 <action android:name="android.intent.action.MAIN" /> 91 <category android:name="android.intent.category.DEFAULT" /> 92 <category android:name="android.intent.category.BROWSABLE" /> 93 </intent-filter> 94 <intent-filter android:priority="-1"> 95 <action android:name="android.intent.action.VIEW" /> 96 <action android:name="android.intent.action.DIAL" /> 97 <category android:name="android.intent.category.DEFAULT" /> 98 <category android:name="android.intent.category.BROWSABLE" /> 99 <data android:scheme="tel" /> 100 </intent-filter> 101 <intent-filter android:priority="-1"> 102 <action android:name="android.intent.action.VIEW" /> 103 <category android:name="android.intent.category.DEFAULT" /> 104 <category android:name="android.intent.category.BROWSABLE" /> 105 <data android:mimeType="vnd.android.cursor.dir/calls" /> 106 </intent-filter> 107 <intent-filter android:priority="-1"> 108 <action android:name="android.intent.action.CALL_BUTTON" /> 109 <category android:name="android.intent.category.DEFAULT" /> 110 <category android:name="android.intent.category.BROWSABLE" /> 111 </intent-filter> 112 </activity> 113 114 <!-- The entrance point for Phone UI. 115 stateAlwaysHidden is set to suppress keyboard show up on 116 dialpad screen. --> 117 <activity android:name=".activities.DialtactsActivity" 118 android:label="@string/launcherDialer" 119 android:theme="@style/DialtactsTheme" 120 android:uiOptions="splitActionBarWhenNarrow" 121 android:launchMode="singleTask" 122 android:clearTaskOnLaunch="true" 123 android:icon="@mipmap/ic_launcher_phone" 124 android:screenOrientation="portrait" 125 android:enabled="@*android:bool/config_voice_capable" 126 android:taskAffinity="android.task.contacts.phone" 127 android:windowSoftInputMode="stateAlwaysHidden|adjustNothing"> 128 <intent-filter> 129 <action android:name="android.intent.action.DIAL" /> 130 <category android:name="android.intent.category.DEFAULT" /> 131 <category android:name="android.intent.category.BROWSABLE" /> 132 <data android:mimeType="vnd.android.cursor.item/phone" /> 133 <data android:mimeType="vnd.android.cursor.item/person" /> 134 </intent-filter> 135 <intent-filter> 136 <action android:name="android.intent.action.DIAL" /> 137 <category android:name="android.intent.category.DEFAULT" /> 138 <category android:name="android.intent.category.BROWSABLE" /> 139 <data android:scheme="voicemail" /> 140 </intent-filter> 141 <intent-filter> 142 <action android:name="android.intent.action.DIAL" /> 143 <category android:name="android.intent.category.DEFAULT" /> 144 </intent-filter> 145 <intent-filter> 146 <action android:name="android.intent.action.MAIN" /> 147 <category android:name="android.intent.category.DEFAULT" /> 148 <category android:name="android.intent.category.LAUNCHER" /> 149 <category android:name="android.intent.category.BROWSABLE" /> 150 </intent-filter> 151 <intent-filter> 152 <action android:name="android.intent.action.VIEW" /> 153 <action android:name="android.intent.action.DIAL" /> 154 <category android:name="android.intent.category.DEFAULT" /> 155 <category android:name="android.intent.category.BROWSABLE" /> 156 <data android:scheme="tel" /> 157 </intent-filter> 158 <intent-filter> 159 <action android:name="android.intent.action.VIEW" /> 160 <category android:name="android.intent.category.DEFAULT" /> 161 <category android:name="android.intent.category.BROWSABLE" /> 162 <data android:mimeType="vnd.android.cursor.dir/calls" /> 163 </intent-filter> 164 <intent-filter> 165 <action android:name="android.intent.action.CALL_BUTTON" /> 166 <category android:name="android.intent.category.DEFAULT" /> 167 <category android:name="android.intent.category.BROWSABLE" /> 168 </intent-filter> 169 <!-- This was never intended to be public, but is here for backward 170 compatibility. Use Intent.ACTION_DIAL instead. --> 171 <intent-filter> 172 <action android:name="com.android.phone.action.TOUCH_DIALER" /> 173 <category android:name="android.intent.category.DEFAULT" /> 174 <category android:name="android.intent.category.TAB" /> 175 </intent-filter> 176 <intent-filter android:label="@string/recentCallsIconLabel"> 177 <action android:name="com.android.phone.action.RECENT_CALLS" /> 178 <category android:name="android.intent.category.DEFAULT" /> 179 <category android:name="android.intent.category.TAB" /> 180 </intent-filter> 181 </activity> 182 183 <!-- The main Contacts activity with the contact list, favorites, and groups. --> 184 <activity android:name=".activities.PeopleActivity" 185 android:label="@string/people" 186 android:theme="@style/PeopleTheme" 187 android:uiOptions="splitActionBarWhenNarrow" 188 android:clearTaskOnLaunch="true" 189 android:launchMode="singleTop" 190 > 191 <intent-filter> 192 <action android:name="android.intent.action.MAIN" /> 193 <category android:name="android.intent.category.DEFAULT" /> 194 <category android:name="android.intent.category.LAUNCHER" /> 195 <category android:name="android.intent.category.BROWSABLE" /> 196 <category android:name="android.intent.category.APP_CONTACTS" /> 197 </intent-filter> 198 <intent-filter> 199 <action android:name="com.android.contacts.action.LIST_DEFAULT" /> 200 <category android:name="android.intent.category.DEFAULT" /> 201 <category android:name="android.intent.category.TAB" /> 202 </intent-filter> 203 204 <intent-filter> 205 <action android:name="com.android.contacts.action.LIST_CONTACTS" /> 206 <category android:name="android.intent.category.DEFAULT" /> 207 <category android:name="android.intent.category.TAB" /> 208 </intent-filter> 209 210 <intent-filter> 211 <action android:name="com.android.contacts.action.LIST_ALL_CONTACTS" /> 212 <category android:name="android.intent.category.DEFAULT" /> 213 <category android:name="android.intent.category.TAB" /> 214 </intent-filter> 215 216 <intent-filter> 217 <action android:name="com.android.contacts.action.LIST_CONTACTS_WITH_PHONES" /> 218 <category android:name="android.intent.category.DEFAULT" /> 219 <category android:name="android.intent.category.TAB" /> 220 </intent-filter> 221 222 <intent-filter android:label="@string/starredList"> 223 <action android:name="com.android.contacts.action.LIST_STARRED" /> 224 <category android:name="android.intent.category.DEFAULT" /> 225 <category android:name="android.intent.category.TAB" /> 226 </intent-filter> 227 228 <intent-filter android:label="@string/frequentList"> 229 <action android:name="com.android.contacts.action.LIST_FREQUENT" /> 230 <category android:name="android.intent.category.DEFAULT" /> 231 <category android:name="android.intent.category.TAB" /> 232 </intent-filter> 233 234 <intent-filter android:label="@string/strequentList"> 235 <action android:name="com.android.contacts.action.LIST_STREQUENT" /> 236 <category android:name="android.intent.category.DEFAULT" /> 237 <category android:name="android.intent.category.TAB" /> 238 </intent-filter> 239 240 <intent-filter> 241 <action android:name="android.intent.action.SEARCH" /> 242 <category android:name="android.intent.category.DEFAULT" /> 243 <data android:mimeType="vnd.android.cursor.dir/contact" /> 244 </intent-filter> 245 246 <intent-filter> 247 <action android:name="android.intent.action.SEARCH" /> 248 <category android:name="android.intent.category.DEFAULT" /> 249 </intent-filter> 250 251 <intent-filter> 252 <action android:name="com.android.contacts.action.FILTER_CONTACTS" /> 253 <category android:name="android.intent.category.DEFAULT" /> 254 <data android:mimeType="vnd.android.cursor.dir/contact" /> 255 </intent-filter> 256 257 <intent-filter> 258 <action android:name="android.intent.action.VIEW" /> 259 <category android:name="android.intent.category.DEFAULT" /> 260 <data android:mimeType="vnd.android.cursor.dir/person" /> 261 <data android:mimeType="vnd.android.cursor.dir/contact" /> 262 </intent-filter> 263 264 <meta-data android:name="android.app.searchable" 265 android:resource="@xml/searchable" 266 /> 267 </activity> 268 269 <activity android:name=".activities.ContactSelectionActivity" 270 android:label="@string/contactsList" 271 android:theme="@style/ContactPickerTheme" 272 android:launchMode="singleTop" 273 android:clearTaskOnLaunch="true" 274 android:uiOptions="splitActionBarWhenNarrow"> 275 <intent-filter> 276 <action android:name="android.intent.action.INSERT_OR_EDIT" /> 277 <category android:name="android.intent.category.DEFAULT" /> 278 <data android:mimeType="vnd.android.cursor.item/person" /> 279 <data android:mimeType="vnd.android.cursor.item/contact" /> 280 <data android:mimeType="vnd.android.cursor.item/raw_contact" /> 281 </intent-filter> 282 283 <intent-filter> 284 <action android:name="android.intent.action.PICK" /> 285 <category android:name="android.intent.category.DEFAULT" /> 286 <data android:mimeType="vnd.android.cursor.dir/contact" /> 287 <data android:mimeType="vnd.android.cursor.dir/person" /> 288 <data android:mimeType="vnd.android.cursor.dir/phone_v2" /> 289 <data android:mimeType="vnd.android.cursor.dir/phone" /> 290 <data android:mimeType="vnd.android.cursor.dir/postal-address_v2" /> 291 <data android:mimeType="vnd.android.cursor.dir/postal-address" /> 292 <data android:mimeType="vnd.android.cursor.dir/email_v2" /> 293 </intent-filter> 294 295 <intent-filter> 296 <action android:name="android.intent.action.GET_CONTENT" /> 297 <category android:name="android.intent.category.DEFAULT" /> 298 <data android:mimeType="vnd.android.cursor.item/contact" /> 299 <data android:mimeType="vnd.android.cursor.item/person" /> 300 <data android:mimeType="vnd.android.cursor.item/phone_v2" /> 301 <data android:mimeType="vnd.android.cursor.item/phone" /> 302 <data android:mimeType="vnd.android.cursor.item/postal-address_v2" /> 303 <data android:mimeType="vnd.android.cursor.item/postal-address" /> 304 </intent-filter> 305 </activity> 306 307 <!-- Backwards compatibility: somebody may have hard coded this activity name --> 308 <activity-alias android:name="ContactsListActivity" 309 android:targetActivity=".activities.PeopleActivity" 310 /> 311 312 <!-- Backwards compatibility: "Contacts" from Honeycomb --> 313 <activity-alias android:name=".activities.ContactsFrontDoor" 314 android:targetActivity=".activities.PeopleActivity" 315 android:exported="true" 316 /> 317 318 <!-- Backwards compatibility: "Contacts" from Gingerbread and earlier --> 319 <activity-alias android:name="DialtactsContactsEntryActivity" 320 android:targetActivity=".activities.PeopleActivity" 321 android:exported="true" 322 /> 323 324 <!-- Backwards compatibility: "Phone" from Gingerbread and earlier --> 325 <activity-alias android:name="DialtactsActivity" 326 android:targetActivity=".activities.DialtactsActivity" 327 android:exported="true" 328 /> 329 330 <!-- Backwards compatibility: "Call log" from Gingerbread and earlier --> 331 <activity-alias android:name="RecentCallsListActivity" 332 android:targetActivity=".activities.DialtactsActivity" 333 android:exported="true" 334 /> 335 336 <!-- Backwards compatibility: "Call log" from ICS --> 337 <activity-alias android:name=".activities.CallLogActivity" 338 android:targetActivity=".activities.DialtactsActivity" 339 android:exported="true" 340 /> 341 342 <!-- An activity for joining contacts --> 343 <activity android:name=".activities.JoinContactActivity" 344 android:theme="@style/JoinContactActivityTheme" 345 android:clearTaskOnLaunch="true" 346 > 347 <intent-filter> 348 <action android:name="com.android.contacts.action.JOIN_CONTACT" /> 349 <category android:name="android.intent.category.DEFAULT" /> 350 </intent-filter> 351 </activity> 352 353 <!-- Used to set options --> 354 <activity 355 android:name=".preference.ContactsPreferenceActivity" 356 android:label="@string/activity_title_settings" 357 android:theme="@style/ContactsPreferencesTheme" /> 358 359 <!-- Used to filter contacts list by account --> 360 <activity 361 android:name=".list.AccountFilterActivity" 362 android:label="@string/activity_title_contacts_filter" 363 android:theme="@style/ContactListFilterTheme" /> 364 365 <!-- Used to select display and sync groups --> 366 <activity 367 android:name=".list.CustomContactListFilterActivity" 368 android:label="@string/custom_list_filter" 369 android:theme="@style/ContactListFilterTheme" /> 370 371 <activity 372 android:name=".activities.ShowOrCreateActivity" 373 android:theme="@android:style/Theme.Translucent.NoTitleBar"> 374 375 <intent-filter> 376 <action android:name="com.android.contacts.action.SHOW_OR_CREATE_CONTACT" /> 377 <category android:name="android.intent.category.DEFAULT" /> 378 <data android:scheme="mailto" /> 379 <data android:scheme="tel" /> 380 </intent-filter> 381 </activity> 382 383 <!-- List of groups --> 384 <activity android:name=".activities.GroupBrowserActivity" 385 android:label="@string/contactsGroupsLabel" 386 android:theme="@style/PeopleTheme" 387 android:uiOptions="splitActionBarWhenNarrow" 388 android:launchMode="singleTop" 389 android:clearTaskOnLaunch="true"/> 390 391 <!-- Views the details of a single group --> 392 <activity android:name=".activities.GroupDetailActivity" 393 android:label="" 394 android:theme="@style/DetailActivityTheme"/> 395 396 <!-- Create a new or edit an existing group --> 397 <activity 398 android:name=".activities.GroupEditorActivity" 399 android:theme="@style/EditorActivityTheme" 400 android:windowSoftInputMode="adjustResize" /> 401 402 <!-- Used to show QuickContact window over a translucent activity, which is a 403 temporary hack until we add better framework support. --> 404 <activity 405 android:name=".quickcontact.QuickContactActivity" 406 android:theme="@style/Theme.QuickContact" 407 android:launchMode="singleTop" 408 android:excludeFromRecents="true" 409 android:noHistory="true" 410 android:taskAffinity="" 411 android:windowSoftInputMode="stateUnchanged"> 412 413 <intent-filter> 414 <action android:name="com.android.contacts.action.QUICK_CONTACT" /> 415 <category android:name="android.intent.category.DEFAULT" /> 416 <data android:mimeType="vnd.android.cursor.item/contact" /> 417 <data android:mimeType="vnd.android.cursor.item/person" /> 418 </intent-filter> 419 </activity> 420 421 <receiver 422 android:name=".quickcontact.QuickContactBroadcastReceiver" 423 android:exported="false" /> 424 425 <activity-alias android:name="ContactShortcut" 426 android:targetActivity=".activities.ContactSelectionActivity" 427 android:label="@string/shortcutContact" 428 android:icon="@mipmap/ic_launcher_shortcut_contact"> 429 430 <intent-filter> 431 <action android:name="android.intent.action.CREATE_SHORTCUT" /> 432 <category android:name="android.intent.category.DEFAULT" /> 433 </intent-filter> 434 435 </activity-alias> 436 437 <activity-alias android:name="alias.DialShortcut" 438 android:targetActivity=".activities.ContactSelectionActivity" 439 android:label="@string/shortcutDialContact" 440 android:icon="@mipmap/ic_launcher_shortcut_directdial" 441 android:enabled="@*android:bool/config_voice_capable"> 442 443 <intent-filter> 444 <action android:name="android.intent.action.CREATE_SHORTCUT" /> 445 <category android:name="android.intent.category.DEFAULT" /> 446 <category android:name="android.intent.category.CAR_MODE" /> 447 </intent-filter> 448 449 </activity-alias> 450 451 <activity-alias android:name="alias.MessageShortcut" 452 android:targetActivity=".activities.ContactSelectionActivity" 453 android:label="@string/shortcutMessageContact" 454 android:icon="@mipmap/ic_launcher_shortcut_directmessage" 455 android:enabled="@*android:bool/config_voice_capable"> 456 457 <intent-filter> 458 <action android:name="android.intent.action.CREATE_SHORTCUT" /> 459 <category android:name="android.intent.category.DEFAULT" /> 460 </intent-filter> 461 462 </activity-alias> 463 464 <activity android:name="CallDetailActivity" 465 android:label="@string/callDetailTitle" 466 android:theme="@style/CallDetailActivityTheme" 467 android:screenOrientation="nosensor" 468 android:icon="@mipmap/ic_launcher_phone" 469 android:taskAffinity="android.task.contacts.phone" 470 > 471 <intent-filter> 472 <action android:name="android.intent.action.VIEW" /> 473 <category android:name="android.intent.category.DEFAULT" /> 474 <data android:mimeType="vnd.android.cursor.item/calls" /> 475 </intent-filter> 476 </activity> 477 478 <!-- Views the details of a single contact --> 479 <activity android:name=".activities.ContactDetailActivity" 480 android:label="@string/viewContactTitle" 481 android:theme="@style/DetailActivityTheme" 482 android:parentActivityName=".activities.PeopleActivity"> 483 484 <intent-filter android:label="@string/viewContactDesription"> 485 <action android:name="android.intent.action.VIEW" /> 486 <category android:name="android.intent.category.DEFAULT" /> 487 <data android:mimeType="vnd.android.cursor.item/person" /> 488 <data android:mimeType="vnd.android.cursor.item/contact" /> 489 <data android:mimeType="vnd.android.cursor.item/raw_contact" /> 490 </intent-filter> 491 </activity> 492 493 <!-- Confirm that a single detail will be added to an existing contact --> 494 <activity 495 android:name=".activities.ConfirmAddDetailActivity" 496 android:label="@string/activity_title_confirm_add_detail" 497 android:theme="@style/ConfirmAddDetailDialogTheme" 498 android:windowSoftInputMode="adjustResize" 499 android:exported="false"/> 500 501 <!-- Accounts changed prompt that can appear when creating a new contact. --> 502 <activity 503 android:name=".activities.ContactEditorAccountsChangedActivity" 504 android:theme="@style/ContactEditorAccountsChangedActivityTheme" 505 android:windowSoftInputMode="adjustResize" 506 android:exported="false"/> 507 508 <!-- Create a new or edit an existing contact --> 509 <activity 510 android:name=".activities.ContactEditorActivity" 511 android:theme="@style/EditorActivityTheme" 512 android:windowSoftInputMode="adjustResize"> 513 514 <intent-filter android:label="@string/editContactDescription"> 515 <action android:name="android.intent.action.EDIT" /> 516 <category android:name="android.intent.category.DEFAULT" /> 517 <data android:mimeType="vnd.android.cursor.item/person" /> 518 <data android:mimeType="vnd.android.cursor.item/contact" /> 519 <data android:mimeType="vnd.android.cursor.item/raw_contact" /> 520 </intent-filter> 521 <intent-filter android:label="@string/insertContactDescription"> 522 <action android:name="android.intent.action.INSERT" /> 523 <category android:name="android.intent.category.DEFAULT" /> 524 <data android:mimeType="vnd.android.cursor.dir/person" /> 525 <data android:mimeType="vnd.android.cursor.dir/contact" /> 526 <data android:mimeType="vnd.android.cursor.dir/raw_contact" /> 527 </intent-filter> 528 </activity> 529 530 <activity android:name=".test.FragmentTestActivity"> 531 <intent-filter> 532 <category android:name="android.intent.category.TEST" /> 533 </intent-filter> 534 </activity> 535 536 <!-- Stub service used to keep our process alive long enough for 537 background threads to finish their operations. --> 538 <service 539 android:name=".util.EmptyService" 540 android:exported="false" /> 541 542 <!-- Service to save a contact --> 543 <service 544 android:name=".ContactSaveService" 545 android:exported="false" /> 546 547 <!-- Attaches a photo to a contact. Started from external applications --> 548 <activity android:name=".activities.AttachPhotoActivity" 549 android:label="@string/attach_photo_dialog_title" 550 android:taskAffinity=""> 551 <intent-filter> 552 <action android:name="android.intent.action.ATTACH_DATA" /> 553 <data android:mimeType="image/*" /> 554 <category android:name="android.intent.category.DEFAULT" /> 555 </intent-filter> 556 </activity> 557 558 <!-- 559 Internal photo selection activity. This activity handles all configuration changes by 560 itself. 561 --> 562 <activity android:name=".activities.PhotoSelectionActivity" 563 android:theme="@style/Theme.PhotoSelector" 564 android:launchMode="singleTop" 565 android:windowSoftInputMode="stateUnchanged" 566 android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|screenLayout|fontScale|uiMode|orientation|screenSize|smallestScreenSize" 567 > 568 </activity> 569 570 <!-- Interstitial activity that shows a phone disambig dialog --> 571 <activity android:name="CallContactActivity" 572 android:theme="@android:style/Theme.Translucent"> 573 </activity> 574 575 <!-- vCard related --> 576 <activity android:name=".vcard.ImportVCardActivity" 577 android:configChanges="orientation|screenSize|keyboardHidden" 578 android:screenOrientation="nosensor" 579 android:theme="@style/BackgroundOnlyTheme"> 580 <intent-filter> 581 <action android:name="android.intent.action.VIEW" /> 582 <data android:mimeType="text/directory" /> 583 <data android:mimeType="text/vcard" /> 584 <data android:mimeType="text/x-vcard" /> 585 <category android:name="android.intent.category.DEFAULT" /> 586 </intent-filter> 587 </activity> 588 589 <activity android:name=".vcard.NfcImportVCardActivity" 590 android:configChanges="orientation|screenSize|keyboardHidden" 591 android:theme="@style/BackgroundOnlyTheme"> 592 <intent-filter> 593 <action android:name="android.nfc.action.NDEF_DISCOVERED" /> 594 <data android:mimeType="text/vcard" /> 595 <data android:mimeType="text/x-vcard" /> 596 <category android:name="android.intent.category.DEFAULT" /> 597 </intent-filter> 598 </activity> 599 600 <activity android:name=".vcard.CancelActivity" 601 android:theme="@style/BackgroundOnlyTheme" /> 602 603 <activity android:name=".vcard.SelectAccountActivity" 604 android:theme="@style/BackgroundOnlyTheme" /> 605 606 <activity android:name=".vcard.ExportVCardActivity" 607 android:theme="@style/BackgroundOnlyTheme" /> 608 609 <service 610 android:name=".vcard.VCardService" 611 android:exported="false" /> 612 613 <!-- Pinned header list demo --> 614 <activity android:name=".widget.PinnedHeaderListDemoActivity"> 615 <intent-filter> 616 <action android:name="android.intent.action.MAIN" /> 617 <category android:name="android.intent.category.DEFAULT" /> 618 </intent-filter> 619 </activity> 620 621 <!-- The widget that shows details and the social stream of a contact --> 622 <receiver android:name=".socialwidget.SocialWidgetProvider" 623 android:label="@string/social_widget_label" > 624 <intent-filter> 625 <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 626 </intent-filter> 627 <meta-data android:name="android.appwidget.provider" 628 android:resource="@xml/social_widget_info" /> 629 </receiver> 630 631 <receiver android:name=".calllog.CallLogReceiver" 632 android:enabled="@*android:bool/config_voice_capable"> 633 <intent-filter> 634 <action android:name="android.intent.action.NEW_VOICEMAIL" /> 635 <data 636 android:scheme="content" 637 android:host="com.android.voicemail" 638 android:mimeType="vnd.android.cursor.item/voicemail" 639 /> 640 </intent-filter> 641 <intent-filter android:priority="100"> 642 <action android:name="android.intent.action.BOOT_COMPLETED"/> 643 </intent-filter> 644 </receiver> 645 646 <activity 647 android:name=".socialwidget.SocialWidgetConfigureActivity" 648 android:theme="@android:style/Theme.Translucent.NoTitleBar" > 649 <intent-filter> 650 <action android:name="android.intent.action.APPWIDGET_PICK" /> 651 </intent-filter> 652 </activity> 653 654 <service 655 android:name=".calllog.CallLogNotificationsService" 656 android:exported="false" 657 /> 658 659 <!-- Service that is exclusively for the Phone application that sends out a view 660 notification. This service might be removed in future versions of the app --> 661 <service android:name=".ViewNotificationService" 662 android:permission="android.permission.WRITE_CONTACTS" 663 android:exported="true"> 664 <intent-filter> 665 <action android:name="com.android.contacts.VIEW_NOTIFICATION" /> 666 <data android:mimeType="vnd.android.cursor.item/contact" /> 667 </intent-filter> 668 </service> 669 </application> 670</manifest> 671