summaryrefslogtreecommitdiffstats
path: root/src/com/android/messaging/datamodel/data/ContactListItemData.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/messaging/datamodel/data/ContactListItemData.java')
-rw-r--r--src/com/android/messaging/datamodel/data/ContactListItemData.java160
1 files changed, 0 insertions, 160 deletions
diff --git a/src/com/android/messaging/datamodel/data/ContactListItemData.java b/src/com/android/messaging/datamodel/data/ContactListItemData.java
deleted file mode 100644
index dcc7e20..0000000
--- a/src/com/android/messaging/datamodel/data/ContactListItemData.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Copyright (C) 2015 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.
- */
-
-package com.android.messaging.datamodel.data;
-
-import android.database.Cursor;
-import android.net.Uri;
-import android.provider.ContactsContract.DisplayNameSources;
-
-import com.android.ex.chips.RecipientEntry;
-
-import com.android.messaging.util.Assert;
-import com.android.messaging.util.ContactRecipientEntryUtils;
-import com.android.messaging.util.ContactUtil;
-
-/**
- * Data model object used to power ContactListItemViews, which may be displayed either in
- * our contact list, or in the chips UI search drop down presented by ContactDropdownLayouter.
- */
-public class ContactListItemData {
- // Keeps the contact data in the form of RecipientEntry that RecipientEditTextView can
- // directly use.
- private RecipientEntry mRecipientEntry;
-
- private CharSequence mStyledName;
- private CharSequence mStyledDestination;
-
- // If this contact is the first in the list for its first letter, then this will be the
- // first letter, otherwise this is null.
- private String mAlphabetHeader;
-
- // Is the contact the only item in the list (happens when the user clicks on an
- // existing chip for which we show full contact detail for the selected contact).
- private boolean mSingleRecipient;
-
- /**
- * Bind to a contact cursor in the contact list.
- */
- public void bind(final Cursor cursor, final String alphabetHeader) {
- final long dataId = cursor.getLong(ContactUtil.INDEX_DATA_ID);
- final long contactId = cursor.getLong(ContactUtil.INDEX_CONTACT_ID);
- final String lookupKey = cursor.getString(ContactUtil.INDEX_LOOKUP_KEY);
- final String displayName = cursor.getString(ContactUtil.INDEX_DISPLAY_NAME);
- final String photoThumbnailUri = cursor.getString(ContactUtil.INDEX_PHOTO_URI);
- final String destination = cursor.getString(ContactUtil.INDEX_PHONE_EMAIL);
- final int destinationType = cursor.getInt(ContactUtil.INDEX_PHONE_EMAIL_TYPE);
- final String destinationLabel = cursor.getString(ContactUtil.INDEX_PHONE_EMAIL_LABEL);
- mStyledName = null;
- mStyledDestination = null;
- mAlphabetHeader = alphabetHeader;
- mSingleRecipient = false;
-
- // Check whether this contact is first level (i.e. whether it's the first entry of this
- // contact in the contact list).
- boolean isFirstLevel = true;
- if (!cursor.isFirst() && cursor.moveToPrevious()) {
- final long contactIdPrevious = cursor.getLong(ContactUtil.INDEX_CONTACT_ID);
- if (contactId == contactIdPrevious) {
- isFirstLevel = false;
- }
- cursor.moveToNext();
- }
-
- mRecipientEntry = ContactUtil.createRecipientEntry(displayName,
- DisplayNameSources.STRUCTURED_NAME, destination, destinationType, destinationLabel,
- contactId, lookupKey, dataId, photoThumbnailUri, isFirstLevel);
- }
-
- /**
- * Bind to a RecipientEntry produced by the chips text view in the search drop down, plus
- * optional styled name & destination for showing bold search match.
- */
- public void bind(final RecipientEntry entry, final CharSequence styledName,
- final CharSequence styledDestination, final boolean singleRecipient) {
- Assert.isTrue(entry.isValid());
- mRecipientEntry = entry;
- mStyledName = styledName;
- mStyledDestination = styledDestination;
- mAlphabetHeader = null;
- mSingleRecipient = singleRecipient;
- }
-
- public CharSequence getDisplayName() {
- final CharSequence displayName = mStyledName != null ? mStyledName :
- ContactRecipientEntryUtils.getDisplayNameForContactList(mRecipientEntry);
- return displayName == null ? "" : displayName;
- }
-
- public Uri getPhotoThumbnailUri() {
- return mRecipientEntry.getPhotoThumbnailUri() == null ? null :
- mRecipientEntry.getPhotoThumbnailUri();
- }
-
- public CharSequence getDestination() {
- final CharSequence destination = mStyledDestination != null ?
- mStyledDestination : ContactRecipientEntryUtils.formatDestination(mRecipientEntry);
- return destination == null ? "" : destination;
- }
-
- public int getDestinationType() {
- return mRecipientEntry.getDestinationType();
- }
-
- public String getDestinationLabel() {
- return mRecipientEntry.getDestinationLabel();
- }
-
- public long getContactId() {
- return mRecipientEntry.getContactId();
- }
-
- public String getLookupKey() {
- return mRecipientEntry.getLookupKey();
- }
-
- /**
- * Returns if this item is "first-level," i.e. whether it's the first entry of the contact
- * that it represents in the list. For example, if John Smith has 3 different phone numbers,
- * then the first number is considered first-level, while the other two are considered
- * second-level.
- */
- public boolean getIsFirstLevel() {
- // Treat the item as first level if it's a top-level recipient entry, or if it's the only
- // item in the list.
- return mRecipientEntry.isFirstLevel() || mSingleRecipient;
- }
-
- /**
- * Returns if this item is simple, i.e. it has only avatar and a display name with phone number
- * embedded so we can hide everything else.
- */
- public boolean getIsSimpleContactItem() {
- return ContactRecipientEntryUtils.isAvatarAndNumberOnlyContact(mRecipientEntry) ||
- ContactRecipientEntryUtils.isSendToDestinationContact(mRecipientEntry);
- }
-
- public String getAlphabetHeader() {
- return mAlphabetHeader;
- }
-
- /**
- * Returns a RecipientEntry instance readily usable by the RecipientEditTextView.
- */
- public RecipientEntry getRecipientEntry() {
- return mRecipientEntry;
- }
-}