blob: 1828a03d1e4e5b5b9750c6df289e93f7d6b6b918 [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-->
The Android Open Source Project96c5af42009-03-03 19:32:22 -080098 <activity
Andy Stadler87c43ca2009-04-03 16:02:55 -070099 android:name=".activity.setup.AccountSetupExchange"
100 android:label="@string/account_setup_exchange_title"
101 >
102 </activity>
Makoto Onuki91237e92010-02-02 15:06:52 -0800103 <!--EXCHANGE-REMOVE-SECTION-END-->
Andy Stadler87c43ca2009-04-03 16:02:55 -0700104 <activity
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800105 android:name=".activity.setup.AccountSetupOptions"
106 android:label="@string/account_setup_options_title"
107 >
108 </activity>
109 <activity
110 android:name=".activity.setup.AccountSetupNames"
111 android:label="@string/account_setup_names_title"
112 >
113 </activity>
114 <!-- XXX Note: this activity is hacked to ignore config changes,
115 since it doesn't currently handle them correctly in code. -->
116 <activity
117 android:name=".activity.setup.AccountSetupCheckSettings"
118 android:label="@string/account_setup_check_settings_title"
119 android:configChanges="keyboardHidden|orientation"
120 >
121 </activity>
122 <activity
123 android:name=".activity.setup.AccountSettings"
124 android:label="@string/account_settings_action"
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800125 >
126 </activity>
Andrew Stadler3d2b3b32010-02-05 11:10:39 -0800127 <activity
128 android:name=".activity.setup.AccountSecurity"
129 android.label="@string/account_security_title"
130 >
131 </activity>
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800132
133 <activity
134 android:name=".activity.Debug"
135 android:label="@string/debug_title">
136 </activity>
137 <activity
Andrew Stadler72dce732009-07-09 12:33:09 -0700138 android:name=".activity.AccountFolderList"
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800139 android:launchMode="singleTop" >
140 </activity>
141
142 <activity
143 android:name=".activity.AccountShortcutPicker"
144 android:label="@string/app_name"
145 android:enabled="false"
146 >
147 <intent-filter>
148 <action android:name="android.intent.action.CREATE_SHORTCUT" />
149 <category android:name="android.intent.category.DEFAULT" />
150 </intent-filter>
151 </activity>
152
153 <activity
Mihai Predab0528852010-02-10 16:46:41 +0100154 android:name=".activity.MailboxList"
155 android:theme="@style/ThemeNoTitleBar">
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800156 </activity>
Andrew Stadler47654722009-06-30 15:12:23 -0700157
158 <activity
Mihai Predab0528852010-02-10 16:46:41 +0100159 android:name=".activity.MessageList"
160 android:theme="@style/ThemeNoTitleBar">
Andrew Stadler4e4abc62009-07-21 11:06:14 -0700161 <intent-filter>
162 <!-- This action is only to allow an entry point for launcher shortcuts -->
163 <action android:name="android.intent.action.MAIN" />
164 </intent-filter>
Andrew Stadler47654722009-06-30 15:12:23 -0700165 </activity>
166
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800167 <activity
168 android:name=".activity.MessageView"
169 android:theme="@android:style/Theme.NoTitleBar" >
170 </activity>
171 <activity
172 android:name=".activity.MessageCompose"
173 android:label="@string/app_name"
174 android:enabled="false"
175 >
176 <intent-filter>
177 <action android:name="android.intent.action.VIEW" />
178 <action android:name="android.intent.action.SENDTO" />
179 <data android:scheme="mailto" />
180 <category android:name="android.intent.category.DEFAULT" />
181 <category android:name="android.intent.category.BROWSABLE" />
182 </intent-filter>
183 <intent-filter android:label="@string/app_name">
184 <action android:name="android.intent.action.SEND" />
Andrew Stadler92a1ff92009-09-27 23:49:10 -0700185 <data android:mimeType="*/*" />
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800186 <category android:name="android.intent.category.DEFAULT" />
187 </intent-filter>
Mihai Predafa2238c2009-09-01 16:25:30 +0200188 <intent-filter android:label="@string/app_name">
189 <action android:name="android.intent.action.SEND_MULTIPLE" />
190 <data android:mimeType="*/*" />
191 <category android:name="android.intent.category.DEFAULT" />
192 </intent-filter>
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800193 </activity>
Makoto Onuki91237e92010-02-02 15:06:52 -0800194 <!--EXCHANGE-REMOVE-SECTION-START-->
Marc Blank5f251622009-08-04 22:33:32 -0700195 <receiver android:name="com.android.exchange.EmailSyncAlarmReceiver"/>
Marc Blankb6493a02009-07-05 12:54:49 -0700196 <receiver android:name="com.android.exchange.MailboxAlarmReceiver"/>
Marc Blank53cb37c2009-08-28 10:33:18 -0700197 <receiver android:name="com.android.exchange.BootReceiver" android:enabled="true">
198 <intent-filter>
199 <action android:name="android.intent.action.BOOT_COMPLETED" />
200 </intent-filter>
201 </receiver>
Makoto Onuki91237e92010-02-02 15:06:52 -0800202 <!--EXCHANGE-REMOVE-SECTION-END-->
Marc Blank53cb37c2009-08-28 10:33:18 -0700203
Marc Blank5fed9342009-09-23 15:06:19 -0700204 <receiver android:name=".service.BootReceiver" android:enabled="true">
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800205 <intent-filter>
206 <action android:name="android.intent.action.BOOT_COMPLETED" />
207 </intent-filter>
208 <intent-filter>
209 <action android:name="android.intent.action.DEVICE_STORAGE_LOW" />
210 </intent-filter>
211 <intent-filter>
212 <action android:name="android.intent.action.DEVICE_STORAGE_OK" />
213 </intent-filter>
214 </receiver>
Marc Blank53cb37c2009-08-28 10:33:18 -0700215
Andrew Stadlerd6286082010-02-01 16:48:16 -0800216 <!-- Support for DeviceAdmin / DevicePolicyManager. See SecurityPolicy class for impl. -->
217 <receiver
218 android:name=".SecurityPolicy$PolicyAdmin"
219 android:label="@string/device_admin_label"
220 android:description="@string/device_admin_description"
221 android:permission="android.permission.BIND_DEVICE_ADMIN" >
222 <meta-data
223 android:name="android.app.device_admin"
224 android:resource="@xml/device_admin" />
225 <intent-filter>
226 <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
227 </intent-filter>
228 </receiver>
229
Makoto Onukib854d052010-01-28 10:07:51 -0800230 <receiver
231 android:name=".OneTimeInitializer"
232 android:enabled="true"
233 >
234 <intent-filter>
235 <action android:name="android.intent.action.BOOT_COMPLETED" />
236 </intent-filter>
237 </receiver>
238
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800239 <service
240 android:name=".service.MailService"
241 android:enabled="false"
242 >
243 </service>
Marc Blank28fc7792009-07-20 17:15:45 -0700244
Makoto Onuki91237e92010-02-02 15:06:52 -0800245 <!--EXCHANGE-REMOVE-SECTION-START-->
Marc Blank948c36f2009-07-27 10:24:58 -0700246 <!--Required stanza to register the ContactsSyncAdapterService with SyncManager -->
247 <service
248 android:name="com.android.exchange.ContactsSyncAdapterService"
249 android:exported="true">
250 <intent-filter>
251 <action android:name="android.content.SyncAdapter" />
252 </intent-filter>
253 <meta-data android:name="android.content.SyncAdapter"
254 android:resource="@xml/syncadapter_contacts" />
255 </service>
256
Marc Blankf3fcb892009-10-28 18:12:51 -0700257 <!--Required stanza to register the CalendarSyncAdapterService with SyncManager -->
258 <service
259 android:name="com.android.exchange.CalendarSyncAdapterService"
260 android:exported="true">
261 <intent-filter>
262 <action android:name="android.content.SyncAdapter" />
263 </intent-filter>
264 <meta-data android:name="android.content.SyncAdapter"
265 android:resource="@xml/syncadapter_calendar" />
266 </service>
267
Marc Blank28fc7792009-07-20 17:15:45 -0700268 <!-- Add android:process=":remote" below to enable SyncManager as a separate process -->
Marc Blank2c67f1f2009-06-16 12:03:45 -0700269 <service
270 android:name="com.android.exchange.SyncManager"
271 android:enabled="true"
272 >
273 </service>
Andrew Stadler17250422009-07-07 09:39:11 -0700274
275 <!--Required stanza to register the EasAuthenticatorService with AccountManager -->
Makoto Onukib854d052010-01-28 10:07:51 -0800276 <service
277 android:name=".service.EasAuthenticatorService"
278 android:exported="true"
279 android:enabled="true"
280 >
Andrew Stadler17250422009-07-07 09:39:11 -0700281 <intent-filter>
282 <action android:name="android.accounts.AccountAuthenticator" />
283 </intent-filter>
Makoto Onukib854d052010-01-28 10:07:51 -0800284 <meta-data
285 android:name="android.accounts.AccountAuthenticator"
286 android:resource="@xml/authenticator"
287 />
288 </service>
289 <!--
290 EasAuthenticatorService with the altenative label. Disabled by default,
291 and OneTimeInitializer enables it if the vendor policy tells so.
292 -->
293 <service
294 android:name=".service.EasAuthenticatorServiceAlternate"
295 android:exported="true"
296 android:enabled="false"
297 >
298 <intent-filter>
299 <action android:name="android.accounts.AccountAuthenticator" />
300 </intent-filter>
301 <meta-data
302 android:name="android.accounts.AccountAuthenticator"
303 android:resource="@xml/authenticator_alternate"
304 />
Andrew Stadler17250422009-07-07 09:39:11 -0700305 </service>
Makoto Onuki91237e92010-02-02 15:06:52 -0800306 <!--EXCHANGE-REMOVE-SECTION-END-->
Andrew Stadler17250422009-07-07 09:39:11 -0700307
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800308 <provider
309 android:name=".provider.AttachmentProvider"
310 android:authorities="com.android.email.attachmentprovider"
311 android:multiprocess="true"
312 android:grantUriPermissions="true"
313 android:readPermission="com.android.email.permission.READ_ATTACHMENT"
314 />
Andrew Stadler22722202009-09-20 17:23:59 -0700315
316 <!-- This provider MUST be protected by strict permissions, as granting access to
317 it exposes user passwords and other confidential information. -->
Marc Blankc5f2a7a2009-05-27 15:43:27 -0700318 <provider
319 android:name=".provider.EmailProvider"
320 android:authorities="com.android.email.provider"
321 android:multiprocess="true"
Andrew Stadler22722202009-09-20 17:23:59 -0700322 android:permission="com.android.email.permission.ACCESS_PROVIDER"
Marc Blankc5f2a7a2009-05-27 15:43:27 -0700323 />
The Android Open Source Project96c5af42009-03-03 19:32:22 -0800324 </application>
325</manifest>