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