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