blob: c19863d38820af74bae18d33a37453496913121b [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
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 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"
60 android:name="Email">
Andrew Stadler842ac042010-02-10 23:17:55 -080061 <activity
62 android:name=".activity.Welcome">
The Android Open Source Project96c5af42009-03-03 19:32:22 -080063 <intent-filter>
64 <action android:name="android.intent.action.MAIN" />
65 <category android:name="android.intent.category.DEFAULT" />
66 <category android:name="android.intent.category.LAUNCHER" />
67 </intent-filter>
68 </activity>
Andrew Stadler842ac042010-02-10 23:17:55 -080069 <activity
70 android:name=".activity.UpgradeAccounts"
71 android:label="@string/upgrade_accounts_title"
72 android:theme="@android:style/Theme.NoTitleBar"
73 android:configChanges="keyboardHidden|orientation" >
74 </activity>
Marc Blank06275c42009-08-05 21:48:15 -070075 <!-- Must be exported in order for the AccountManager to launch it -->
The Android Open Source Project96c5af42009-03-03 19:32:22 -080076 <activity
77 android:name=".activity.setup.AccountSetupBasics"
78 android:label="@string/account_setup_basics_title"
Marc Blank06275c42009-08-05 21:48:15 -070079 android:exported="true"
The Android Open Source Project96c5af42009-03-03 19:32:22 -080080 >
81 </activity>
82 <activity
83 android:name=".activity.setup.AccountSetupAccountType"
84 android:label="@string/account_setup_account_type_title"
85 >
86 </activity>
87 <activity
88 android:name=".activity.setup.AccountSetupIncoming"
89 android:label="@string/account_setup_incoming_title"
90 >
91 </activity>
92 <activity
93 android:name=".activity.setup.AccountSetupOutgoing"
94 android:label="@string/account_setup_outgoing_title"
95 >
96 </activity>
Makoto Onuki91237e92010-02-02 15:06:52 -080097 <!--EXCHANGE-REMOVE-SECTION-START-->
Andrew Stadler9f732492010-03-03 22:19:41 -080098 <!-- This activity ignores configuration changes (e.g. rotation) so that it will
99 not make multiple calls to AccountSetupCheckSettings. -->
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800100 <activity
Andy Stadler87c43ca2009-04-03 16:02:55 -0700101 android:name=".activity.setup.AccountSetupExchange"
102 android:label="@string/account_setup_exchange_title"
Andrew Stadler9f732492010-03-03 22:19:41 -0800103 android:configChanges="keyboardHidden|orientation"
Andy Stadler87c43ca2009-04-03 16:02:55 -0700104 >
105 </activity>
Makoto Onuki91237e92010-02-02 15:06:52 -0800106 <!--EXCHANGE-REMOVE-SECTION-END-->
Andy Stadler87c43ca2009-04-03 16:02:55 -0700107 <activity
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800108 android:name=".activity.setup.AccountSetupOptions"
109 android:label="@string/account_setup_options_title"
110 >
111 </activity>
112 <activity
113 android:name=".activity.setup.AccountSetupNames"
114 android:label="@string/account_setup_names_title"
115 >
116 </activity>
117 <!-- XXX Note: this activity is hacked to ignore config changes,
118 since it doesn't currently handle them correctly in code. -->
119 <activity
120 android:name=".activity.setup.AccountSetupCheckSettings"
121 android:label="@string/account_setup_check_settings_title"
122 android:configChanges="keyboardHidden|orientation"
123 >
124 </activity>
125 <activity
126 android:name=".activity.setup.AccountSettings"
127 android:label="@string/account_settings_action"
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800128 >
Makoto Onuki0fef1f12010-02-16 14:04:25 -0800129 <intent-filter>
130 <action android:name="com.android.email.activity.setup.ACCOUNT_MANAGER_ENTRY" />
131 <category android:name="android.intent.category.DEFAULT" />
132 </intent-filter>
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800133 </activity>
Andrew Stadler3d2b3b32010-02-05 11:10:39 -0800134 <activity
135 android:name=".activity.setup.AccountSecurity"
136 android.label="@string/account_security_title"
137 >
138 </activity>
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800139
140 <activity
141 android:name=".activity.Debug"
142 android:label="@string/debug_title">
143 </activity>
144 <activity
Andrew Stadler72dce732009-07-09 12:33:09 -0700145 android:name=".activity.AccountFolderList"
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800146 android:launchMode="singleTop" >
147 </activity>
148
149 <activity
150 android:name=".activity.AccountShortcutPicker"
151 android:label="@string/app_name"
152 android:enabled="false"
153 >
154 <intent-filter>
155 <action android:name="android.intent.action.CREATE_SHORTCUT" />
156 <category android:name="android.intent.category.DEFAULT" />
157 </intent-filter>
158 </activity>
159
160 <activity
Mihai Predab0528852010-02-10 16:46:41 +0100161 android:name=".activity.MailboxList"
162 android:theme="@style/ThemeNoTitleBar">
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800163 </activity>
Andrew Stadler47654722009-06-30 15:12:23 -0700164
165 <activity
Mihai Predab0528852010-02-10 16:46:41 +0100166 android:name=".activity.MessageList"
167 android:theme="@style/ThemeNoTitleBar">
Andrew Stadler4e4abc62009-07-21 11:06:14 -0700168 <intent-filter>
169 <!-- This action is only to allow an entry point for launcher shortcuts -->
170 <action android:name="android.intent.action.MAIN" />
171 </intent-filter>
Andrew Stadler47654722009-06-30 15:12:23 -0700172 </activity>
Makoto Onukia9428582010-03-26 11:01:12 -0700173
174 <!--
175 This activity catches shortcuts to account created on Android 1.6 and before,
176 and redirects to MessageList.
177 singleTask is necessary to make sure the activity is really launched.
178 Without it, the framework brings up the app to front, but doesn't necessarily
179 launch the activity.
180 -->
181 <activity
182 android:name=".activity.FolderMessageList"
183 android:launchMode="singleTask"
184 >
185 <intent-filter>
186 <!-- This action is only to allow an entry point for launcher shortcuts -->
187 <action android:name="android.intent.action.MAIN" />
188 </intent-filter>
189 </activity>
Andrew Stadler47654722009-06-30 15:12:23 -0700190
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800191 <activity
192 android:name=".activity.MessageView"
193 android:theme="@android:style/Theme.NoTitleBar" >
Marc Blank391ae252010-05-04 15:33:08 -0700194 <intent-filter android:label="@string/app_name">
195 <action android:name="android.intent.action.VIEW" />
196 <data android:mimeType="application/eml" />
197 <data android:mimeType="message/rfc822" />
198 <category android:name="android.intent.category.DEFAULT" />
199 </intent-filter>
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800200 </activity>
201 <activity
202 android:name=".activity.MessageCompose"
203 android:label="@string/app_name"
204 android:enabled="false"
205 >
206 <intent-filter>
207 <action android:name="android.intent.action.VIEW" />
208 <action android:name="android.intent.action.SENDTO" />
209 <data android:scheme="mailto" />
210 <category android:name="android.intent.category.DEFAULT" />
211 <category android:name="android.intent.category.BROWSABLE" />
212 </intent-filter>
213 <intent-filter android:label="@string/app_name">
214 <action android:name="android.intent.action.SEND" />
Andrew Stadler92a1ff92009-09-27 23:49:10 -0700215 <data android:mimeType="*/*" />
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800216 <category android:name="android.intent.category.DEFAULT" />
217 </intent-filter>
Mihai Predafa2238c2009-09-01 16:25:30 +0200218 <intent-filter android:label="@string/app_name">
219 <action android:name="android.intent.action.SEND_MULTIPLE" />
220 <data android:mimeType="*/*" />
221 <category android:name="android.intent.category.DEFAULT" />
222 </intent-filter>
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800223 </activity>
Makoto Onuki91237e92010-02-02 15:06:52 -0800224 <!--EXCHANGE-REMOVE-SECTION-START-->
Makoto Onuki898283b2010-05-27 18:29:35 -0700225 <receiver android:name="com.android.exchange.EmailSyncAlarmReceiver"/>
226 <receiver android:name="com.android.exchange.MailboxAlarmReceiver"/>
Makoto Onuki91237e92010-02-02 15:06:52 -0800227 <!--EXCHANGE-REMOVE-SECTION-END-->
Marc Blank53cb37c2009-08-28 10:33:18 -0700228
Makoto Onuki898283b2010-05-27 18:29:35 -0700229 <receiver android:name=".service.EmailBroadcastReceiver" android:enabled="true">
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800230 <intent-filter>
231 <action android:name="android.intent.action.BOOT_COMPLETED" />
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800232 <action android:name="android.intent.action.DEVICE_STORAGE_LOW" />
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800233 <action android:name="android.intent.action.DEVICE_STORAGE_OK" />
234 </intent-filter>
235 </receiver>
Makoto Onuki898283b2010-05-27 18:29:35 -0700236 <service android:name=".service.EmailBroadcastProcessorService" />
Marc Blank53cb37c2009-08-28 10:33:18 -0700237
Andrew Stadlerd6286082010-02-01 16:48:16 -0800238 <!-- Support for DeviceAdmin / DevicePolicyManager. See SecurityPolicy class for impl. -->
239 <receiver
240 android:name=".SecurityPolicy$PolicyAdmin"
241 android:label="@string/device_admin_label"
242 android:description="@string/device_admin_description"
243 android:permission="android.permission.BIND_DEVICE_ADMIN" >
244 <meta-data
245 android:name="android.app.device_admin"
246 android:resource="@xml/device_admin" />
247 <intent-filter>
248 <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
249 </intent-filter>
250 </receiver>
Makoto Onukib854d052010-01-28 10:07:51 -0800251
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800252 <service
253 android:name=".service.MailService"
254 android:enabled="false"
255 >
256 </service>
Marc Blank28fc7792009-07-20 17:15:45 -0700257
Makoto Onuki91237e92010-02-02 15:06:52 -0800258 <!--EXCHANGE-REMOVE-SECTION-START-->
Marc Blank948c36f2009-07-27 10:24:58 -0700259 <!--Required stanza to register the ContactsSyncAdapterService with SyncManager -->
260 <service
261 android:name="com.android.exchange.ContactsSyncAdapterService"
262 android:exported="true">
263 <intent-filter>
264 <action android:name="android.content.SyncAdapter" />
265 </intent-filter>
266 <meta-data android:name="android.content.SyncAdapter"
267 android:resource="@xml/syncadapter_contacts" />
268 </service>
269
Marc Blankf3fcb892009-10-28 18:12:51 -0700270 <!--Required stanza to register the CalendarSyncAdapterService with SyncManager -->
271 <service
272 android:name="com.android.exchange.CalendarSyncAdapterService"
273 android:exported="true">
274 <intent-filter>
275 <action android:name="android.content.SyncAdapter" />
276 </intent-filter>
277 <meta-data android:name="android.content.SyncAdapter"
278 android:resource="@xml/syncadapter_calendar" />
279 </service>
280
Marc Blank28fc7792009-07-20 17:15:45 -0700281 <!-- Add android:process=":remote" below to enable SyncManager as a separate process -->
Marc Blank2c67f1f2009-06-16 12:03:45 -0700282 <service
283 android:name="com.android.exchange.SyncManager"
284 android:enabled="true"
285 >
286 </service>
Andrew Stadler17250422009-07-07 09:39:11 -0700287
288 <!--Required stanza to register the EasAuthenticatorService with AccountManager -->
Makoto Onukib854d052010-01-28 10:07:51 -0800289 <service
290 android:name=".service.EasAuthenticatorService"
291 android:exported="true"
292 android:enabled="true"
293 >
Andrew Stadler17250422009-07-07 09:39:11 -0700294 <intent-filter>
295 <action android:name="android.accounts.AccountAuthenticator" />
296 </intent-filter>
Makoto Onukib854d052010-01-28 10:07:51 -0800297 <meta-data
298 android:name="android.accounts.AccountAuthenticator"
299 android:resource="@xml/authenticator"
300 />
301 </service>
302 <!--
303 EasAuthenticatorService with the altenative label. Disabled by default,
304 and OneTimeInitializer enables it if the vendor policy tells so.
305 -->
306 <service
307 android:name=".service.EasAuthenticatorServiceAlternate"
308 android:exported="true"
309 android:enabled="false"
310 >
311 <intent-filter>
312 <action android:name="android.accounts.AccountAuthenticator" />
313 </intent-filter>
314 <meta-data
315 android:name="android.accounts.AccountAuthenticator"
316 android:resource="@xml/authenticator_alternate"
317 />
Andrew Stadler17250422009-07-07 09:39:11 -0700318 </service>
Makoto Onuki91237e92010-02-02 15:06:52 -0800319 <!--EXCHANGE-REMOVE-SECTION-END-->
Andrew Stadler17250422009-07-07 09:39:11 -0700320
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800321 <provider
322 android:name=".provider.AttachmentProvider"
323 android:authorities="com.android.email.attachmentprovider"
324 android:multiprocess="true"
325 android:grantUriPermissions="true"
326 android:readPermission="com.android.email.permission.READ_ATTACHMENT"
327 />
Andrew Stadler22722202009-09-20 17:23:59 -0700328
329 <!-- This provider MUST be protected by strict permissions, as granting access to
330 it exposes user passwords and other confidential information. -->
Marc Blankc5f2a7a2009-05-27 15:43:27 -0700331 <provider
332 android:name=".provider.EmailProvider"
333 android:authorities="com.android.email.provider"
334 android:multiprocess="true"
Andrew Stadler22722202009-09-20 17:23:59 -0700335 android:permission="com.android.email.permission.ACCESS_PROVIDER"
Marc Blankc5f2a7a2009-05-27 15:43:27 -0700336 />
Andrew Stadlere2c56fc2010-03-13 00:38:47 -0800337
338 <!--EXCHANGE-REMOVE-SECTION-START-->
339 <!-- In this release, GAL information is used locally only, so we used the same
340 strict permissions. -->
341 <provider
342 android:name="com.android.exchange.provider.ExchangeProvider"
343 android:authorities="com.android.exchange.provider"
344 android:multiprocess="true"
345 android:permission="com.android.email.permission.ACCESS_PROVIDER"
346 />
347 <!--EXCHANGE-REMOVE-SECTION-END-->
348
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800349 </application>
350</manifest>