/**
  * Form a single contact from cursor
  *
  * @param cursor
  * @return
  */
 public Contact getContact(Cursor cursor) {
   Contact contact = new Contact();
   contact.setFullName(cursor.getString(cursor.getColumnIndex(MobiComDatabaseHelper.FULL_NAME)));
   contact.setUserId(cursor.getString(cursor.getColumnIndex(MobiComDatabaseHelper.USERID)));
   contact.setLocalImageUrl(
       cursor.getString(cursor.getColumnIndex(MobiComDatabaseHelper.CONTACT_IMAGE_LOCAL_URI)));
   contact.setImageURL(
       cursor.getString(cursor.getColumnIndex(MobiComDatabaseHelper.CONTACT_IMAGE_URL)));
   String contactNumber =
       cursor.getString(cursor.getColumnIndex(MobiComDatabaseHelper.CONTACT_NO));
   if (TextUtils.isEmpty(contactNumber)) {
     contact.setContactNumber(
         cursor.getString(cursor.getColumnIndex(MobiComDatabaseHelper.USERID)));
   } else {
     contact.setContactNumber(
         cursor.getString(cursor.getColumnIndex(MobiComDatabaseHelper.CONTACT_NO)));
   }
   contact.setApplicationId(
       cursor.getString(cursor.getColumnIndex(MobiComDatabaseHelper.APPLICATION_ID)));
   Long connected = cursor.getLong(cursor.getColumnIndex(MobiComDatabaseHelper.CONNECTED));
   contact.setConnected(connected != 0 && connected.intValue() == 1);
   contact.setLastSeenAt(
       cursor.getLong(cursor.getColumnIndex(MobiComDatabaseHelper.LAST_SEEN_AT_TIME)));
   contact.processContactNumbers(context);
   return contact;
 }
 public void addContact(Contact contact) {
   if (TextUtils.isEmpty(contact.getContactNumber())) {
     contact.setContactNumber(contact.getUserId());
   }
   ContentValues contentValues = prepareContactValues(contact);
   dbHelper.getWritableDatabase().insert(CONTACT, null, contentValues);
   dbHelper.close();
 }