Home | History | Annotate | Download | only in xml
      1 <?xml version="1.0" encoding="utf-8"?>
      2 <!--
      3 /**
      4  * Copyright (c) 2011, The Android Open Source Project
      5  *
      6  * Licensed under the Apache License, Version 2.0 (the "License");
      7  * you may not use this file except in compliance with the License.
      8  * You may obtain a copy of the License at
      9  *
     10  *     http://www.apache.org/licenses/LICENSE-2.0
     11  *
     12  * Unless required by applicable law or agreed to in writing, software
     13  * distributed under the License is distributed on an "AS IS" BASIS,
     14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     15  * See the License for the specific language governing permissions and
     16  * limitations under the License.
     17  */
     18 -->
     19 
     20 <ContactsAccountType
     21     xmlns:android="http://schemas.android.com/apk/res/android"
     22     >
     23     <EditSchema
     24         >
     25         <!--
     26             Name:
     27             - maxOccurs must be 1
     28             - No types.
     29 
     30             - Currently all the supportsXxx attributes must be true, but here's the plan for the
     31               future:
     32               (There's some hardcoded assumptions in the contact editor, which is one reason
     33               for the above restriction)
     34 
     35                 - "Family name" and "Given name" must be supported.
     36                     - All sync adapters must support structured name. "display name only" is not
     37                       supported.
     38                       -> Supporting this would require relatively large changes to
     39                          the contact editor.
     40 
     41                 - Fields are decided from the attributes:
     42                     StructuredName.DISPLAY_NAME         if supportsDisplayName == true
     43                     StructuredName.PREFIX               if supportsPrefix == true
     44                     StructuredName.FAMILY_NAME          (always)
     45                     StructuredName.MIDDLE_NAME          if supportsPrefix == true
     46                     StructuredName.GIVEN_NAME           (always)
     47                     StructuredName.SUFFIX               if supportsSuffix == true
     48                     StructuredName.PHONETIC_FAMILY_NAME if supportsPhoneticFamilyName == true
     49                     StructuredName.PHONETIC_MIDDLE_NAME if supportsPhoneticMiddleName == true
     50                     StructuredName.PHONETIC_GIVEN_NAME  if supportsPhoneticGivenName == true
     51 
     52                 - DataKind.PSEUDO_MIME_TYPE_DISPLAY_NAME  is always added.
     53                 - DataKind.PSEUDO_MIME_TYPE_PHONETIC_NAME is added
     54                   if any of supportsPhoneticXxx == true
     55         -->
     56         <!-- Fallback/Google definition.  Supports all. -->
     57         <DataKind kind="name"
     58             maxOccurs="1"
     59             supportsPrefix="true"
     60             supportsMiddleName="true"
     61             supportsSuffix="true"
     62             supportsPhoneticFamilyName="true"
     63             supportsPhoneticMiddleName="true"
     64             supportsPhoneticGivenName="true"
     65             >
     66         </DataKind>
     67 
     68         <!-- Exchange definition.  No display-name, no phonetic-middle.
     69         <DataKind kind="name"
     70             supportsPrefix="true"
     71             supportsMiddleName="true"
     72             supportsSuffix="true"
     73             supportsPhoneticFamilyName="true"
     74             supportsPhoneticMiddleName="false"
     75             supportsPhoneticGivenName ="true"
     76             >
     77         </DataKind>
     78         -->
     79 
     80         <!--
     81             Photo:
     82             - maxOccurs must be 1
     83             - No types.
     84         -->
     85         <DataKind kind="photo" maxOccurs="1" />
     86 
     87         <!--
     88             Phone definition.
     89             - "is secondary?" is inferred from type.
     90         -->
     91         <!-- Fallback, Google definition.  -->
     92         <DataKind kind="phone" >
     93             <!-- Note: Google type doesn't have obsolete ones -->
     94             <Type type="mobile" />
     95             <Type type="home" />
     96             <Type type="work" />
     97             <Type type="fax_work" />
     98             <Type type="fax_home" />
     99             <Type type="pager" />
    100             <Type type="other" />
    101             <Type type="custom"/>
    102             <Type type="callback" />
    103             <Type type="car" />
    104             <Type type="company_main" />
    105             <Type type="isdn" />
    106             <Type type="main" />
    107             <Type type="other_fax" />
    108             <Type type="radio" />
    109             <Type type="telex" />
    110             <Type type="tty_tdd" />
    111             <Type type="work_mobile"/>
    112             <Type type="work_pager" />
    113             <Type type="assistant" />
    114             <Type type="mms" />
    115         </DataKind>
    116 
    117         <!-- Exchange definition.
    118         <DataKind kind="phone" >
    119             <Type type="home" maxOccurs="2" />
    120             <Type type="mobile" maxOccurs="1" />
    121             <Type type="work" maxOccurs="2" />
    122             <Type type="fax_work" maxOccurs="1" />
    123             <Type type="fax_home" maxOccurs="1" />
    124             <Type type="pager" maxOccurs="1" />
    125             <Type type="car" maxOccurs="1" />
    126             <Type type="company_main" maxOccurs="1" />
    127             <Type type="mms" maxOccurs="1" />
    128             <Type type="radio" maxOccurs="1" />
    129             <Type type="assistant" maxOccurs="1" />
    130         </DataKind>
    131         -->
    132 
    133         <!--
    134             Email
    135         -->
    136         <!-- Fallback/Google definition.  -->
    137         <DataKind kind="email" >
    138             <!-- Note: Google type doesn't have obsolete ones -->
    139             <Type type="home" />
    140             <Type type="work" />
    141             <Type type="other" />
    142             <Type type="mobile" />
    143             <Type type="custom" />
    144         </DataKind>
    145 
    146         <!--
    147             Exchange definition.
    148             - Same definition as "fallback" except for maxOccurs=3
    149         <DataKind kind="email" maxOccurs="3" >
    150             <Type type="home" />
    151             <Type type="work" />
    152             <Type type="other" />
    153             <Type type="mobile" />
    154             <Type type="custom" />
    155         </DataKind>
    156         -->
    157 
    158         <!--
    159             Nickname
    160             - maxOccurs must be 1
    161             - No types.
    162         -->
    163         <DataKind kind="nickname" maxOccurs="1" />
    164 
    165         <!--
    166             Im:
    167              - The TYPE column always stores Im.TYPE_OTHER (defaultValues is always set)
    168              - The user-selected type is stored in Im.PROTOCOL
    169         -->
    170         <!-- Fallback, Google definition.  -->
    171         <DataKind kind="im" >
    172             <Type type="aim" />
    173             <Type type="msn" />
    174             <Type type="yahoo" />
    175             <Type type="skype" />
    176             <Type type="qq" />
    177             <Type type="google_talk" />
    178             <Type type="icq" />
    179             <Type type="jabber" />
    180             <Type type="custom" />
    181         </DataKind>
    182 
    183         <!-- Exchange definition.
    184         <DataKind kind="im" maxOccurs="3" >
    185             <Type type="aim" />
    186             <Type type="msn" />
    187             <Type type="yahoo" />
    188             <Type type="skype" />
    189             <Type type="qq" />
    190             <Type type="google_talk" />
    191             <Type type="icq" />
    192             <Type type="jabber" />
    193             <Type type="custom" />
    194         </DataKind>
    195         -->
    196 
    197         <!--
    198             Postal address.
    199         -->
    200         <!-- Fallback/Google definition.  Not structured. -->
    201         <DataKind kind="postal" needsStructured="false" >
    202             <Type type="home" />
    203             <Type type="work" />
    204             <Type type="other" />
    205             <Type type="custom" />
    206         </DataKind>
    207 
    208         <!-- Exchange definition.  Structured.
    209         <DataKind kind="postal" needsStructured="true" >
    210             <Type type="work" />
    211             <Type type="home" />
    212             <Type type="other" />
    213         </DataKind>
    214         -->
    215 
    216         <!--
    217             Organization:
    218             - Fields are fixed: COMPANY, TITLE
    219             - maxOccurs must be 1
    220             - No types.
    221         -->
    222         <DataKind kind="organization" maxOccurs="1" />
    223 
    224         <!--
    225             Website:
    226             - No types.
    227         -->
    228         <DataKind kind="website" />
    229 
    230         <!--
    231             Below kinds have nothing configurable.
    232             - No types are supported.
    233             - maxOccurs must be 1
    234         -->
    235         <DataKind kind="sip_address" maxOccurs="1" />
    236         <DataKind kind="note" maxOccurs="1" />
    237 
    238         <!--
    239             Google/Exchange supports it, but fallback doesn't.
    240         <DataKind kind="group_membership" maxOccurs="1" />
    241         -->
    242 
    243         <!--
    244             Event
    245         -->
    246         <DataKind kind="event" dateWithTime="false">
    247             <Type type="birthday" maxOccurs="1" yearOptional="true" />
    248             <Type type="anniversary" />
    249             <Type type="other" />
    250             <Type type="custom" />
    251         </DataKind>
    252 
    253         <!--
    254             Exchange definition.  dateWithTime is needed only for Exchange.
    255         <DataKind kind="event" dateWithTime="true">
    256             <Type type="birthday" maxOccurs="1" />
    257         </DataKind>
    258         -->
    259 
    260         <!--
    261             Relationship
    262         -->
    263         <DataKind kind="relationship" >
    264             <Type type="assistant" />
    265             <Type type="brother" />
    266             <Type type="child" />
    267             <Type type="domestic_partner" />
    268             <Type type="father" />
    269             <Type type="friend" />
    270             <Type type="manager" />
    271             <Type type="mother" />
    272             <Type type="parent" />
    273             <Type type="partner" />
    274             <Type type="referred_by" />
    275             <Type type="relative" />
    276             <Type type="sister" />
    277             <Type type="spouse" />
    278             <Type type="custom" />
    279         </DataKind>
    280     </EditSchema>
    281 </ContactsAccountType>
    282