title: why won't contacts aggregate?
body: <p>My app allows editing contacts. In this scenario, I chose a contact which existed in only one account and changed it to associate it with three accounts. However, I ended up with two contacts, not one, as shown in the ContactsContract dump below. Why didn't the provider aggregate them?</p>
  
  <pre><code>agg 1821, display "A Z1", key 770i236434918d3893ea.2709i79dde86f8c1565d3.2709i506dc01a0d43d677.2709i4707c358f8fb503
    raw 1821, acct type com.google, acct name a@gmail.com
      data 10338, display "A Z1"
      data 10343, phone 123456, Pager
      data 10349, phone 545, Fax Work
  
  agg 1861, display "A Z1", key 1780r1860-q29pq04pq5Bpq16p.2709r1861-q29pq04pq5Bpq16p
    raw 1860, acct type com.fusionone.account, acct name Backup Assistant
      data 10580, display "A Z1"
      data 10582, phone 123456, Pager
      data 10584, phone 545, Fax Work
  
    raw 1861, acct type com.google, acct name b@gmail.com
      data 10581, display "A Z1"
      data 10583, phone 123456, Pager
      data 10585, phone 545, Fax Work
  </code></pre>
  
  <p>In this dump, the three tiers represent the aggregate contact rows, the raw contact rows, and the contact data rows. The number next to the leading word (e.g. agg 1821) is the _ID column value. "display" represents DISPLAY_NAME.</p>
  
  <p>More specifically, I started with agg 1821 which comes from account a@gmail.com (obfuscated). Then I created two new raw contacts (1860 and 1861) for two other accounts, using the same display name as for agg 1821. You can see the results: the two new raw contacts were aggregated together but the pair was not aggregated with the original (1821) contact.</p>