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