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