<?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.
-->

<!--
     Email services (protocols) are defined here.  For the present, these are baked into the Email
     apk; the goal is for remote services to register themselves into this file.

     The required attributes are as follows (except that EITHER serviceClass or intent is required):
         protocol: the unique name used to identify the protocol
         name: the name of the account type option presented to users during account setup
         accountType: the AccountManager type of accounts created using this service
         serviceClass: a class implementing IEmailService (or null, if the service is remote)
         intent: the intent used to connect to a remote IEmailService
         port: the (default) port used when creating accounts using this service
         portSsl: as above, when SSL is selected
         syncIntervalStrings: a reference to an array of sync interval options
         syncIntervals: a reference to an array of values corresponding to syncIntervalStrings
         defaultSyncInterval: the default sync interval, selected from enums defined in attrs.xml

     The following optional attributes default to "false":
         offerTls: whether a TLS option (e.g. STARTTLS) is offered for this service
         offerCerts: whether or not certificate authentication is an option for this service
         offerOAuth: whether or not OAuth authentication is an option for this service
         usesSmtp: whether SMTP is used as the outgoing protocol for this service
         offerPrefix: whether a "prefix" is offered to the user (for IMAP)
         offerLocalDeletes: whether an option to delete locally is offered
         syncChanges: whether non-deletion changes to messages sync back to the server
         offerAttachmentPreload: whether to offer attachment preloading (pre-caching)
         usesAutodiscover: whether to attempt using the "autodiscover" API when creating
           an account
         offerLookback: whether a sync "lookback" is offered (rather than the POP/IMAP
           legacy "25 most recent messages synced")
         defaultLookback: if "lookback" is offered, an enum of possible lookbacks
         syncCalendar: whether this service is capable of syncing a calendar (offering a checkbox)
         syncContacts: whether this service is capable of syncing contacts (offering a checkbox)
-->

<emailservices xmlns:email="http://schemas.android.com/apk/res-auto">
    <emailservice
        email:protocol="pop3"
        email:name="@string/pop3_name"
        email:accountType="@string/account_manager_type_pop3"
        email:serviceClass="com.android.email.service.Pop3Service"
        email:port="110"
        email:portSsl="995"
        email:syncIntervalStrings="@array/account_settings_check_frequency_entries"
        email:syncIntervals="@array/account_settings_check_frequency_values"
        email:defaultSyncInterval="mins15"

        email:offerTls="true"
        email:usesSmtp="true"
        email:offerLocalDeletes="true"
        email:inferPrefix="pop"
        email:offerLoadMore="true"
        email:offerMoveTo="false"
         />
    <emailservice
        email:protocol="imap"
        email:name="@string/imap_name"
        email:accountType="@string/account_manager_type_imap"
        email:serviceClass="com.android.email.service.ImapService"
        email:port="143"
        email:portSsl="993"
        email:syncIntervalStrings="@array/account_settings_check_frequency_entries"
        email:syncIntervals="@array/account_settings_check_frequency_values"
        email:defaultSyncInterval="mins15"

        email:offerTls="true"
        email:usesSmtp="true"
        email:offerAttachmentPreload="true"
        email:offerPrefix="true"
        email:syncChanges="true"
        email:inferPrefix="imap"
        email:offerOAuth="true"
        email:offerLoadMore="true"
        email:offerMoveTo="true"
         />
    <emailservice
        email:protocol="@string/protocol_eas"
        email:name="Exchange"
        email:accountType="@string/account_manager_type_exchange"
        email:intent="@string/intent_exchange_action"
        email:intentPackage="@string/intent_exchange_package"
        email:port="80"
        email:portSsl="443"
        email:syncIntervalStrings="@array/account_settings_check_frequency_entries_push"
        email:syncIntervals="@array/account_settings_check_frequency_values_push"
        email:defaultSyncInterval="push"

        email:defaultSsl="true"
        email:offerCerts="true"
        email:syncChanges="true"
        email:usesAutodiscover="true"
        email:offerAttachmentPreload="true"
        email:offerLookback="true"
        email:defaultLookback="auto"
        email:syncContacts="true"
        email:syncCalendar="true"
        email:offerMoveTo="true"
        />
    <emailservice
        email:protocol="gmail"
        email:name="@string/gmail_name"
        email:isGmailStub="true"
        email:hide="true"
        />
</emailservices>
