void updatePresenceContent(Contact[] contacts) {
    ArrayList<String> usernames = new ArrayList<String>();
    ArrayList<String> statusArray = new ArrayList<String>();
    ArrayList<String> customStatusArray = new ArrayList<String>();
    ArrayList<String> clientTypeArray = new ArrayList<String>();

    for (Contact c : contacts) {
      String username = c.getAddress().getFullName();
      Presence p = c.getPresence();
      int status = convertPresenceStatus(p);
      String customStatus = p.getStatusText();
      int clientType = translateClientType(p);

      usernames.add(username);
      statusArray.add(String.valueOf(status));
      customStatusArray.add(customStatus);
      clientTypeArray.add(String.valueOf(clientType));
    }

    ContentValues values = new ContentValues();
    values.put(Imps.Contacts.ACCOUNT, mAccountId);
    putStringArrayList(values, Imps.Contacts.USERNAME, usernames);
    putStringArrayList(values, Imps.Presence.PRESENCE_STATUS, statusArray);
    putStringArrayList(values, Imps.Presence.PRESENCE_CUSTOM_STATUS, customStatusArray);
    putStringArrayList(values, Imps.Presence.CONTENT_TYPE, clientTypeArray);

    mResolver.update(Imps.Presence.BULK_CONTENT_URI, values, null, null);
  }
 private ContentValues getPresenceValues(long contactId, Presence p) {
   ContentValues values = new ContentValues(3);
   values.put(Imps.Presence.CONTACT_ID, contactId);
   values.put(Imps.Contacts.PRESENCE_STATUS, convertPresenceStatus(p));
   values.put(Imps.Contacts.PRESENCE_CUSTOM_STATUS, p.getStatusText());
   values.put(Imps.Presence.CLIENT_TYPE, translateClientType(p));
   return values;
 }