<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2008 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
          http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.email"
    android:versionCode="230000"
    android:versionName="2.3"
    >

    <original-package android:name="com.android.email" />

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="android.permission.READ_CONTACTS"/>
    <uses-permission android:name="android.permission.READ_OWNER_DATA"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />

    <!--  For EAS purposes; could be removed when EAS has a permanent home -->
    <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
    <uses-permission android:name="android.permission.WRITE_CALENDAR"/>
    <uses-permission android:name="android.permission.READ_CALENDAR"/>

    <!-- Only required if a store implements push mail and needs to keep network open -->
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>

    <!-- Grant permission to other apps to view attachments -->
    <permission android:name="com.android.email.permission.READ_ATTACHMENT"
                android:permissionGroup="android.permission-group.MESSAGES"
                android:protectionLevel="dangerous"
                android:label="@string/read_attachment_label"
                android:description="@string/read_attachment_desc"/>
    <uses-permission android:name="com.android.email.permission.READ_ATTACHMENT"/>

    <!-- Grant permission to system apps to access provider (see provider below) -->
    <permission android:name="com.android.email.permission.ACCESS_PROVIDER"
                android:protectionLevel="signatureOrSystem"
                android:label="@string/permission_access_provider_label"
                android:description="@string/permission_access_provider_desc"/>
    <uses-permission android:name="com.android.email.permission.ACCESS_PROVIDER"/>

    <application android:icon="@drawable/icon" android:label="@string/app_name"
        android:name="Email">
        <activity
            android:name=".activity.Welcome">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".activity.UpgradeAccounts"
            android:label="@string/upgrade_accounts_title"
            android:theme="@android:style/Theme.NoTitleBar"
            android:configChanges="keyboardHidden|orientation" >
        </activity>
        <!-- Must be exported in order for the AccountManager to launch it -->
        <activity
            android:name=".activity.setup.AccountSetupBasics"
            android:label="@string/account_setup_basics_title"
            android:exported="true"
            >
        </activity>
        <activity
            android:name=".activity.setup.AccountSetupAccountType"
            android:label="@string/account_setup_account_type_title"
            >
        </activity>
        <activity
            android:name=".activity.setup.AccountSetupIncoming"
            android:label="@string/account_setup_incoming_title"
            >
        </activity>
        <activity
            android:name=".activity.setup.AccountSetupOutgoing"
            android:label="@string/account_setup_outgoing_title"
            >
        </activity>
        <!--EXCHANGE-REMOVE-SECTION-START-->
        <!-- This activity ignores configuration changes (e.g. rotation) so that it will
             not make multiple calls to AccountSetupCheckSettings. -->
        <activity
            android:name=".activity.setup.AccountSetupExchange"
            android:label="@string/account_setup_exchange_title"
            android:configChanges="keyboardHidden|orientation"
            >
        </activity>
        <!--EXCHANGE-REMOVE-SECTION-END-->
        <activity
            android:name=".activity.setup.AccountSetupOptions"
            android:label="@string/account_setup_options_title"
            >
        </activity>
        <activity
            android:name=".activity.setup.AccountSetupNames"
            android:label="@string/account_setup_names_title"
            >
        </activity>
        <!-- XXX Note: this activity is hacked to ignore config changes,
             since it doesn't currently handle them correctly in code. -->
        <activity
            android:name=".activity.setup.AccountSetupCheckSettings"
            android:label="@string/account_setup_check_settings_title"
            android:configChanges="keyboardHidden|orientation"
            >
        </activity>
        <activity
            android:name=".activity.setup.AccountSettings"
            android:label="@string/account_settings_action"
            >
            <intent-filter>
                <action android:name="com.android.email.activity.setup.ACCOUNT_MANAGER_ENTRY" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity
            android:name=".activity.setup.AccountSecurity"
            android.label="@string/account_security_title"
            >
        </activity>

        <activity
            android:name=".activity.Debug"
            android:label="@string/debug_title">
        </activity>
        <activity
            android:name=".activity.AccountFolderList"
            android:launchMode="singleTop" >
        </activity>
        
        <activity 
            android:name=".activity.AccountShortcutPicker"
            android:label="@string/app_name"
            android:enabled="false"
            >
            <intent-filter>
                <action android:name="android.intent.action.CREATE_SHORTCUT" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        
        <activity
            android:name=".activity.MailboxList"
            android:theme="@style/ThemeNoTitleBar">
        </activity>
        
        <activity
            android:name=".activity.MessageList"
            android:theme="@style/ThemeNoTitleBar">
            <intent-filter>
                <!-- This action is only to allow an entry point for launcher shortcuts -->
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>

        <!--
            This activity catches shortcuts to account created on Android 1.6 and before,
            and redirects to MessageList.
            singleTask is necessary to make sure the activity is really launched.
            Without it, the framework brings up the app to front, but doesn't necessarily
            launch the activity.
        -->
        <activity
            android:name=".activity.FolderMessageList"
            android:launchMode="singleTask"
            >
            <intent-filter>
                <!-- This action is only to allow an entry point for launcher shortcuts -->
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>
                
        <activity
            android:name=".activity.MessageView"
            android:theme="@android:style/Theme.NoTitleBar" >
        </activity>
        <activity
            android:name=".activity.MessageCompose"
            android:label="@string/app_name"
            android:enabled="false"
            >
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <action android:name="android.intent.action.SENDTO" />
                <data android:scheme="mailto" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
            </intent-filter>
            <intent-filter android:label="@string/app_name">
                <action android:name="android.intent.action.SEND" />
                <data android:mimeType="*/*" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <intent-filter android:label="@string/app_name">
                <action android:name="android.intent.action.SEND_MULTIPLE" />
                <data android:mimeType="*/*" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <!--EXCHANGE-REMOVE-SECTION-START-->
        <receiver android:name="com.android.exchange.EmailSyncAlarmReceiver"/>
        <receiver android:name="com.android.exchange.MailboxAlarmReceiver"/>
        <!--EXCHANGE-REMOVE-SECTION-END-->

        <receiver android:name=".service.EmailBroadcastReceiver" android:enabled="true">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.DEVICE_STORAGE_LOW" />
                <action android:name="android.intent.action.DEVICE_STORAGE_OK" />
            </intent-filter>
        </receiver>
        <service android:name=".service.EmailBroadcastProcessorService" />

        <!-- Support for DeviceAdmin / DevicePolicyManager.  See SecurityPolicy class for impl. -->
        <receiver
            android:name=".SecurityPolicy$PolicyAdmin"
            android:label="@string/device_admin_label"
            android:description="@string/device_admin_description"
            android:permission="android.permission.BIND_DEVICE_ADMIN" >
            <meta-data
                android:name="android.app.device_admin"
                android:resource="@xml/device_admin" />
            <intent-filter>
                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
            </intent-filter>
        </receiver>

        <service
            android:name=".service.MailService"
            android:enabled="false"
            >
        </service>
        
        <!--EXCHANGE-REMOVE-SECTION-START-->
        <!--Required stanza to register the ContactsSyncAdapterService with SyncManager -->
        <service 
            android:name="com.android.exchange.ContactsSyncAdapterService" 
        	android:exported="true">
            <intent-filter>
                <action android:name="android.content.SyncAdapter" />
            </intent-filter>
            <meta-data android:name="android.content.SyncAdapter"
                       android:resource="@xml/syncadapter_contacts" />
        </service>

        <!--Required stanza to register the CalendarSyncAdapterService with SyncManager -->
        <service
            android:name="com.android.exchange.CalendarSyncAdapterService"
            android:exported="true">
            <intent-filter>
                <action android:name="android.content.SyncAdapter" />
            </intent-filter>
            <meta-data android:name="android.content.SyncAdapter"
                       android:resource="@xml/syncadapter_calendar" />
        </service>

        <!-- Add android:process=":remote" below to enable SyncManager as a separate process -->
        <service
            android:name="com.android.exchange.SyncManager"
            android:enabled="true"
            >
        </service>

        <!--Required stanza to register the EasAuthenticatorService with AccountManager -->
        <service
            android:name=".service.EasAuthenticatorService"
            android:exported="true"
            android:enabled="true"
            >
            <intent-filter>
                <action android:name="android.accounts.AccountAuthenticator" />
            </intent-filter>
            <meta-data
                android:name="android.accounts.AccountAuthenticator"
                android:resource="@xml/authenticator"
                />
        </service>
        <!--
            EasAuthenticatorService with the altenative label.  Disabled by default,
            and OneTimeInitializer enables it if the vendor policy tells so.
        -->
        <service
            android:name=".service.EasAuthenticatorServiceAlternate"
            android:exported="true"
            android:enabled="false"
            >
            <intent-filter>
                <action android:name="android.accounts.AccountAuthenticator" />
            </intent-filter>
            <meta-data
                android:name="android.accounts.AccountAuthenticator"
                android:resource="@xml/authenticator_alternate"
                />
        </service>
        <!--EXCHANGE-REMOVE-SECTION-END-->

        <provider
            android:name=".provider.AttachmentProvider"
            android:authorities="com.android.email.attachmentprovider"
            android:multiprocess="true"
            android:grantUriPermissions="true"
            android:readPermission="com.android.email.permission.READ_ATTACHMENT"
            />

        <!-- This provider MUST be protected by strict permissions, as granting access to
             it exposes user passwords and other confidential information. -->
        <provider
            android:name=".provider.EmailProvider"
            android:authorities="com.android.email.provider"
            android:multiprocess="true"
            android:permission="com.android.email.permission.ACCESS_PROVIDER"
            />

        <!--EXCHANGE-REMOVE-SECTION-START-->
        <!-- In this release, GAL information is used locally only, so we used the same
             strict permissions. -->
        <provider
            android:name="com.android.exchange.provider.ExchangeProvider"
            android:authorities="com.android.exchange.provider"
            android:multiprocess="true"
            android:permission="com.android.email.permission.ACCESS_PROVIDER"
            />
        <!--EXCHANGE-REMOVE-SECTION-END-->

    </application>
</manifest>
