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