1 <?xml version="1.0" encoding="utf-8"?> 2 <!-- 3 Copyright (C) 2012 The Android Open Source Project 4 5 Licensed under the Apache License, Version 2.0 (the "License"); 6 you may not use this file except in compliance with the License. 7 You may obtain a copy of the License at 8 9 http://www.apache.org/licenses/LICENSE-2.0 10 11 Unless required by applicable law or agreed to in writing, software 12 distributed under the License is distributed on an "AS IS" BASIS, 13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 See the License for the specific language governing permissions and 15 limitations under the License. 16 --> 17 <!-- The format of the version code is vvMMDDc 18 vv is major version number 19 MM is the ordinal month number. This starts at 0 for each major release and 20 counts up for each month 21 DD is the day of the month 22 c is a code which increments per version, in case we have multiple releases 23 on the same date. This should start at zero. --> 24 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 25 package="com.android.email" 26 android:versionCode="7008110" > 27 28 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> 29 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 30 <uses-permission android:name="android.permission.INTERNET"/> 31 <uses-permission android:name="android.permission.VIBRATE"/> 32 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 33 <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 34 <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/> 35 <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" /> 36 <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" /> 37 <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/> 38 <uses-permission android:name="android.permission.WRITE_CONTACTS"/> 39 <uses-permission android:name="android.permission.READ_CONTACTS"/> 40 <uses-permission android:name="android.permission.WRITE_CONTACTS"/> 41 <uses-permission android:name="android.permission.READ_CALENDAR"/> 42 <uses-permission android:name="android.permission.WRITE_CALENDAR"/> 43 <uses-permission android:name="android.permission.READ_PROFILE"/> 44 <uses-permission android:name="android.permission.NFC"/> 45 <uses-permission android:name="android.permission.WAKE_LOCK"/> 46 <uses-permission android:name="android.permission.READ_PHONE_STATE"/> 47 <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" /> 48 49 <!-- This needs to be present when we are doing unbundled releases. --> 50 <uses-sdk android:targetSdkVersion="21" android:minSdkVersion="14" /> 51 52 <!-- additional uses --> 53 54 <original-package android:name="com.android.email" /> 55 56 <!-- Grant permission to other apps to view attachments --> 57 <!-- STOPSHIP: protectionLevel should not be dangerous --> 58 <permission 59 android:name="com.android.email.permission.READ_ATTACHMENT" 60 android:permissionGroup="android.permission-group.MESSAGES" 61 android:protectionLevel="dangerous" 62 android:label="@string/permission_read_attachment_label" 63 android:description="@string/permission_read_attachment_desc"/> 64 <uses-permission 65 android:name="com.android.email.permission.READ_ATTACHMENT"/> 66 67 <uses-permission 68 android:name="android.permission.USE_CREDENTIALS"/> 69 70 <!-- Grant permission to system apps to access provider (see provider below) --> 71 <permission 72 android:name="com.android.email.permission.ACCESS_PROVIDER" 73 android:protectionLevel="signature" 74 android:label="@string/permission_access_provider_label" 75 android:description="@string/permission_access_provider_desc"/> 76 <uses-permission 77 android:name="com.android.email.permission.ACCESS_PROVIDER"/> 78 79 <application 80 android:name=".EmailApplication" 81 android:icon="@mipmap/ic_launcher_mail" 82 android:label="@string/app_name" 83 android:requiredAccountType="com.android.exchange,com.android.email" 84 android:theme="@style/UnifiedEmailTheme" 85 android:hardwareAccelerated="true" 86 android:allowBackup="false" 87 android:supportsRtl="true" > 88 <activity 89 android:name="com.android.email.activity.ComposeActivityEmail" 90 android:label="@string/app_name" 91 android:documentLaunchMode="intoExisting" 92 android:autoRemoveFromRecents="true" 93 android:theme="@style/ComposeTheme"> 94 <intent-filter> 95 <action 96 android:name="android.intent.action.VIEW" /> 97 <action 98 android:name="android.intent.action.SENDTO" /> 99 <data 100 android:scheme="mailto" /> 101 <category 102 android:name="android.intent.category.DEFAULT" /> 103 <category 104 android:name="android.intent.category.BROWSABLE" /> 105 </intent-filter> 106 <intent-filter 107 android:label="@string/app_name"> 108 <action 109 android:name="android.intent.action.SEND" /> 110 <data 111 android:mimeType="*/*" /> 112 <category 113 android:name="android.intent.category.DEFAULT" /> 114 </intent-filter> 115 <intent-filter 116 android:label="@string/app_name"> 117 <action 118 android:name="android.intent.action.SEND_MULTIPLE" /> 119 <data 120 android:mimeType="*/*" /> 121 <category 122 android:name="android.intent.category.DEFAULT" /> 123 </intent-filter> 124 <intent-filter> 125 <action 126 android:name="com.android.email.intent.action.REPLY" /> 127 </intent-filter> 128 <intent-filter> 129 <action android:name="android.intent.action.SEND" /> 130 <category 131 android:name="android.intent.category.DEFAULT" /> 132 <data 133 android:scheme="content" 134 android:host="ui.email2.android.com" 135 android:pathPrefix="/compose" 136 /> 137 </intent-filter> 138 <intent-filter> 139 <action android:name="android.nfc.action.NDEF_DISCOVERED" /> 140 <category android:name="android.intent.category.DEFAULT" /> 141 <data android:scheme="mailto" /> 142 </intent-filter> 143 144 <intent-filter> 145 <action android:name="com.android.mail.intent.action.LAUNCH_COMPOSE" /> 146 <category android:name="android.intent.category.DEFAULT" /> 147 </intent-filter> 148 149 <intent-filter> 150 <action android:name="com.android.mail.intent.action.LAUNCH_COMPOSE" /> 151 <category android:name="android.intent.category.DEFAULT" /> 152 <data android:scheme="content" /> 153 </intent-filter> 154 </activity> 155 156 <activity-alias android:name="com.android.mail.compose.ComposeActivity" 157 android:targetActivity="com.android.email.activity.ComposeActivityEmail"/> 158 159 <activity 160 android:name=".activity.setup.OAuthAuthenticationActivity" 161 android:label="@string/oauth_authentication_title"> 162 </activity> 163 164 <activity 165 android:name=".activity.setup.AccountCredentials" 166 android:label="@string/sign_in_title" 167 android:exported="false" 168 android:excludeFromRecents="true" 169 android:theme="@style/AccountSetupDialogActivityTheme"> 170 </activity> 171 172 <activity 173 android:name=".activity.EventViewer" 174 android:label="@string/app_name" 175 > 176 <intent-filter> 177 <action android:name="android.intent.action.VIEW" /> 178 <category 179 android:name="android.intent.category.DEFAULT" /> 180 <data 181 android:scheme="content" 182 android:host="ui.email2.android.com" 183 android:pathPrefix="/event" 184 /> 185 </intent-filter> 186 </activity> 187 188 <activity android:name="com.android.mail.ui.FolderSelectionActivity" 189 android:label="@string/activity_folder_selection" 190 android:theme="@style/ShortcutWidgetTheme" /> 191 192 <activity android:name="com.android.email2.ui.MailboxSelectionActivityEmail" 193 android:theme="@style/ShortcutWidgetTheme" 194 android:label="@string/app_name" > 195 <intent-filter> 196 <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" /> 197 </intent-filter> 198 </activity> 199 200 <activity android:name="com.android.mail.ui.ShortcutNameActivity" 201 android:label="@string/shortcut_name_title" 202 android:theme="@style/ShortcutWidgetTheme"> 203 </activity> 204 205 <activity android:name="com.android.mail.ui.MailboxSelectionActivity" 206 android:theme="@style/ShortcutWidgetTheme" 207 android:label="@string/app_name" > 208 <intent-filter> 209 <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" /> 210 </intent-filter> 211 </activity> 212 213 <activity android:name="com.android.email2.ui.CreateShortcutActivityEmail" 214 android:theme="@style/ShortcutWidgetTheme" 215 android:label="@string/folder_shortcut_widget_label"> 216 217 <intent-filter> 218 <action android:name="android.intent.action.CREATE_SHORTCUT" /> 219 <category android:name="android.intent.category.DEFAULT" /> 220 </intent-filter> 221 222 </activity> 223 224 <activity 225 android:label="@string/app_name" 226 android:name="com.android.email2.ui.MailActivityEmail" 227 android:theme="@style/MailActivityTheme" 228 android:windowSoftInputMode="stateAlwaysHidden"> 229 <intent-filter> 230 <action android:name="android.intent.action.VIEW" /> 231 <category android:name="android.intent.category.DEFAULT" /> 232 <data android:scheme="content"/> 233 <data android:mimeType="@string/application_mime_type" /> 234 </intent-filter> 235 <intent-filter> 236 <action android:name="android.intent.action.SEARCH" /> 237 <category android:name="android.intent.category.DEFAULT" /> 238 </intent-filter> 239 </activity> 240 241 <activity-alias android:name="com.android.email.activity.Welcome" 242 android:targetActivity="com.android.email2.ui.MailActivityEmail" 243 android:label="@string/app_name" > 244 <intent-filter > 245 <action android:name="android.intent.action.MAIN" /> 246 <category android:name="android.intent.category.DEFAULT" /> 247 <category android:name="android.intent.category.LAUNCHER" /> 248 <category android:name="android.intent.category.APP_EMAIL" /> 249 </intent-filter> 250 <intent-filter> 251 <action android:name="android.intent.action.VIEW" /> 252 <action android:name="android.intent.action.MAIN" /> 253 <category android:name="android.intent.category.DEFAULT" /> 254 <category android:name="android.intent.category.LAUNCHER" /> 255 <data 256 android:scheme="content" 257 android:host="ui.email.android.com" 258 android:path="/view/mailbox" 259 /> 260 </intent-filter> 261 </activity-alias> 262 263 <!-- Must be exported in order for the AccountManager to launch it --> 264 <!-- Also available for continuous test systems to force account creation --> 265 <!-- TODO: fix this label --> 266 <activity 267 android:name=".activity.setup.AccountSetupFinal" 268 android:label="@string/account_setup_basics_title" 269 android:exported="true" 270 > 271 <intent-filter> 272 <action android:name="com.android.email.FORCE_CREATE_ACCOUNT" /> 273 <action android:name="com.android.email.CREATE_NEW_ACCOUNT" /> 274 <category android:name="android.intent.category.DEFAULT" /> 275 </intent-filter> 276 </activity> 277 <activity 278 android:name=".activity.setup.EmailPreferenceActivity" 279 android:label="@string/activity_preferences" 280 android:exported="false" > 281 <intent-filter> 282 <action android:name="android.intent.action.EDIT" /> 283 <action android:name="android.intent.action.VIEW" /> 284 <category android:name="android.intent.category.DEFAULT" /> 285 <data 286 android:scheme="content" 287 android:host="ui.email.android.com" 288 android:pathPrefix="/settings" 289 /> 290 </intent-filter> 291 </activity> 292 <activity 293 android:name="com.android.mail.ui.settings.PublicPreferenceActivity" 294 android:label="@string/activity_preferences" 295 android:exported="true" 296 android:theme="@android:style/Theme.NoDisplay" > 297 <!-- Must be exported in order for the AccountManager to launch it --> 298 <intent-filter> 299 <action android:name="com.android.email.activity.setup.ACCOUNT_MANAGER_ENTRY" /> 300 <category android:name="android.intent.category.DEFAULT" /> 301 </intent-filter> 302 <intent-filter> 303 <action android:name="android.intent.action.MANAGE_NETWORK_USAGE" /> 304 <category android:name="android.intent.category.DEFAULT" /> 305 </intent-filter> 306 </activity> 307 <activity 308 android:name=".activity.setup.AccountServerSettingsActivity" 309 android:label="@string/mailbox_settings_activity_title" 310 android:exported="false" 311 android:excludeFromRecents="true" 312 android:windowSoftInputMode="adjustResize" 313 android:theme="@style/AccountSetupDialogActivityTheme" /> 314 <!-- a Headless Activity to load the account from the account id before navigating to the 315 Incoming Account Settings fragment --> 316 <activity 317 android:name=".activity.setup.HeadlessAccountSettingsLoader" 318 android:theme="@android:style/Theme.NoDisplay" 319 > 320 <intent-filter> 321 <action android:name="android.intent.action.VIEW" /> 322 <category android:name="android.intent.category.DEFAULT" /> 323 <data android:host="com.android.email.ACCOUNT_SETTINGS" /> 324 <data android:scheme="auth"/> 325 </intent-filter> 326 </activity> 327 <activity 328 android:name=".provider.FolderPickerActivity" 329 android:label="@string/app_name" 330 > 331 <intent-filter> 332 <action android:name="android.intent.action.EDIT" /> 333 <category android:name="android.intent.category.DEFAULT" /> 334 <data 335 android:scheme="content" 336 android:host="ui.email.android.com" 337 android:pathPrefix="/setup" 338 /> 339 </intent-filter> 340 </activity> 341 <activity 342 android:name=".activity.setup.AccountSecurity" 343 android:label="@string/account_security_title" 344 > 345 </activity> 346 347 <activity 348 android:name=".activity.setup.MailboxSettings" 349 android:label="@string/mailbox_settings_activity_title" 350 android:exported="false" /> 351 352 <activity 353 android:name="com.android.mail.photo.MailPhotoViewActivity" 354 android:label="@string/app_name" 355 android:theme="@style/MailPhotoViewTheme" > 356 </activity> 357 358 <activity 359 android:name="com.android.mail.browse.EmlViewerActivity" 360 android:label="@string/app_name" 361 android:theme="@style/UnifiedEmailTheme" > 362 <intent-filter> 363 <action android:name="android.intent.action.VIEW" /> 364 <category android:name="android.intent.category.DEFAULT" /> 365 <data android:mimeType="message/rfc822" /> 366 <data android:mimeType="application/eml" /> 367 </intent-filter> 368 </activity> 369 370 <activity 371 android:name="com.android.mail.ui.HelpActivity" 372 android:label="@string/help_and_info"> 373 </activity> 374 375 <activity 376 android:name="com.android.mail.ui.LicensesActivity" 377 android:label="@string/open_source_licenses"> 378 </activity> 379 380 <!-- additional activities --> 381 382 <provider 383 android:authorities="com.android.email.conversation.provider" 384 android:label="@string/conversation_content_provider" 385 android:exported="true" 386 android:name="com.android.mail.browse.EmailConversationProvider" > 387 <grant-uri-permission android:pathPattern=".*" /> 388 </provider> 389 390 <provider 391 android:authorities="com.android.email.accountcache" 392 android:label="@string/account_cache_provider" 393 android:exported="true" 394 android:name="com.android.mail.providers.EmailAccountCacheProvider" > 395 <grant-uri-permission android:pathPattern=".*" /> 396 </provider> 397 398 <provider 399 android:authorities="@string/eml_attachment_provider" 400 android:exported="false" 401 android:name="com.android.mail.providers.EmlAttachmentProvider" > 402 <grant-uri-permission android:pathPattern=".*" /> 403 </provider> 404 405 <service android:name="com.android.mail.compose.EmptyService"/> 406 <!-- Widget --> 407 <receiver android:name=".provider.WidgetProvider" android:label="@string/app_name"> 408 <intent-filter> 409 <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 410 </intent-filter> 411 <intent-filter> 412 <action android:name="com.android.mail.ACTION_NOTIFY_DATASET_CHANGED" /> 413 <data android:mimeType="@string/application_mime_type" /> 414 </intent-filter> 415 <intent-filter> 416 <action android:name="com.android.mail.ACTION_UPDATE_WIDGET" /> 417 <data android:mimeType="@string/application_mime_type" /> 418 </intent-filter> 419 <intent-filter> 420 <action android:name="com.android.mail.ACTION_VALIDATE_ALL_WIDGETS" /> 421 <data android:mimeType="@string/application_mime_type" /> 422 </intent-filter> 423 <meta-data android:name="android.appwidget.provider" 424 android:resource="@xml/widget_info" /> 425 </receiver> 426 <service android:name="com.android.mail.widget.WidgetService" 427 android:permission="android.permission.BIND_REMOTEVIEWS" 428 android:exported="false" /> 429 430 <!-- From Email application --> 431 432 <receiver 433 android:name=".service.AttachmentService$AttachmentWatchdog" 434 android:enabled="true"/> 435 436 <!-- Handles app upgrade. This disables itself after running once. --> 437 <receiver 438 android:name=".service.EmailUpgradeBroadcastReceiver" 439 android:enabled="true"> 440 <intent-filter> 441 <action android:name="android.intent.action.BOOT_COMPLETED" /> 442 <action android:name="android.intent.action.MY_PACKAGE_REPLACED" /> 443 </intent-filter> 444 </receiver> 445 446 <receiver 447 android:name=".service.EmailBroadcastReceiver" 448 android:enabled="true"> 449 <intent-filter> 450 <action android:name="android.intent.action.BOOT_COMPLETED" /> 451 <action android:name="android.intent.action.DEVICE_STORAGE_LOW" /> 452 <action android:name="android.intent.action.DEVICE_STORAGE_OK" /> 453 <action android:name="android.intent.action.LOCALE_CHANGED"/> 454 <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" /> 455 </intent-filter> 456 <!-- To handle new message notifications --> 457 <intent-filter> 458 <action android:name="com.android.mail.action.update_notification" 459 android:priority="-10" /> 460 <data android:mimeType="@string/application_mime_type" /> 461 </intent-filter> 462 <!-- To handle secret code to activate the debug screen. --> 463 <intent-filter> 464 <action 465 android:name="android.provider.Telephony.SECRET_CODE" /> 466 <!-- "36245" = "email" --> 467 <data 468 android:scheme="android_secret_code" 469 android:host="36245" /> 470 </intent-filter> 471 </receiver> 472 <service 473 android:name=".service.EmailBroadcastProcessorService" /> 474 475 <!-- Support for DeviceAdmin / DevicePolicyManager. See SecurityPolicy class for impl. --> 476 <receiver 477 android:name=".SecurityPolicy$PolicyAdmin" 478 android:label="@string/device_admin_label" 479 android:description="@string/device_admin_description" 480 android:permission="android.permission.BIND_DEVICE_ADMIN" > 481 <meta-data 482 android:name="android.app.device_admin" 483 android:resource="@xml/device_admin" /> 484 <intent-filter> 485 <action 486 android:name="android.app.action.DEVICE_ADMIN_ENABLED" /> 487 </intent-filter> 488 </receiver> 489 490 <service 491 android:name=".service.AttachmentService" 492 android:enabled="false" 493 > 494 </service> 495 496 <!--Required stanza to register the PopImapAuthenticatorService with AccountManager --> 497 <service 498 android:name=".service.Pop3AuthenticatorService" 499 android:exported="true" 500 android:enabled="true" 501 > 502 <intent-filter> 503 <action 504 android:name="android.accounts.AccountAuthenticator" /> 505 </intent-filter> 506 <meta-data 507 android:name="android.accounts.AccountAuthenticator" 508 android:resource="@xml/authenticator_pop3" 509 /> 510 </service> 511 <!--Required stanza to register the PopImapAuthenticatorService with AccountManager --> 512 <service 513 android:name=".service.ImapAuthenticatorService" 514 android:exported="true" 515 android:enabled="false" 516 > 517 <intent-filter> 518 <action 519 android:name="android.accounts.AccountAuthenticator" /> 520 </intent-filter> 521 <meta-data 522 android:name="android.accounts.AccountAuthenticator" 523 android:resource="@xml/authenticator_imap" 524 /> 525 </service> 526 527 <!--Required stanza to register the PopImapSyncAdapterService with SyncManager --> 528 <service 529 android:name="com.android.email.service.Pop3SyncAdapterService" 530 android:exported="true"> 531 <intent-filter> 532 <action 533 android:name="android.content.SyncAdapter" /> 534 </intent-filter> 535 <meta-data android:name="android.content.SyncAdapter" 536 android:resource="@xml/syncadapter_pop3" /> 537 </service> 538 539 <service 540 android:name="com.android.email.service.LegacyImapSyncAdapterService" 541 android:exported="true"> 542 <intent-filter> 543 <action 544 android:name="android.content.SyncAdapter" /> 545 </intent-filter> 546 <meta-data android:name="android.content.SyncAdapter" 547 android:resource="@xml/syncadapter_legacy_imap" /> 548 </service> 549 550 <!-- Require provider permission to use our Policy and Account services --> 551 <service 552 android:name=".service.PolicyService" 553 android:enabled="true" 554 android:permission="com.android.email.permission.ACCESS_PROVIDER" 555 > 556 <intent-filter> 557 <action 558 android:name="com.android.email.POLICY_INTENT" /> 559 </intent-filter> 560 </service> 561 562 <service 563 android:name=".service.AccountService" 564 android:enabled="true" 565 android:permission="com.android.email.permission.ACCESS_PROVIDER" 566 > 567 <intent-filter> 568 <action 569 android:name="com.android.email.ACCOUNT_INTENT" /> 570 </intent-filter> 571 </service> 572 573 <service 574 android:name=".service.ImapService" 575 android:enabled="true" 576 android:permission="com.android.email.permission.ACCESS_PROVIDER" 577 > 578 <intent-filter> 579 <action 580 android:name="com.android.email.IMAP_INTENT" /> 581 </intent-filter> 582 </service> 583 584 <service 585 android:name=".service.Pop3Service" 586 android:enabled="true" 587 android:permission="com.android.email.permission.ACCESS_PROVIDER" 588 > 589 <intent-filter> 590 <action 591 android:name="com.android.email.POP3_INTENT" /> 592 </intent-filter> 593 </service> 594 595 <!--Required stanza to register the EasAuthenticatorService with AccountManager --> 596 <service 597 android:name=".service.EasAuthenticatorService" 598 android:exported="true" 599 android:enabled="true" 600 > 601 <intent-filter> 602 <action 603 android:name="android.accounts.AccountAuthenticator" /> 604 </intent-filter> 605 <meta-data 606 android:name="android.accounts.AccountAuthenticator" 607 android:resource="@xml/authenticator_eas" 608 /> 609 </service> 610 <!--Required stanza to register the EasTestAuthenticatorService with AccountManager --> 611 <service 612 android:name=".service.EasTestAuthenticatorService" 613 android:exported="true" 614 android:enabled="false" 615 > 616 <intent-filter> 617 <action 618 android:name="android.accounts.AccountAuthenticator" /> 619 </intent-filter> 620 <meta-data 621 android:name="android.accounts.AccountAuthenticator" 622 android:resource="@xml/eastest_authenticator" 623 /> 624 </service> 625 <!-- 626 EasAuthenticatorService with the alternative label. Disabled by default, 627 and OneTimeInitializer enables it if the vendor policy tells so. 628 --> 629 <service 630 android:name=".service.EasAuthenticatorServiceAlternate" 631 android:exported="true" 632 android:enabled="false" 633 > 634 <intent-filter> 635 <action 636 android:name="android.accounts.AccountAuthenticator" /> 637 </intent-filter> 638 <meta-data 639 android:name="android.accounts.AccountAuthenticator" 640 android:resource="@xml/authenticator_alternate" 641 /> 642 </service> 643 644 <service 645 android:name=".service.LegacyImapAuthenticatorService" 646 android:exported="false" 647 android:enabled="true" 648 > 649 <intent-filter> 650 <action 651 android:name="android.accounts.AccountAuthenticator" /> 652 </intent-filter> 653 <meta-data 654 android:name="android.accounts.AccountAuthenticator" 655 android:resource="@xml/authenticator_legacy_imap" 656 /> 657 </service> 658 659 <provider 660 android:name=".provider.AttachmentProvider" 661 android:authorities="com.android.email.attachmentprovider" 662 android:grantUriPermissions="true" 663 android:exported="true" 664 android:readPermission="com.android.email.permission.READ_ATTACHMENT" 665 /> 666 667 <!-- This provider MUST be protected by strict permissions, as granting access to 668 it exposes user passwords and other confidential information. --> 669 <provider 670 android:name=".provider.EmailProvider" 671 android:authorities="com.android.email.provider;com.android.email.notifier" 672 android:exported="true" 673 android:permission="com.android.email.permission.ACCESS_PROVIDER" 674 android:label="@string/app_name" 675 android:grantUriPermissions="true"> 676 <grant-uri-permission android:pathPrefix="/attachment/cachedFile"/> 677 </provider> 678 679 <!-- Legacy authenticators, etc. can be added below. OEMs may remove these --> 680 681 <service 682 android:name=".service.LegacyEmailAuthenticatorService" 683 android:exported="false" 684 android:enabled="true" 685 > 686 <intent-filter> 687 <action 688 android:name="android.accounts.AccountAuthenticator" /> 689 </intent-filter> 690 <meta-data 691 android:name="android.accounts.AccountAuthenticator" 692 android:resource="@xml/authenticator_legacy_email" 693 /> 694 </service> 695 696 <service 697 android:name=".service.LegacyEasAuthenticatorService" 698 android:exported="false" 699 android:enabled="true" 700 > 701 <intent-filter> 702 <action 703 android:name="android.accounts.AccountAuthenticator" /> 704 </intent-filter> 705 <meta-data 706 android:name="android.accounts.AccountAuthenticator" 707 android:resource="@xml/authenticator_legacy_eas" 708 /> 709 </service> 710 711 <service android:name="com.android.email.EmailIntentService" 712 android:exported="false"> 713 <intent-filter> 714 <action android:name="com.android.mail.action.RESEND_NOTIFICATIONS" /> 715 <action android:name="com.android.mail.action.RESEND_NOTIFICATIONS_WEAR" /> 716 <action android:name="com.android.mail.action.SEND_SET_NEW_EMAIL_INDICATOR" /> 717 </intent-filter> 718 <intent-filter> 719 <action android:name="com.android.mail.action.CLEAR_NEW_MAIL_NOTIFICATIONS" /> 720 <data android:scheme="content" /> 721 </intent-filter> 722 <intent-filter> 723 <action android:name="com.android.mail.action.update_notification" 724 android:priority="-10"/> 725 <data android:mimeType="@string/application_mime_type" /> 726 </intent-filter> 727 </service> 728 729 <service android:name="com.android.mail.NotificationActionIntentService" 730 android:exported="false"> 731 <intent-filter> 732 <action android:name="com.android.mail.action.notification.MARK_READ" /> 733 <action android:name="com.android.mail.action.notification.ARCHIVE" /> 734 <action android:name="com.android.mail.action.notification.DELETE" /> 735 <action android:name="com.android.mail.action.notification.UNDO" /> 736 <action android:name="com.android.mail.action.notification.DESTRUCT" /> 737 <action android:name="com.android.mail.action.notification.UNDO_TIMEOUT" /> 738 <action android:name="com.android.mail.action.notification.REPLY" /> 739 <action android:name="com.android.mail.action.notification.REPLY_ALL" /> 740 <action android:name="com.android.mail.action.notification.FORWARD" /> 741 <data android:scheme="content" /> 742 </intent-filter> 743 </service> 744 <service android:name="com.android.mail.MailLogService"> 745 </service> 746 <service android:name="com.android.mail.browse.EmlTempFileDeletionService" /> 747 </application> 748 749 <!-- Legacy permissions, etc. can go here --> 750 751 </manifest> 752