public ContentValues prepareContactValues(Contact contact) {
    ContentValues contentValues = new ContentValues();
    if (!TextUtils.isEmpty(contact.getFullName())) {
      contentValues.put(MobiComDatabaseHelper.FULL_NAME, contact.getFullName());
    }
    contentValues.put(MobiComDatabaseHelper.CONTACT_NO, contact.getContactNumber());
    if (!TextUtils.isEmpty(contact.getImageURL())) {
      contentValues.put(MobiComDatabaseHelper.CONTACT_IMAGE_URL, contact.getImageURL());
    }
    if (!TextUtils.isEmpty(contact.getLocalImageUrl())) {
      contentValues.put(MobiComDatabaseHelper.CONTACT_IMAGE_LOCAL_URI, contact.getLocalImageUrl());
    }
    contentValues.put(MobiComDatabaseHelper.USERID, contact.getUserId());
    if (!TextUtils.isEmpty(contact.getEmailId())) {
      contentValues.put(MobiComDatabaseHelper.EMAIL, contact.getEmailId());
    }
    if (!TextUtils.isEmpty(contact.getApplicationId())) {
      contentValues.put(MobiComDatabaseHelper.APPLICATION_ID, contact.getApplicationId());
    }

    contentValues.put(MobiComDatabaseHelper.CONNECTED, contact.isConnected() ? 1 : 0);
    if (contact.getLastSeenAt() != 0) {
      contentValues.put(MobiComDatabaseHelper.LAST_SEEN_AT_TIME, contact.getLastSeenAt());
    }
    return contentValues;
  }
 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();
 }
 public void updateContact(Contact contact) {
   ContentValues contentValues = prepareContactValues(contact);
   dbHelper
       .getWritableDatabase()
       .update(
           CONTACT,
           contentValues,
           MobiComDatabaseHelper.USERID + "=?",
           new String[] {contact.getUserId()});
   dbHelper.close();
 }
 public void deleteContact(Contact contact) {
   deleteContactById(contact.getUserId());
 }