summaryrefslogtreecommitdiffstats
path: root/src/com/android/messaging/datamodel/data/ConversationListItemData.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/messaging/datamodel/data/ConversationListItemData.java')
-rw-r--r--src/com/android/messaging/datamodel/data/ConversationListItemData.java32
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.
*