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;
     }
 }