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