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="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