<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2012 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.mail"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <!-- Allows mail to access the user's contacts, for email address auto-completion -->
    <uses-permission android:name="android.permission.READ_CONTACTS"/>
    <!-- Allows access to EmailProvider (EAS/IMAP/POP3) -->
    <uses-permission android:name="com.android.email.permission.ACCESS_PROVIDER"/>
    <uses-permission android:name="com.android.email.permission.READ_ATTACHMENT"/>
    <uses-permission android:name="android.permission.NFC" />

    <!-- This needs to be present when we are doing unbundled releases. -->
    <uses-sdk android:targetSdkVersion="17" android:minSdkVersion="14" />

    <application
        android:icon="@mipmap/ic_launcher_mail"
        android:label="@string/app_name"
        android:theme="@style/UnifiedEmailTheme" >
        <!-- Enable search in all activities -->
        <meta-data android:name="android.app.default_searchable"
            android:value=".ui.MailActivity" />
        <!-- TODO: add a permission on this -->
        <activity
            android:label="@string/app_name"
            android:name=".ui.MailActivity"
            android:launchMode="singleTop"
            android:uiOptions="splitActionBarWhenNarrow">
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="content"/>
                <data android:mimeType="application/mail-ls" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data android:name="android.app.searchable" android:resource="@xml/searchable" />
        </activity>
        <activity android:name=".compose.ComposeActivity"
            android:theme="@android:style/Theme.Holo.Light">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <action android:name="android.intent.action.SENDTO" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="mailto" />
            </intent-filter>

            <intent-filter>
                <action android:name="android.nfc.action.NDEF_DISCOVERED" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="mailto" />
           </intent-filter>

            <intent-filter android:label="@string/compose">
                <action android:name="android.intent.action.SEND" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="*/*" />
            </intent-filter>

            <intent-filter android:label="@string/compose">
                <action android:name="android.intent.action.SEND_MULTIPLE" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="*/*" />
            </intent-filter>
        </activity>
        <activity android:name="LabelSynchronizationActivity"
            android:theme="@android:style/Theme.Holo.Light.Dialog" />

        <activity android:name=".ui.CreateShortcutActivity"
            android:theme="@style/ShortcutWidgetTheme"
            android:label="@string/activity_folder_selection" />

        <activity android:name=".ui.FolderSelectionActivity"
            android:theme="@style/ShortcutWidgetTheme"
            android:label="@string/activity_folder_selection" />

        <activity android:name=".ui.MailboxSelectionActivity"
            android:theme="@style/InvisibleShortcutWidgetTheme"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
            </intent-filter>
        </activity>

        <activity
            android:name=".photo.MailPhotoViewActivity"
            android:label="@string/app_name"
            android:theme="@style/PhotoViewTheme" >
        </activity>

        <provider
            android:authorities="com.android.mail.mockprovider"
            android:label="@string/mock_content_provider"
            android:multiprocess="false"
            android:name=".providers.protos.mock.MockUiProvider" >
            <grant-uri-permission android:pathPattern=".*" />
        </provider>

        <provider
            android:authorities="com.android.mail.conversation.provider"
            android:label="@string/conversation_content_provider"
            android:multiprocess="false"
            android:name=".browse.UnifiedConversationProvider" >
            <grant-uri-permission android:pathPattern=".*" />
        </provider>

        <provider
            android:authorities="com.android.mail.accountcache"
            android:label="@string/account_cache_provider"
            android:multiprocess="false"
            android:name=".providers.UnifiedAccountCacheProvider" >
            <grant-uri-permission android:pathPattern=".*" />
        </provider>

        <!-- The android:name is the name of the Provider class which is stored in
          UnifiedEmail, and has package name com.android.mail.providers and the class is
          called SuggestionsProvider. The authority name is specified in the MailAppProvider
          which is specific to the two apps separately. -->
        <provider android:name="com.android.mail.providers.SuggestionsProvider"
            android:authorities="com.android.mail.suggestionsprovider" />

        <receiver android:name=".providers.protos.boot.AccountReceiver">
          <intent-filter>
              <action android:name="com.android.mail.providers.protos.boot.intent.ACTION_PROVIDER_CREATED" />
          </intent-filter>
        </receiver>

        <service android:name=".compose.EmptyService"/>

        <!-- Widget -->
        <receiver android:name=".widget.WidgetProvider" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <intent-filter>
                <action android:name="com.android.mail.ACTION_NOTIFY_DATASET_CHANGED" />
            </intent-filter>
            <meta-data android:name="android.appwidget.provider"
                       android:resource="@xml/widget_info" />
        </receiver>
        <service android:name=".widget.WidgetService"
                 android:permission="android.permission.BIND_REMOTEVIEWS"
                 android:exported="false" />

    </application>

</manifest>
