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