1ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian/* 2ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * Copyright (C) 2012 The Android Open Source Project 3ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * 4ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * Licensed under the Apache License, Version 2.0 (the "License"); 5ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * you may not use this file except in compliance with the License. 6ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * You may obtain a copy of the License at 7ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * 8ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * http://www.apache.org/licenses/LICENSE-2.0 9ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * 10ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * Unless required by applicable law or agreed to in writing, software 11ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * distributed under the License is distributed on an "AS IS" BASIS, 12ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * See the License for the specific language governing permissions and 14ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * limitations under the License. 15ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian */ 16ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 17ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanianpackage com.android.contacts.common.model.dataitem; 18ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 19ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanianimport android.content.ContentValues; 20ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanianimport android.provider.ContactsContract.CommonDataKinds.StructuredName; 21ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanianimport android.provider.ContactsContract.Contacts.Data; 22ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 23ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian/** 24ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * Represents a structured name data item, wrapping the columns in {@link 25ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * ContactsContract.CommonDataKinds.StructuredName}. 26ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian */ 27ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanianpublic class StructuredNameDataItem extends DataItem { 28ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 29ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public StructuredNameDataItem() { 30ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian super(new ContentValues()); 31ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian getContentValues().put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE); 32ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 33ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 34ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian /* package */ StructuredNameDataItem(ContentValues values) { 35ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian super(values); 36ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 37ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 38ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public String getDisplayName() { 39ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian return getContentValues().getAsString(StructuredName.DISPLAY_NAME); 40ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 41ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 42ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public void setDisplayName(String name) { 43ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian getContentValues().put(StructuredName.DISPLAY_NAME, name); 44ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 45ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 46ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public String getGivenName() { 47ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian return getContentValues().getAsString(StructuredName.GIVEN_NAME); 48ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 49ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 50ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public String getFamilyName() { 51ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian return getContentValues().getAsString(StructuredName.FAMILY_NAME); 52ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 53ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 54ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public String getPrefix() { 55ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian return getContentValues().getAsString(StructuredName.PREFIX); 56ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 57ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 58ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public String getMiddleName() { 59ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian return getContentValues().getAsString(StructuredName.MIDDLE_NAME); 60ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 61ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 62ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public String getSuffix() { 63ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian return getContentValues().getAsString(StructuredName.SUFFIX); 64ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 65ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 66ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public String getPhoneticGivenName() { 67ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian return getContentValues().getAsString(StructuredName.PHONETIC_GIVEN_NAME); 68ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 69ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 70ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public void setPhoneticGivenName(String name) { 71ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian getContentValues().put(StructuredName.PHONETIC_GIVEN_NAME, name); 72ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 73ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 74ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public String getPhoneticMiddleName() { 75ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian return getContentValues().getAsString(StructuredName.PHONETIC_MIDDLE_NAME); 76ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 77ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 78ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public void setPhoneticMiddleName(String name) { 79ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian getContentValues().put(StructuredName.PHONETIC_MIDDLE_NAME, name); 80ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 81ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 82ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public String getPhoneticFamilyName() { 83ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian return getContentValues().getAsString(StructuredName.PHONETIC_FAMILY_NAME); 84ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 85ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 86ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public void setPhoneticFamilyName(String name) { 87ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian getContentValues().put(StructuredName.PHONETIC_FAMILY_NAME, name); 88ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 89ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 90ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public String getFullNameStyle() { 91ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian return getContentValues().getAsString(StructuredName.FULL_NAME_STYLE); 92ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 93ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 94ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public boolean isSuperPrimary() { 95ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian final ContentValues contentValues = getContentValues(); 96ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian return contentValues == null || !contentValues.containsKey(StructuredName.IS_SUPER_PRIMARY) 97ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian ? false 98ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian : contentValues.getAsBoolean(StructuredName.IS_SUPER_PRIMARY); 99ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 100ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian} 101