diff options
author | Zheng Fu <zhengfu@google.com> | 2015-07-10 15:14:25 -0700 |
---|---|---|
committer | Zheng Fu <zhengfu@google.com> | 2015-07-10 15:50:53 -0700 |
commit | cc9ce6b1c8f9d7c4d8b4da96003ce74ccaa636cc (patch) | |
tree | 2ab50c1e2e79713c20535ff244d5520f24a56774 /src/com/android/providers/contacts/database | |
parent | 5ca831dc33dfa16821647e14e377c484df823c80 (diff) | |
download | packages_providers_ContactsProvider-cc9ce6b1c8f9d7c4d8b4da96003ce74ccaa636cc.zip packages_providers_ContactsProvider-cc9ce6b1c8f9d7c4d8b4da96003ce74ccaa636cc.tar.gz packages_providers_ContactsProvider-cc9ce6b1c8f9d7c4d8b4da96003ce74ccaa636cc.tar.bz2 |
Dealing with some edge cases with soft deleted contacts.
1. Exlude soft deleted contacts for aggregator algorithm upgrade.
2. Make sure to update the contacts.name_raw_contact_id column for
soft deleted raw contact.
Bug:22378846
Change-Id: I53a48ced645f9b00b708b4b9d88518a529834f89
Diffstat (limited to 'src/com/android/providers/contacts/database')
-rw-r--r-- | src/com/android/providers/contacts/database/ContactsTableUtil.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/com/android/providers/contacts/database/ContactsTableUtil.java b/src/com/android/providers/contacts/database/ContactsTableUtil.java index dbc3d3e..bb29f90 100644 --- a/src/com/android/providers/contacts/database/ContactsTableUtil.java +++ b/src/com/android/providers/contacts/database/ContactsTableUtil.java @@ -118,7 +118,7 @@ public class ContactsTableUtil { * Delete the aggregate contact if it has no constituent raw contacts other than the supplied * one. */ - public static void deleteContactIfSingleton(SQLiteDatabase db, long rawContactId) { + public static int deleteContactIfSingleton(SQLiteDatabase db, long rawContactId) { // This query will find a contact id if the contact has a raw contacts other than the one // passed in. final String sql = "select " + ContactsContract.RawContacts.CONTACT_ID + ", count(1)" @@ -136,11 +136,12 @@ public class ContactsTableUtil { if (numRawContacts == 1) { // Only one raw contact, we can delete the parent. - deleteContact(db, contactId); + return deleteContact(db, contactId); } } } finally { MoreCloseables.closeQuietly(cursor); } + return 0; } } |