blob: ec06ab317e5f9b9613cd64b980477e8c4aa94ae4 [file] [log] [blame]
The Android Open Source Project96c5af42009-03-03 19:32:22 -08001<?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
Makoto Onukid6a29782010-07-21 14:29:49 -07007
The Android Open Source Project96c5af42009-03-03 19:32:22 -08008 http://www.apache.org/licenses/LICENSE-2.0
Makoto Onukid6a29782010-07-21 14:29:49 -07009
The Android Open Source Project96c5af42009-03-03 19:32:22 -080010 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 xmlns:android="http://schemas.android.com/apk/res/android"
18 package="com.android.email">
Jeff Hamilton1e56db62010-02-11 16:25:49 -060019
20 <original-package android:name="com.android.email" />
21
The Android Open Source Project96c5af42009-03-03 19:32:22 -080022 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
23 <uses-permission android:name="android.permission.READ_CONTACTS"/>
24 <uses-permission android:name="android.permission.READ_OWNER_DATA"/>
25 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
26 <uses-permission android:name="android.permission.INTERNET"/>
27 <uses-permission android:name="android.permission.VIBRATE"/>
Andrew Stadlera392e072009-06-04 15:16:43 -070028 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Marc Blank03ecce72009-08-20 14:38:12 -070029 <uses-permission android:name="android.permission.GET_ACCOUNTS" />
Andrew Stadler627d1ae2009-07-24 16:25:18 -070030 <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
Marc Blank948c36f2009-07-27 10:24:58 -070031 <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
Fred Quintana4c195432009-08-17 13:05:44 -070032 <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
33 <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
34
Marc Blankb6493a02009-07-05 12:54:49 -070035 <!-- For EAS purposes; could be removed when EAS has a permanent home -->
36 <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
Marc Blankf3fcb892009-10-28 18:12:51 -070037 <uses-permission android:name="android.permission.WRITE_CALENDAR"/>
38 <uses-permission android:name="android.permission.READ_CALENDAR"/>
Marc Blankb6493a02009-07-05 12:54:49 -070039
Andy Stadlerdab90a72009-05-06 17:50:29 -070040 <!-- Only required if a store implements push mail and needs to keep network open -->
41 <uses-permission android:name="android.permission.WAKE_LOCK"/>
42 <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
Andrew Stadler22722202009-09-20 17:23:59 -070043
44 <!-- Grant permission to other apps to view attachments -->
The Android Open Source Project96c5af42009-03-03 19:32:22 -080045 <permission android:name="com.android.email.permission.READ_ATTACHMENT"
46 android:permissionGroup="android.permission-group.MESSAGES"
47 android:protectionLevel="dangerous"
48 android:label="@string/read_attachment_label"
49 android:description="@string/read_attachment_desc"/>
50 <uses-permission android:name="com.android.email.permission.READ_ATTACHMENT"/>
Andrew Stadler22722202009-09-20 17:23:59 -070051
52 <!-- Grant permission to system apps to access provider (see provider below) -->
53 <permission android:name="com.android.email.permission.ACCESS_PROVIDER"
54 android:protectionLevel="signatureOrSystem"
55 android:label="@string/permission_access_provider_label"
56 android:description="@string/permission_access_provider_desc"/>
57 <uses-permission android:name="com.android.email.permission.ACCESS_PROVIDER"/>
58
The Android Open Source Project96c5af42009-03-03 19:32:22 -080059 <application android:icon="@drawable/icon" android:label="@string/app_name"
Makoto Onuki5d1e32a2010-08-24 13:29:00 -070060 android:name="Email"
Makoto Onuki3aca79f2010-11-01 15:37:14 -070061 android:theme="@android:style/Theme.Holo.Light.Extended"
62 android:hardwareAccelerated="false"
Makoto Onuki5d1e32a2010-08-24 13:29:00 -070063 >
Andrew Stadlercd095452010-11-01 16:15:15 -070064 <!-- STOPSHIP android:hardwareAccelerated should be "true" -->
Andrew Stadler842ac042010-02-10 23:17:55 -080065 <activity
Makoto Onuki191448b2010-08-04 15:38:25 -070066 android:name=".activity.Welcome"
Makoto Onukid6a29782010-07-21 14:29:49 -070067 >
68 <intent-filter>
69 <action android:name="android.intent.action.MAIN" />
Makoto Onuki191448b2010-08-04 15:38:25 -070070 <category android:name="android.intent.category.DEFAULT" />
Makoto Onukid6a29782010-07-21 14:29:49 -070071 <category android:name="android.intent.category.LAUNCHER" />
72 </intent-filter>
73 </activity>
Andrew Stadler842ac042010-02-10 23:17:55 -080074 <activity
75 android:name=".activity.UpgradeAccounts"
76 android:label="@string/upgrade_accounts_title"
77 android:theme="@android:style/Theme.NoTitleBar"
Makoto Onuki2f4e87c2010-08-25 11:14:19 -070078 android:configChanges="keyboardHidden|orientation"
79 >
Andrew Stadler842ac042010-02-10 23:17:55 -080080 </activity>
Marc Blank06275c42009-08-05 21:48:15 -070081 <!-- Must be exported in order for the AccountManager to launch it -->
The Android Open Source Project96c5af42009-03-03 19:32:22 -080082 <activity
83 android:name=".activity.setup.AccountSetupBasics"
84 android:label="@string/account_setup_basics_title"
Marc Blank06275c42009-08-05 21:48:15 -070085 android:exported="true"
The Android Open Source Project96c5af42009-03-03 19:32:22 -080086 >
87 </activity>
88 <activity
89 android:name=".activity.setup.AccountSetupAccountType"
90 android:label="@string/account_setup_account_type_title"
91 >
92 </activity>
93 <activity
94 android:name=".activity.setup.AccountSetupIncoming"
95 android:label="@string/account_setup_incoming_title"
96 >
97 </activity>
98 <activity
99 android:name=".activity.setup.AccountSetupOutgoing"
100 android:label="@string/account_setup_outgoing_title"
101 >
102 </activity>
Makoto Onuki91237e92010-02-02 15:06:52 -0800103 <!--EXCHANGE-REMOVE-SECTION-START-->
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800104 <activity
Andy Stadler87c43ca2009-04-03 16:02:55 -0700105 android:name=".activity.setup.AccountSetupExchange"
106 android:label="@string/account_setup_exchange_title"
107 >
108 </activity>
Makoto Onuki91237e92010-02-02 15:06:52 -0800109 <!--EXCHANGE-REMOVE-SECTION-END-->
Andy Stadler87c43ca2009-04-03 16:02:55 -0700110 <activity
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800111 android:name=".activity.setup.AccountSetupOptions"
112 android:label="@string/account_setup_options_title"
113 >
114 </activity>
115 <activity
116 android:name=".activity.setup.AccountSetupNames"
117 android:label="@string/account_setup_names_title"
118 >
119 </activity>
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800120 <activity
Andrew Stadler9c65c142010-09-01 21:17:53 -0700121 android:name=".activity.setup.AccountSettingsXL"
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800122 android:label="@string/account_settings_action"
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800123 >
Makoto Onuki0fef1f12010-02-16 14:04:25 -0800124 <intent-filter>
125 <action android:name="com.android.email.activity.setup.ACCOUNT_MANAGER_ENTRY" />
126 <category android:name="android.intent.category.DEFAULT" />
127 </intent-filter>
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800128 </activity>
Andrew Stadler3d2b3b32010-02-05 11:10:39 -0800129 <activity
130 android:name=".activity.setup.AccountSecurity"
131 android.label="@string/account_security_title"
132 >
133 </activity>
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800134
135 <activity
136 android:name=".activity.Debug"
Makoto Onuki2f4e87c2010-08-25 11:14:19 -0700137 android:label="@string/debug_title"
138 >
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800139 </activity>
140 <activity
Andrew Stadler72dce732009-07-09 12:33:09 -0700141 android:name=".activity.AccountFolderList"
Andrew Stadler0d6ce632010-06-28 16:00:25 -0700142 android:launchMode="singleTop"
Makoto Onuki2f4e87c2010-08-25 11:14:19 -0700143 >
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800144 </activity>
Makoto Onukid6a29782010-07-21 14:29:49 -0700145
146 <activity
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800147 android:name=".activity.AccountShortcutPicker"
148 android:label="@string/app_name"
149 android:enabled="false"
150 >
151 <intent-filter>
152 <action android:name="android.intent.action.CREATE_SHORTCUT" />
153 <category android:name="android.intent.category.DEFAULT" />
154 </intent-filter>
155 </activity>
Makoto Onukid6a29782010-07-21 14:29:49 -0700156
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800157 <activity
Mihai Predab0528852010-02-10 16:46:41 +0100158 android:name=".activity.MailboxList"
Makoto Onuki2f4e87c2010-08-25 11:14:19 -0700159 >
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800160 </activity>
Makoto Onukid6a29782010-07-21 14:29:49 -0700161
Andrew Stadler47654722009-06-30 15:12:23 -0700162 <activity
Mihai Predab0528852010-02-10 16:46:41 +0100163 android:name=".activity.MessageList"
Makoto Onuki2f4e87c2010-08-25 11:14:19 -0700164 >
Makoto Onuki191448b2010-08-04 15:38:25 -0700165 </activity>
166 <activity
167 android:name=".activity.MessageListXL"
Makoto Onuki191448b2010-08-04 15:38:25 -0700168 >
Andrew Stadler47654722009-06-30 15:12:23 -0700169 </activity>
Makoto Onukia9428582010-03-26 11:01:12 -0700170
171 <!--
172 This activity catches shortcuts to account created on Android 1.6 and before,
173 and redirects to MessageList.
174 singleTask is necessary to make sure the activity is really launched.
175 Without it, the framework brings up the app to front, but doesn't necessarily
176 launch the activity.
177 -->
178 <activity
179 android:name=".activity.FolderMessageList"
180 android:launchMode="singleTask"
181 >
182 <intent-filter>
183 <!-- This action is only to allow an entry point for launcher shortcuts -->
184 <action android:name="android.intent.action.MAIN" />
185 </intent-filter>
186 </activity>
Makoto Onukid6a29782010-07-21 14:29:49 -0700187
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800188 <activity
189 android:name=".activity.MessageView"
Makoto Onuki2f4e87c2010-08-25 11:14:19 -0700190 >
Makoto Onukie105fbe2010-07-26 14:35:06 -0700191 </activity>
192 <activity
193 android:name=".activity.MessageFileView"
Makoto Onuki2f4e87c2010-08-25 11:14:19 -0700194 >
Marc Blank391ae252010-05-04 15:33:08 -0700195 <intent-filter android:label="@string/app_name">
196 <action android:name="android.intent.action.VIEW" />
197 <data android:mimeType="application/eml" />
198 <data android:mimeType="message/rfc822" />
199 <category android:name="android.intent.category.DEFAULT" />
200 </intent-filter>
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800201 </activity>
202 <activity
203 android:name=".activity.MessageCompose"
204 android:label="@string/app_name"
205 android:enabled="false"
206 >
207 <intent-filter>
208 <action android:name="android.intent.action.VIEW" />
209 <action android:name="android.intent.action.SENDTO" />
210 <data android:scheme="mailto" />
211 <category android:name="android.intent.category.DEFAULT" />
212 <category android:name="android.intent.category.BROWSABLE" />
213 </intent-filter>
214 <intent-filter android:label="@string/app_name">
215 <action android:name="android.intent.action.SEND" />
Andrew Stadler92a1ff92009-09-27 23:49:10 -0700216 <data android:mimeType="*/*" />
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800217 <category android:name="android.intent.category.DEFAULT" />
218 </intent-filter>
Mihai Predafa2238c2009-09-01 16:25:30 +0200219 <intent-filter android:label="@string/app_name">
220 <action android:name="android.intent.action.SEND_MULTIPLE" />
221 <data android:mimeType="*/*" />
222 <category android:name="android.intent.category.DEFAULT" />
223 </intent-filter>
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800224 </activity>
Makoto Onuki91237e92010-02-02 15:06:52 -0800225 <!--EXCHANGE-REMOVE-SECTION-START-->
Makoto Onuki898283b2010-05-27 18:29:35 -0700226 <receiver android:name="com.android.exchange.EmailSyncAlarmReceiver"/>
227 <receiver android:name="com.android.exchange.MailboxAlarmReceiver"/>
Makoto Onuki91237e92010-02-02 15:06:52 -0800228 <!--EXCHANGE-REMOVE-SECTION-END-->
Marc Blank53cb37c2009-08-28 10:33:18 -0700229
Makoto Onuki898283b2010-05-27 18:29:35 -0700230 <receiver android:name=".service.EmailBroadcastReceiver" android:enabled="true">
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800231 <intent-filter>
232 <action android:name="android.intent.action.BOOT_COMPLETED" />
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800233 <action android:name="android.intent.action.DEVICE_STORAGE_LOW" />
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800234 <action android:name="android.intent.action.DEVICE_STORAGE_OK" />
235 </intent-filter>
Makoto Onuki42e3f102010-06-30 15:43:12 -0700236 <!-- To handle secret code to activate the debug screen. -->
237 <intent-filter>
238 <action android:name="android.provider.Telephony.SECRET_CODE" />
239 <!-- "36245" = "email" -->
240 <data android:scheme="android_secret_code" android:host="36245" />
241 </intent-filter>
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800242 </receiver>
Makoto Onuki898283b2010-05-27 18:29:35 -0700243 <service android:name=".service.EmailBroadcastProcessorService" />
Marc Blank53cb37c2009-08-28 10:33:18 -0700244
Andrew Stadlerd6286082010-02-01 16:48:16 -0800245 <!-- Support for DeviceAdmin / DevicePolicyManager. See SecurityPolicy class for impl. -->
246 <receiver
247 android:name=".SecurityPolicy$PolicyAdmin"
248 android:label="@string/device_admin_label"
249 android:description="@string/device_admin_description"
250 android:permission="android.permission.BIND_DEVICE_ADMIN" >
251 <meta-data
252 android:name="android.app.device_admin"
253 android:resource="@xml/device_admin" />
254 <intent-filter>
255 <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
256 </intent-filter>
257 </receiver>
Makoto Onukib854d052010-01-28 10:07:51 -0800258
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800259 <service
260 android:name=".service.MailService"
261 android:enabled="false"
262 >
263 </service>
Makoto Onukid6a29782010-07-21 14:29:49 -0700264
Marc Blankc184f362010-08-23 18:48:25 -0700265 <service
Makoto Onuki45f530b2010-08-24 11:12:53 -0700266 android:name=".Controller$ControllerService"
267 android:enabled="true"
Marc Blank7894ee82010-08-18 08:50:45 -0700268 >
269 </service>
270
271 <service
Marc Blank09fd4d02010-08-09 17:48:53 -0700272 android:name=".service.AttachmentDownloadService"
273 android:enabled="false"
274 >
275 </service>
276
Makoto Onuki91237e92010-02-02 15:06:52 -0800277 <!--EXCHANGE-REMOVE-SECTION-START-->
Marc Blanke6cc6622010-07-08 10:08:47 -0700278 <!--Required stanza to register the PopImapAuthenticatorService with AccountManager -->
279 <service
280 android:name=".service.PopImapAuthenticatorService"
281 android:exported="true"
282 android:enabled="true"
283 >
284 <intent-filter>
285 <action android:name="android.accounts.AccountAuthenticator" />
286 </intent-filter>
287 <meta-data
288 android:name="android.accounts.AccountAuthenticator"
289 android:resource="@xml/pop_imap_authenticator"
290 />
291 </service>
292
293 <!--Required stanza to register the PopImapSyncAdapterService with SyncManager -->
294 <service
295 android:name="com.android.email.service.PopImapSyncAdapterService"
296 android:exported="true">
297 <intent-filter>
298 <action android:name="android.content.SyncAdapter" />
299 </intent-filter>
300 <meta-data android:name="android.content.SyncAdapter"
301 android:resource="@xml/syncadapter_pop_imap" />
302 </service>
303
304 <!--EXCHANGE-REMOVE-SECTION-START-->
305 <!--Required stanza to register the EAS EmailSyncAdapterService with SyncManager -->
306 <service
307 android:name="com.android.exchange.EmailSyncAdapterService"
308 android:exported="true">
309 <intent-filter>
310 <action android:name="android.content.SyncAdapter" />
311 </intent-filter>
312 <meta-data android:name="android.content.SyncAdapter"
313 android:resource="@xml/syncadapter_email" />
314 </service>
315
316 <!--Required stanza to register the EAS ContactsSyncAdapterService with SyncManager -->
Makoto Onukid6a29782010-07-21 14:29:49 -0700317 <service
318 android:name="com.android.exchange.ContactsSyncAdapterService"
319 android:exported="true">
Marc Blank948c36f2009-07-27 10:24:58 -0700320 <intent-filter>
321 <action android:name="android.content.SyncAdapter" />
322 </intent-filter>
323 <meta-data android:name="android.content.SyncAdapter"
324 android:resource="@xml/syncadapter_contacts" />
325 </service>
326
Marc Blanke6cc6622010-07-08 10:08:47 -0700327 <!--Required stanza to register the EAS CalendarSyncAdapterService with SyncManager -->
Marc Blankf3fcb892009-10-28 18:12:51 -0700328 <service
329 android:name="com.android.exchange.CalendarSyncAdapterService"
330 android:exported="true">
331 <intent-filter>
332 <action android:name="android.content.SyncAdapter" />
333 </intent-filter>
334 <meta-data android:name="android.content.SyncAdapter"
335 android:resource="@xml/syncadapter_calendar" />
336 </service>
337
Marc Blank1b65ea52010-08-27 15:02:31 -0700338 <!-- Add android:process=":remote" below to enable ExchangeService as a separate process -->
Marc Blank2c67f1f2009-06-16 12:03:45 -0700339 <service
Marc Blank1b65ea52010-08-27 15:02:31 -0700340 android:name="com.android.exchange.ExchangeService"
Marc Blank2c67f1f2009-06-16 12:03:45 -0700341 android:enabled="true"
342 >
343 </service>
Andrew Stadler17250422009-07-07 09:39:11 -0700344
345 <!--Required stanza to register the EasAuthenticatorService with AccountManager -->
Makoto Onukib854d052010-01-28 10:07:51 -0800346 <service
347 android:name=".service.EasAuthenticatorService"
348 android:exported="true"
349 android:enabled="true"
350 >
Andrew Stadler17250422009-07-07 09:39:11 -0700351 <intent-filter>
352 <action android:name="android.accounts.AccountAuthenticator" />
353 </intent-filter>
Makoto Onukib854d052010-01-28 10:07:51 -0800354 <meta-data
355 android:name="android.accounts.AccountAuthenticator"
Marc Blanke6cc6622010-07-08 10:08:47 -0700356 android:resource="@xml/eas_authenticator"
Makoto Onukib854d052010-01-28 10:07:51 -0800357 />
358 </service>
359 <!--
360 EasAuthenticatorService with the altenative label. Disabled by default,
361 and OneTimeInitializer enables it if the vendor policy tells so.
362 -->
363 <service
364 android:name=".service.EasAuthenticatorServiceAlternate"
365 android:exported="true"
366 android:enabled="false"
367 >
368 <intent-filter>
369 <action android:name="android.accounts.AccountAuthenticator" />
370 </intent-filter>
371 <meta-data
372 android:name="android.accounts.AccountAuthenticator"
373 android:resource="@xml/authenticator_alternate"
374 />
Andrew Stadler17250422009-07-07 09:39:11 -0700375 </service>
Makoto Onuki91237e92010-02-02 15:06:52 -0800376 <!--EXCHANGE-REMOVE-SECTION-END-->
Andrew Stadler17250422009-07-07 09:39:11 -0700377
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800378 <provider
379 android:name=".provider.AttachmentProvider"
380 android:authorities="com.android.email.attachmentprovider"
381 android:multiprocess="true"
382 android:grantUriPermissions="true"
383 android:readPermission="com.android.email.permission.READ_ATTACHMENT"
384 />
Andrew Stadler22722202009-09-20 17:23:59 -0700385
386 <!-- This provider MUST be protected by strict permissions, as granting access to
387 it exposes user passwords and other confidential information. -->
Marc Blankc5f2a7a2009-05-27 15:43:27 -0700388 <provider
389 android:name=".provider.EmailProvider"
390 android:authorities="com.android.email.provider"
391 android:multiprocess="true"
Andrew Stadler22722202009-09-20 17:23:59 -0700392 android:permission="com.android.email.permission.ACCESS_PROVIDER"
Marc Blanke6cc6622010-07-08 10:08:47 -0700393 android:label="@string/app_name"
Marc Blankc5f2a7a2009-05-27 15:43:27 -0700394 />
Andrew Stadlere2c56fc2010-03-13 00:38:47 -0800395
396 <!--EXCHANGE-REMOVE-SECTION-START-->
Marc Blank5bd2fae2010-06-13 17:39:15 -0700397 <provider
Marc Blank270b0c12010-06-29 13:32:36 -0700398 android:name="com.android.exchange.provider.ExchangeDirectoryProvider"
399 android:authorities="com.android.exchange.directory.provider"
Marc Blank5bd2fae2010-06-13 17:39:15 -0700400 android:readPermission="android.permission.READ_CONTACTS"
401 android:multiprocess="false"
Dmitri Plotnikov32358f52010-08-05 11:22:58 -0700402 >
403 <meta-data android:name="android.content.ContactDirectory" android:value="true"/>
404 </provider>
Andrew Stadlere2c56fc2010-03-13 00:38:47 -0800405 <!--EXCHANGE-REMOVE-SECTION-END-->
406
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800407 </application>
408</manifest>