diff options
Diffstat (limited to 'src/com/android/messaging/datamodel/data/ConversationListItemData.java')
-rw-r--r-- | src/com/android/messaging/datamodel/data/ConversationListItemData.java | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/src/com/android/messaging/datamodel/data/ConversationListItemData.java b/src/com/android/messaging/datamodel/data/ConversationListItemData.java index 942baf2..13cfc74 100644 --- a/src/com/android/messaging/datamodel/data/ConversationListItemData.java +++ b/src/com/android/messaging/datamodel/data/ConversationListItemData.java @@ -28,6 +28,7 @@ import com.android.messaging.datamodel.DatabaseHelper.ParticipantColumns; import com.android.messaging.datamodel.DatabaseWrapper; import com.android.messaging.datamodel.action.DeleteConversationAction; import com.android.messaging.util.Assert; +import com.android.messaging.util.ContactUtil; import com.android.messaging.util.Dates; import com.android.messaging.util.NotificationUtil; import com.google.common.base.Joiner; @@ -67,6 +68,7 @@ public class ConversationListItemData { private String mDraftSubject; private String mSnippetSenderFirstName; private String mSnippetSenderDisplayDestination; + private boolean mIsEnterprise; public ConversationListItemData() { } @@ -120,6 +122,7 @@ public class ConversationListItemData { mSnippetSenderFirstName = cursor.getString(INDEX_SNIPPET_SENDER_FIRST_NAME); mSnippetSenderDisplayDestination = cursor.getString(INDEX_SNIPPET_SENDER_DISPLAY_DESTINATION); + mIsEnterprise = cursor.getInt(INDEX_IS_ENTERPRISE) == 1; } public String getConversationId() { @@ -158,10 +161,22 @@ public class ConversationListItemData { return mPreviewContentType; } + /** + * @see ConversationColumns#PARTICIPANT_CONTACT_ID + * @return the contact id of the participant if it is a 1:1 conversation, -1 for group. + */ public long getParticipantContactId() { return mParticipantContactId; } + /** + * @see ConversationColumns#IS_ENTERPRISE + * @return whether the conversation is enterprise. + */ + public boolean isEnterprise() { + return mIsEnterprise; + } + public String getParticipantLookupKey() { return mParticipantLookupKey; } @@ -334,7 +349,9 @@ public class ConversationListItemData { + DatabaseHelper.PARTICIPANTS_TABLE + '.' + ParticipantColumns.FIRST_NAME + " as " + ConversationListViewColumns.SNIPPET_SENDER_FIRST_NAME + ", " + DatabaseHelper.PARTICIPANTS_TABLE + '.' + ParticipantColumns.DISPLAY_DESTINATION - + " as " + ConversationListViewColumns.SNIPPET_SENDER_DISPLAY_DESTINATION; + + " as " + ConversationListViewColumns.SNIPPET_SENDER_DISPLAY_DESTINATION + ", " + + DatabaseHelper.CONVERSATIONS_TABLE + '.' + ConversationColumns.IS_ENTERPRISE + + " as " + ConversationListViewColumns.IS_ENTERPRISE; private static final String JOIN_PARTICIPANTS = " LEFT JOIN " + DatabaseHelper.PARTICIPANTS_TABLE + " ON (" @@ -393,6 +410,7 @@ public class ConversationListItemData { static final String SNIPPET_SENDER_FIRST_NAME = "snippet_sender_first_name"; static final String SNIPPET_SENDER_DISPLAY_DESTINATION = "snippet_sender_display_destination"; + static final String IS_ENTERPRISE = ConversationColumns.IS_ENTERPRISE; } public static final String[] PROJECTION = { @@ -425,6 +443,7 @@ public class ConversationListItemData { ConversationListViewColumns.MESSAGE_RAW_TELEPHONY_STATUS, ConversationListViewColumns.SNIPPET_SENDER_FIRST_NAME, ConversationListViewColumns.SNIPPET_SENDER_DISPLAY_DESTINATION, + ConversationListViewColumns.IS_ENTERPRISE, }; private static final int INDEX_ID = 0; @@ -456,9 +475,20 @@ public class ConversationListItemData { private static final int INDEX_MESSAGE_RAW_TELEPHONY_STATUS = 26; private static final int INDEX_SNIPPET_SENDER_FIRST_NAME = 27; private static final int INDEX_SNIPPET_SENDER_DISPLAY_DESTINATION = 28; + private static final int INDEX_IS_ENTERPRISE = 29; private static final String DIVIDER_TEXT = ", "; + public static boolean hasAnyEnterpriseContact( + final List<ParticipantData> participants) { + for (final ParticipantData participant : participants) { + if (ContactUtil.isEnterpriseContactId(participant.getContactId())) { + return true; + } + } + return false; + } + /** * Get a conversation from the local DB based on the conversation id. * |