Home | History | Annotate | Download | only in Email
      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:requiredAccountType="com.android.exchange,com.android.email"
     99         android:theme="@style/EmailTheme"
    100         android:hardwareAccelerated="false"
    101         >
    102         <activity
    103             android:name=".activity.Welcome"
    104             >
    105             <intent-filter>
    106                 <action android:name="android.intent.action.MAIN" />
    107                 <category android:name="android.intent.category.DEFAULT" />
    108                 <category android:name="android.intent.category.LAUNCHER" />
    109                 <category android:name="android.intent.category.APP_EMAIL" />
    110             </intent-filter>
    111             <intent-filter>
    112                 <action android:name="android.intent.action.VIEW" />
    113                 <action android:name="android.intent.action.MAIN" />
    114                 <category android:name="android.intent.category.DEFAULT" />
    115                 <category android:name="android.intent.category.LAUNCHER" />
    116                 <data
    117                     android:scheme="content"
    118                     android:host="ui.email.android.com"
    119                     android:path="/view/mailbox"
    120                     />
    121             </intent-filter>
    122         </activity>
    123 
    124         <!-- Must be exported in order for the AccountManager to launch it -->
    125         <!-- Also available for continuous test systems to force account creation -->
    126         <activity
    127             android:name=".activity.setup.AccountSetupBasics"
    128             android:label="@string/account_setup_basics_title"
    129             android:exported="true"
    130             >
    131             <intent-filter>
    132                 <action
    133                     android:name="com.android.email.CREATE_ACCOUNT" />
    134                 <category
    135                     android:name="android.intent.category.DEFAULT" />
    136             </intent-filter>
    137         </activity>
    138         <activity
    139             android:name=".activity.setup.AccountSetupAccountType"
    140             android:label="@string/account_setup_account_type_title"
    141             >
    142         </activity>
    143         <activity
    144             android:name=".activity.setup.AccountSetupIncoming"
    145             android:label="@string/account_setup_incoming_title"
    146             >
    147         </activity>
    148         <activity
    149             android:name=".activity.setup.AccountSetupOutgoing"
    150             android:label="@string/account_setup_outgoing_title"
    151             >
    152         </activity>
    153         <activity
    154             android:name=".activity.setup.AccountSetupExchange"
    155             android:label="@string/account_setup_exchange_title"
    156             >
    157         </activity>
    158         <activity
    159             android:name=".activity.setup.AccountSetupOptions"
    160             android:label="@string/account_setup_options_title"
    161             >
    162         </activity>
    163         <activity
    164             android:name=".activity.setup.AccountSetupNames"
    165             android:label="@string/account_setup_names_title"
    166             >
    167         </activity>
    168         <activity
    169             android:name=".activity.setup.AccountSettings"
    170             android:label="@string/settings_activity_title"
    171             android:theme="@android:style/Theme.Holo.Light"
    172             >
    173             <intent-filter>
    174                 <action
    175                     android:name="com.android.email.activity.setup.ACCOUNT_MANAGER_ENTRY" />
    176                 <category
    177                     android:name="android.intent.category.DEFAULT" />
    178             </intent-filter>
    179             <intent-filter>
    180                 <action android:name="android.intent.action.EDIT" />
    181                 <category android:name="android.intent.category.DEFAULT" />
    182                 <data
    183                     android:scheme="content"
    184                     android:host="ui.email.android.com"
    185                     android:path="/settings"
    186                     />
    187             </intent-filter>
    188             <intent-filter>
    189                 <action android:name="android.intent.action.MANAGE_NETWORK_USAGE" />
    190                 <category android:name="android.intent.category.DEFAULT" />
    191             </intent-filter>
    192         </activity>
    193         <activity
    194             android:name=".activity.setup.AccountSecurity"
    195             android.label="@string/account_security_title"
    196             >
    197         </activity>
    198 
    199         <!-- Don't need to set the title; it will be set programatically -->
    200         <activity
    201             android:name=".activity.ShortcutPicker"
    202             android:enabled="false"
    203             android:theme="@android:style/Theme.Holo.Light.DialogWhenLarge"
    204             >
    205             <intent-filter
    206                 android:label="@string/account_shortcut_picker_name">
    207                 <action
    208                     android:name="android.intent.action.CREATE_SHORTCUT" />
    209                 <category
    210                     android:name="android.intent.category.DEFAULT" />
    211             </intent-filter>
    212         </activity>
    213         <activity
    214             android:name=".activity.EmailActivity"
    215             android:uiOptions="splitActionBarWhenNarrow"
    216             >
    217         </activity>
    218         <activity
    219             android:name=".activity.MessageFileView"
    220             >
    221             <intent-filter
    222                 android:label="@string/app_name">
    223                 <action
    224                     android:name="android.intent.action.VIEW" />
    225                 <data
    226                     android:mimeType="application/eml" />
    227                 <data
    228                     android:mimeType="message/rfc822" />
    229                 <category
    230                     android:name="android.intent.category.DEFAULT" />
    231             </intent-filter>
    232         </activity>
    233         <activity
    234             android:name=".activity.MessageCompose"
    235             android:label="@string/compose_title"
    236             android:enabled="false"
    237             android:theme="@android:style/Theme.Holo.Light"
    238             >
    239             <intent-filter>
    240                 <action
    241                     android:name="android.intent.action.VIEW" />
    242                 <action
    243                     android:name="android.intent.action.SENDTO" />
    244                 <data
    245                     android:scheme="mailto" />
    246                 <category
    247                     android:name="android.intent.category.DEFAULT" />
    248                 <category
    249                     android:name="android.intent.category.BROWSABLE" />
    250             </intent-filter>
    251             <intent-filter
    252                 android:label="@string/app_name">
    253                 <action
    254                     android:name="android.intent.action.SEND" />
    255                 <data
    256                     android:mimeType="*/*" />
    257                 <category
    258                     android:name="android.intent.category.DEFAULT" />
    259             </intent-filter>
    260             <intent-filter
    261                 android:label="@string/app_name">
    262                 <action
    263                     android:name="android.intent.action.SEND_MULTIPLE" />
    264                 <data
    265                     android:mimeType="*/*" />
    266                 <category
    267                     android:name="android.intent.category.DEFAULT" />
    268             </intent-filter>
    269             <intent-filter>
    270                 <action
    271                     android:name="com.android.email.intent.action.REPLY" />
    272             </intent-filter>
    273         </activity>
    274 
    275         <!-- Only used to support pre-HC shortcuts -->
    276         <activity
    277             android:name=".activity.MessageList"
    278             >
    279             <intent-filter>
    280                 <action android:name="android.intent.action.MAIN" />
    281             </intent-filter>
    282         </activity>
    283 
    284         <activity
    285             android:name=".activity.setup.MailboxSettings"
    286             android:label="@string/mailbox_settings_activity_title"
    287             >
    288         </activity>
    289 
    290         <receiver
    291             android:name=".service.AttachmentDownloadService$Watchdog"
    292             android:enabled="true"/>
    293 
    294         <receiver
    295             android:name=".service.EmailBroadcastReceiver"
    296             android:enabled="true">
    297             <intent-filter>
    298                 <action
    299                     android:name="android.intent.action.BOOT_COMPLETED" />
    300                 <action
    301                     android:name="android.intent.action.DEVICE_STORAGE_LOW" />
    302                 <action
    303                     android:name="android.intent.action.DEVICE_STORAGE_OK" />
    304                 <action
    305                     android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
    306             </intent-filter>
    307             <!-- To handle secret code to activate the debug screen. -->
    308             <intent-filter>
    309                 <action
    310                     android:name="android.provider.Telephony.SECRET_CODE" />
    311                 <!-- "36245" = "email" -->
    312                 <data
    313                     android:scheme="android_secret_code"
    314                     android:host="36245" />
    315             </intent-filter>
    316         </receiver>
    317         <service
    318             android:name=".service.EmailBroadcastProcessorService" />
    319 
    320         <!-- Support for DeviceAdmin / DevicePolicyManager.  See SecurityPolicy class for impl. -->
    321         <receiver
    322             android:name=".SecurityPolicy$PolicyAdmin"
    323             android:label="@string/device_admin_label"
    324             android:description="@string/device_admin_description"
    325             android:permission="android.permission.BIND_DEVICE_ADMIN" >
    326             <meta-data
    327                 android:name="android.app.device_admin"
    328                 android:resource="@xml/device_admin" />
    329             <intent-filter>
    330                 <action
    331                     android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
    332             </intent-filter>
    333         </receiver>
    334 
    335         <service
    336             android:name=".service.MailService"
    337             android:enabled="false"
    338             >
    339         </service>
    340 
    341         <service
    342             android:name=".Controller$ControllerService"
    343             android:enabled="true"
    344             >
    345         </service>
    346 
    347         <service
    348             android:name=".service.AttachmentDownloadService"
    349             android:enabled="false"
    350             >
    351         </service>
    352 
    353         <!--Required stanza to register the PopImapAuthenticatorService with AccountManager -->
    354         <service
    355             android:name=".service.PopImapAuthenticatorService"
    356             android:exported="true"
    357             android:enabled="true"
    358             >
    359             <intent-filter>
    360                 <action
    361                     android:name="android.accounts.AccountAuthenticator" />
    362             </intent-filter>
    363             <meta-data
    364                 android:name="android.accounts.AccountAuthenticator"
    365                 android:resource="@xml/pop_imap_authenticator"
    366                 />
    367         </service>
    368 
    369         <!--Required stanza to register the PopImapSyncAdapterService with SyncManager -->
    370         <service
    371             android:name="com.android.email.service.PopImapSyncAdapterService"
    372             android:exported="true">
    373             <intent-filter>
    374                 <action
    375                     android:name="android.content.SyncAdapter" />
    376             </intent-filter>
    377             <meta-data android:name="android.content.SyncAdapter"
    378                        android:resource="@xml/syncadapter_pop_imap" />
    379         </service>
    380 
    381         <!-- Require provider permission to use our Policy and Account services -->
    382         <service
    383             android:name=".service.PolicyService"
    384             android:enabled="true"
    385             android:permission="com.android.email.permission.ACCESS_PROVIDER"
    386             >
    387             <intent-filter>
    388                 <action
    389                     android:name="com.android.email.POLICY_INTENT" />
    390             </intent-filter>
    391         </service>
    392 
    393         <service
    394             android:name=".service.AccountService"
    395             android:enabled="true"
    396             android:permission="com.android.email.permission.ACCESS_PROVIDER"
    397             >
    398             <intent-filter>
    399                 <action
    400                     android:name="com.android.email.ACCOUNT_INTENT" />
    401             </intent-filter>
    402         </service>
    403 
    404         <!--Required stanza to register the EasAuthenticatorService with AccountManager -->
    405         <service
    406             android:name=".service.EasAuthenticatorService"
    407             android:exported="true"
    408             android:enabled="true"
    409             >
    410             <intent-filter>
    411                 <action
    412                     android:name="android.accounts.AccountAuthenticator" />
    413             </intent-filter>
    414             <meta-data
    415                 android:name="android.accounts.AccountAuthenticator"
    416                 android:resource="@xml/eas_authenticator"
    417                 />
    418         </service>
    419         <!--Required stanza to register the EasTestAuthenticatorService with AccountManager -->
    420         <service
    421             android:name=".service.EasTestAuthenticatorService"
    422             android:exported="true"
    423             android:enabled="false"
    424             >
    425             <intent-filter>
    426                 <action
    427                     android:name="android.accounts.AccountAuthenticator" />
    428             </intent-filter>
    429             <meta-data
    430                 android:name="android.accounts.AccountAuthenticator"
    431                 android:resource="@xml/eastest_authenticator"
    432                 />
    433         </service>
    434         <!--
    435             EasAuthenticatorService with the alternative label.  Disabled by default,
    436             and OneTimeInitializer enables it if the vendor policy tells so.
    437         -->
    438         <service
    439             android:name=".service.EasAuthenticatorServiceAlternate"
    440             android:exported="true"
    441             android:enabled="false"
    442             >
    443             <intent-filter>
    444                 <action
    445                     android:name="android.accounts.AccountAuthenticator" />
    446             </intent-filter>
    447             <meta-data
    448                 android:name="android.accounts.AccountAuthenticator"
    449                 android:resource="@xml/authenticator_alternate"
    450                 />
    451         </service>
    452 
    453         <provider
    454             android:name=".provider.AttachmentProvider"
    455             android:authorities="com.android.email.attachmentprovider"
    456             android:multiprocess="true"
    457             android:grantUriPermissions="true"
    458             android:exported="true"
    459             android:readPermission="com.android.email.permission.READ_ATTACHMENT"
    460             />
    461 
    462         <!-- This provider MUST be protected by strict permissions, as granting access to
    463              it exposes user passwords and other confidential information. -->
    464         <provider
    465             android:name=".provider.EmailProvider"
    466             android:authorities="com.android.email.provider;com.android.email.notifier"
    467             android:multiprocess="true"
    468             android:permission="com.android.email.permission.ACCESS_PROVIDER"
    469             android:exported="true"
    470             android:label="@string/app_name"
    471             />
    472 
    473         <!-- Email AppWidget definitions -->
    474         <activity
    475             android:name=".widget.WidgetConfiguration"
    476             android:enabled="true"
    477             android:theme="@android:style/Theme.Holo.Light.DialogWhenLarge"
    478             >
    479             <intent-filter
    480                 android:label="@string/account_shortcut_picker_name">
    481                 <action
    482                     android:name="android.appwidget.action.APPWIDGET_CONFIGURE"/>
    483                 <category
    484                     android:name="android.intent.category.DEFAULT" />
    485             </intent-filter>
    486         </activity>
    487         <service
    488             android:name=".provider.WidgetProvider$WidgetService"
    489             android:permission="android.permission.BIND_REMOTEVIEWS"
    490             android:exported="false"
    491             />
    492         <receiver
    493             android:name=".provider.WidgetProvider" >
    494             <intent-filter>
    495                 <action
    496                     android:name="android.appwidget.action.APPWIDGET_UPDATE" />
    497             </intent-filter>
    498             <intent-filter>
    499                 <action android:name="com.android.email.MESSAGE_LIST_DATASET_CHANGED" />
    500             </intent-filter>
    501             <meta-data
    502                 android:name="android.appwidget.provider"
    503                 android:resource="@xml/widget_info" />
    504         </receiver>
    505     </application>
    506 </manifest>
    507