title: Correct way to update a contact birthday
body: <p>I am trying to update the birthday field of a contact. No matter how I try I always end up with problems, like duplicating the field.</p>
  <p>I have tried removing the current birthday and inserting a new one:</p>
  <pre><code>        // Update value.
          val list = java.util.ArrayList&lt;ContentProviderOperation&gt;()
  
          // Delete current value.
          val updateSelection = &quot;&quot;&quot;${ContactsContract.Data.RAW_CONTACT_ID} = ? AND
                      ${ContactsContract.Data.MIMETYPE} = ? AND
                      ${CommonDataKinds.Event.TYPE} =
                      ${CommonDataKinds.Event.TYPE_BIRTHDAY}&quot;&quot;&quot;
          val selectionArgs = arrayOf(
                  rawId.toString(), CommonDataKinds.Event.CONTENT_ITEM_TYPE)
          list.add(ContentProviderOperation.newDelete(ContactsContract.Data.CONTENT_URI)
                  .withSelection(updateSelection, selectionArgs)
                  .build())
  
          // Add updated value.
          list.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
                  .withValue(ContactsContract.Data.RAW_CONTACT_ID, rawId)
                  .withValue(ContactsContract.Data.MIMETYPE,
                          CommonDataKinds.Event.CONTENT_ITEM_TYPE)
                  .withValue(CommonDataKinds.Event.START_DATE, birthdate)
                  .withValue(CommonDataKinds.Event.TYPE,
                          CommonDataKinds.Event.TYPE_BIRTHDAY)
                  .build())
  </code></pre>
  <p>I have also tried to update the value directly:</p>
  <pre><code>        list.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
                  .withSelection(updateSelection, selectionArgs)
                  .withValue(ContactsContract.Data.RAW_CONTACT_ID, rawId)
                  .withValue(ContactsContract.Data.MIMETYPE,
                          CommonDataKinds.Event.CONTENT_ITEM_TYPE)
                  .withValue(CommonDataKinds.Event.START_DATE, birthdate)
                  .withValue(CommonDataKinds.Event.TYPE,
                          CommonDataKinds.Event.TYPE_BIRTHDAY)
                  .build())
  </code></pre>
  <p>What is the correct way to update a birthday?</p>