Showing proper chat capability icons in quick contact
Bug: 3295622
Change-Id: I196e2d365616fa4356d6266165a56f84e0df50d5
diff --git a/src/com/android/contacts/ContactPresenceIconUtil.java b/src/com/android/contacts/ContactPresenceIconUtil.java
index 1811e81..8e1af72 100644
--- a/src/com/android/contacts/ContactPresenceIconUtil.java
+++ b/src/com/android/contacts/ContactPresenceIconUtil.java
@@ -75,7 +75,7 @@
resourceId = android.R.drawable.presence_audio_busy;
break;
}
- } else {
+ } else if (status != StatusUpdates.OFFLINE) {
resourceId = StatusUpdates.getPresenceIconResourceId(status);
}
diff --git a/src/com/android/contacts/quickcontact/QuickContactWindow.java b/src/com/android/contacts/quickcontact/QuickContactWindow.java
index ee0140f..5cfe8f1 100644
--- a/src/com/android/contacts/quickcontact/QuickContactWindow.java
+++ b/src/com/android/contacts/quickcontact/QuickContactWindow.java
@@ -724,7 +724,9 @@
// Read contact information from last data row
final String name = cursor.getString(DataQuery.DISPLAY_NAME);
final int presence = cursor.getInt(DataQuery.CONTACT_PRESENCE);
- final Drawable statusIcon = ContactPresenceIconUtil.getPresenceIcon(mContext, presence);
+ final int chatCapability = cursor.getInt(DataQuery.CONTACT_CHAT_CAPABILITY);
+ final Drawable statusIcon = ContactPresenceIconUtil.getChatCapabilityIcon(
+ mContext, presence, chatCapability);
setHeaderText(R.id.name, name);
setHeaderImage(R.id.presence, statusIcon);
@@ -1369,6 +1371,7 @@
Contacts.STARRED,
Contacts.DISPLAY_NAME,
Contacts.CONTACT_PRESENCE,
+ Contacts.CONTACT_CHAT_CAPABILITY,
Data.STATUS,
Data.STATUS_RES_PACKAGE,
@@ -1394,17 +1397,18 @@
final int STARRED = 2;
final int DISPLAY_NAME = 3;
final int CONTACT_PRESENCE = 4;
+ final int CONTACT_CHAT_CAPABILITY = 5;
- final int STATUS = 5;
- final int STATUS_RES_PACKAGE = 6;
- final int STATUS_ICON = 7;
- final int STATUS_LABEL = 8;
- final int STATUS_TIMESTAMP = 9;
- final int PRESENCE = 10;
+ final int STATUS = 6;
+ final int STATUS_RES_PACKAGE = 7;
+ final int STATUS_ICON = 8;
+ final int STATUS_LABEL = 9;
+ final int STATUS_TIMESTAMP = 10;
+ final int PRESENCE = 11;
- final int RES_PACKAGE = 11;
- final int MIMETYPE = 12;
- final int IS_PRIMARY = 13;
- final int IS_SUPER_PRIMARY = 14;
+ final int RES_PACKAGE = 12;
+ final int MIMETYPE = 13;
+ final int IS_PRIMARY = 14;
+ final int IS_SUPER_PRIMARY = 15;
}
}