• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (C) 2008 The Android Open Source Project
3
4     Licensed under the Apache License, Version 2.0 (the "License");
5     you may not use this file except in compliance with the License.
6     You may obtain a copy of the License at
7
8          http://www.apache.org/licenses/LICENSE-2.0
9
10     Unless required by applicable law or agreed to in writing, software
11     distributed under the License is distributed on an "AS IS" BASIS,
12     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13     See the License for the specific language governing permissions and
14     limitations under the License.
15-->
16
17<manifest
18    xmlns:android="http://schemas.android.com/apk/res/android"
19    package="com.android.email"
20    android:versionCode="410000"
21    android:versionName="4.1"
22    >
23
24    <!-- This needs to be present when we are doing unbundled releases. -->
25    <uses-sdk android:targetSdkVersion="17" android:minSdkVersion="14" />
26
27    <original-package
28        android:name="com.android.email" />
29
30    <uses-permission
31        android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
32    <uses-permission
33        android:name="android.permission.ACCESS_NETWORK_STATE"/>
34    <uses-permission
35        android:name="android.permission.INTERNET"/>
36    <uses-permission
37        android:name="android.permission.VIBRATE"/>
38    <uses-permission
39        android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
40    <uses-permission
41        android:name="android.permission.GET_ACCOUNTS" />
42    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
43    <uses-permission
44        android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
45    <uses-permission
46        android:name="android.permission.READ_SYNC_SETTINGS" />
47    <uses-permission
48        android:name="android.permission.WRITE_SYNC_SETTINGS"/>
49
50    <uses-permission
51        android:name="android.permission.WRITE_CONTACTS"/>
52    <uses-permission
53        android:name="android.permission.READ_CONTACTS"/>
54
55    <uses-permission
56        android:name="android.permission.READ_PROFILE"/>
57
58    <uses-permission
59        android:name="android.permission.NFC"/>
60
61    <!-- Only required if a store implements push mail and needs to keep network open -->
62    <uses-permission
63        android:name="android.permission.WAKE_LOCK"/>
64    <uses-permission
65        android:name="android.permission.READ_PHONE_STATE"/>
66
67    <!-- Required for sending images from Gallery -->
68    <uses-permission android:name="com.google.android.gallery3d.permission.GALLERY_PROVIDER" />
69
70    <!-- Grant permission to other apps to view attachments -->
71    <permission
72        android:name="com.android.email.permission.READ_ATTACHMENT"
73        android:permissionGroup="android.permission-group.MESSAGES"
74        android:protectionLevel="dangerous"
75        android:label="@string/permission_read_attachment_label"
76        android:description="@string/permission_read_attachment_desc"/>
77    <uses-permission
78        android:name="com.android.email.permission.READ_ATTACHMENT"/>
79
80    <uses-permission
81        android:name="android.permission.USE_CREDENTIALS"/>
82
83    <!-- Grant permission to system apps to access provider (see provider below) -->
84    <permission
85        android:name="com.android.email.permission.ACCESS_PROVIDER"
86        android:protectionLevel="signature"
87        android:label="@string/permission_access_provider_label"
88        android:description="@string/permission_access_provider_desc"/>
89    <uses-permission
90        android:name="com.android.email.permission.ACCESS_PROVIDER"/>
91
92    <!-- Note:  Actually, android:hardwareAccelerated could be "true", but in order to switch it
93         on/off in the debug screen, we have to set it "false" here and enable it at runtime.  -->
94    <application
95        android:icon="@mipmap/ic_launcher_email"
96        android:label="@string/app_name"
97        android:name="Email"
98        android:theme="@style/EmailTheme"
99        android:hardwareAccelerated="false"
100        >
101        <activity
102            android:name=".activity.Welcome"
103            >
104            <intent-filter>
105                <action android:name="android.intent.action.MAIN" />
106                <category android:name="android.intent.category.DEFAULT" />
107                <category android:name="android.intent.category.LAUNCHER" />
108                <category android:name="android.intent.category.APP_EMAIL" />
109            </intent-filter>
110            <intent-filter>
111                <action android:name="android.intent.action.VIEW" />
112                <action android:name="android.intent.action.MAIN" />
113                <category android:name="android.intent.category.DEFAULT" />
114                <category android:name="android.intent.category.LAUNCHER" />
115                <data
116                    android:scheme="content"
117                    android:host="ui.email.android.com"
118                    android:path="/view/mailbox"
119                    />
120            </intent-filter>
121        </activity>
122
123        <!-- Must be exported in order for the AccountManager to launch it -->
124        <!-- Also available for continuous test systems to force account creation -->
125        <activity
126            android:name=".activity.setup.AccountSetupBasics"
127            android:label="@string/account_setup_basics_title"
128            android:exported="true"
129            >
130            <intent-filter>
131                <action
132                    android:name="com.android.email.CREATE_ACCOUNT" />
133                <category
134                    android:name="android.intent.category.DEFAULT" />
135            </intent-filter>
136        </activity>
137        <activity
138            android:name=".activity.setup.AccountSetupAccountType"
139            android:label="@string/account_setup_account_type_title"
140            >
141        </activity>
142        <activity
143            android:name=".activity.setup.AccountSetupIncoming"
144            android:label="@string/account_setup_incoming_title"
145            >
146        </activity>
147        <activity
148            android:name=".activity.setup.AccountSetupOutgoing"
149            android:label="@string/account_setup_outgoing_title"
150            >
151        </activity>
152        <activity
153            android:name=".activity.setup.AccountSetupExchange"
154            android:label="@string/account_setup_exchange_title"
155            >
156        </activity>
157        <activity
158            android:name=".activity.setup.AccountSetupOptions"
159            android:label="@string/account_setup_options_title"
160            >
161        </activity>
162        <activity
163            android:name=".activity.setup.AccountSetupNames"
164            android:label="@string/account_setup_names_title"
165            >
166        </activity>
167        <activity
168            android:name=".activity.setup.AccountSettings"
169            android:label="@string/settings_activity_title"
170            android:theme="@android:style/Theme.Holo.Light"
171            >
172            <intent-filter>
173                <action
174                    android:name="com.android.email.activity.setup.ACCOUNT_MANAGER_ENTRY" />
175                <category
176                    android:name="android.intent.category.DEFAULT" />
177            </intent-filter>
178            <intent-filter>
179                <action android:name="android.intent.action.EDIT" />
180                <category android:name="android.intent.category.DEFAULT" />
181                <data
182                    android:scheme="content"
183                    android:host="ui.email.android.com"
184                    android:path="/settings"
185                    />
186            </intent-filter>
187            <intent-filter>
188                <action android:name="android.intent.action.MANAGE_NETWORK_USAGE" />
189                <category android:name="android.intent.category.DEFAULT" />
190            </intent-filter>
191        </activity>
192        <activity
193            android:name=".activity.setup.AccountSecurity"
194            android.label="@string/account_security_title"
195            >
196        </activity>
197
198        <!-- Don't need to set the title; it will be set programatically -->
199        <activity
200            android:name=".activity.ShortcutPicker"
201            android:enabled="false"
202            android:theme="@android:style/Theme.Holo.Light.DialogWhenLarge"
203            >
204            <intent-filter
205                android:label="@string/account_shortcut_picker_name">
206                <action
207                    android:name="android.intent.action.CREATE_SHORTCUT" />
208                <category
209                    android:name="android.intent.category.DEFAULT" />
210            </intent-filter>
211        </activity>
212        <activity
213            android:name=".activity.EmailActivity"
214            android:uiOptions="splitActionBarWhenNarrow"
215            >
216        </activity>
217        <activity
218            android:name=".activity.MessageFileView"
219            >
220            <intent-filter
221                android:label="@string/app_name">
222                <action
223                    android:name="android.intent.action.VIEW" />
224                <data
225                    android:mimeType="application/eml" />
226                <data
227                    android:mimeType="message/rfc822" />
228                <category
229                    android:name="android.intent.category.DEFAULT" />
230            </intent-filter>
231        </activity>
232        <activity
233            android:name=".activity.MessageCompose"
234            android:label="@string/compose_title"
235            android:enabled="false"
236            android:theme="@android:style/Theme.Holo.Light"
237            >
238            <intent-filter>
239                <action
240                    android:name="android.intent.action.VIEW" />
241                <action
242                    android:name="android.intent.action.SENDTO" />
243                <data
244                    android:scheme="mailto" />
245                <category
246                    android:name="android.intent.category.DEFAULT" />
247                <category
248                    android:name="android.intent.category.BROWSABLE" />
249            </intent-filter>
250            <intent-filter
251                android:label="@string/app_name">
252                <action
253                    android:name="android.intent.action.SEND" />
254                <data
255                    android:mimeType="*/*" />
256                <category
257                    android:name="android.intent.category.DEFAULT" />
258            </intent-filter>
259            <intent-filter
260                android:label="@string/app_name">
261                <action
262                    android:name="android.intent.action.SEND_MULTIPLE" />
263                <data
264                    android:mimeType="*/*" />
265                <category
266                    android:name="android.intent.category.DEFAULT" />
267            </intent-filter>
268            <intent-filter>
269                <action
270                    android:name="com.android.email.intent.action.REPLY" />
271            </intent-filter>
272        </activity>
273
274        <!-- Only used to support pre-HC shortcuts -->
275        <activity
276            android:name=".activity.MessageList"
277            >
278            <intent-filter>
279                <action android:name="android.intent.action.MAIN" />
280            </intent-filter>
281        </activity>
282
283        <activity
284            android:name=".activity.setup.MailboxSettings"
285            android:label="@string/mailbox_settings_activity_title"
286            >
287        </activity>
288
289        <receiver
290            android:name=".service.AttachmentDownloadService$Watchdog"
291            android:enabled="true"/>
292
293        <receiver
294            android:name=".service.EmailBroadcastReceiver"
295            android:enabled="true">
296            <intent-filter>
297                <action
298                    android:name="android.intent.action.BOOT_COMPLETED" />
299                <action
300                    android:name="android.intent.action.DEVICE_STORAGE_LOW" />
301                <action
302                    android:name="android.intent.action.DEVICE_STORAGE_OK" />
303                <action
304                    android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
305            </intent-filter>
306            <!-- To handle secret code to activate the debug screen. -->
307            <intent-filter>
308                <action
309                    android:name="android.provider.Telephony.SECRET_CODE" />
310                <!-- "36245" = "email" -->
311                <data
312                    android:scheme="android_secret_code"
313                    android:host="36245" />
314            </intent-filter>
315        </receiver>
316        <service
317            android:name=".service.EmailBroadcastProcessorService" />
318
319        <!-- Support for DeviceAdmin / DevicePolicyManager.  See SecurityPolicy class for impl. -->
320        <receiver
321            android:name=".SecurityPolicy$PolicyAdmin"
322            android:label="@string/device_admin_label"
323            android:description="@string/device_admin_description"
324            android:permission="android.permission.BIND_DEVICE_ADMIN" >
325            <meta-data
326                android:name="android.app.device_admin"
327                android:resource="@xml/device_admin" />
328            <intent-filter>
329                <action
330                    android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
331            </intent-filter>
332        </receiver>
333
334        <service
335            android:name=".service.MailService"
336            android:enabled="false"
337            >
338        </service>
339
340        <service
341            android:name=".Controller$ControllerService"
342            android:enabled="true"
343            >
344        </service>
345
346        <service
347            android:name=".service.AttachmentDownloadService"
348            android:enabled="false"
349            >
350        </service>
351
352        <!--Required stanza to register the PopImapAuthenticatorService with AccountManager -->
353        <service
354            android:name=".service.PopImapAuthenticatorService"
355            android:exported="true"
356            android:enabled="true"
357            >
358            <intent-filter>
359                <action
360                    android:name="android.accounts.AccountAuthenticator" />
361            </intent-filter>
362            <meta-data
363                android:name="android.accounts.AccountAuthenticator"
364                android:resource="@xml/pop_imap_authenticator"
365                />
366        </service>
367
368        <!--Required stanza to register the PopImapSyncAdapterService with SyncManager -->
369        <service
370            android:name="com.android.email.service.PopImapSyncAdapterService"
371            android:exported="true">
372            <intent-filter>
373                <action
374                    android:name="android.content.SyncAdapter" />
375            </intent-filter>
376            <meta-data android:name="android.content.SyncAdapter"
377                       android:resource="@xml/syncadapter_pop_imap" />
378        </service>
379
380        <!-- Require provider permission to use our Policy and Account services -->
381        <service
382            android:name=".service.PolicyService"
383            android:enabled="true"
384            android:permission="com.android.email.permission.ACCESS_PROVIDER"
385            >
386            <intent-filter>
387                <action
388                    android:name="com.android.email.POLICY_INTENT" />
389            </intent-filter>
390        </service>
391
392        <service
393            android:name=".service.AccountService"
394            android:enabled="true"
395            android:permission="com.android.email.permission.ACCESS_PROVIDER"
396            >
397            <intent-filter>
398                <action
399                    android:name="com.android.email.ACCOUNT_INTENT" />
400            </intent-filter>
401        </service>
402
403        <!--Required stanza to register the EasAuthenticatorService with AccountManager -->
404        <service
405            android:name=".service.EasAuthenticatorService"
406            android:exported="true"
407            android:enabled="true"
408            >
409            <intent-filter>
410                <action
411                    android:name="android.accounts.AccountAuthenticator" />
412            </intent-filter>
413            <meta-data
414                android:name="android.accounts.AccountAuthenticator"
415                android:resource="@xml/eas_authenticator"
416                />
417        </service>
418        <!--Required stanza to register the EasTestAuthenticatorService with AccountManager -->
419        <service
420            android:name=".service.EasTestAuthenticatorService"
421            android:exported="true"
422            android:enabled="false"
423            >
424            <intent-filter>
425                <action
426                    android:name="android.accounts.AccountAuthenticator" />
427            </intent-filter>
428            <meta-data
429                android:name="android.accounts.AccountAuthenticator"
430                android:resource="@xml/eastest_authenticator"
431                />
432        </service>
433        <!--
434            EasAuthenticatorService with the alternative label.  Disabled by default,
435            and OneTimeInitializer enables it if the vendor policy tells so.
436        -->
437        <service
438            android:name=".service.EasAuthenticatorServiceAlternate"
439            android:exported="true"
440            android:enabled="false"
441            >
442            <intent-filter>
443                <action
444                    android:name="android.accounts.AccountAuthenticator" />
445            </intent-filter>
446            <meta-data
447                android:name="android.accounts.AccountAuthenticator"
448                android:resource="@xml/authenticator_alternate"
449                />
450        </service>
451
452        <provider
453            android:name=".provider.AttachmentProvider"
454            android:authorities="com.android.email.attachmentprovider"
455            android:multiprocess="true"
456            android:grantUriPermissions="true"
457            android:exported="true"
458            android:readPermission="com.android.email.permission.READ_ATTACHMENT"
459            />
460
461        <!-- This provider MUST be protected by strict permissions, as granting access to
462             it exposes user passwords and other confidential information. -->
463        <provider
464            android:name=".provider.EmailProvider"
465            android:authorities="com.android.email.provider;com.android.email.notifier"
466            android:multiprocess="true"
467            android:permission="com.android.email.permission.ACCESS_PROVIDER"
468            android:exported="true"
469            android:label="@string/app_name"
470            />
471
472        <!-- Email AppWidget definitions -->
473        <activity
474            android:name=".widget.WidgetConfiguration"
475            android:enabled="true"
476            android:theme="@android:style/Theme.Holo.Light.DialogWhenLarge"
477            >
478            <intent-filter
479                android:label="@string/account_shortcut_picker_name">
480                <action
481                    android:name="android.appwidget.action.APPWIDGET_CONFIGURE"/>
482                <category
483                    android:name="android.intent.category.DEFAULT" />
484            </intent-filter>
485        </activity>
486        <service
487            android:name=".provider.WidgetProvider$WidgetService"
488            android:permission="android.permission.BIND_REMOTEVIEWS"
489            android:exported="false"
490            />
491        <receiver
492            android:name=".provider.WidgetProvider" >
493            <intent-filter>
494                <action
495                    android:name="android.appwidget.action.APPWIDGET_UPDATE" />
496            </intent-filter>
497            <intent-filter>
498                <action android:name="com.android.email.MESSAGE_LIST_DATASET_CHANGED" />
499            </intent-filter>
500            <meta-data
501                android:name="android.appwidget.provider"
502                android:resource="@xml/widget_info" />
503        </receiver>
504    </application>
505</manifest>
506