Refactor transactions for contacts.
Rather than extending SQLiteContentProvider, the profile and contacts
providers now extend AbstractContactsProvider, which handles keeping
track of a thread-local transaction with awareness of what databases
have been enlisted in the transaction and whether it is being run in
the context of a batch operation.
This is intended to solve the issue of how the content provider can
manage transactions that operate across multiple databases without
risking deadlocks.
Bug 5320369
Change-Id: I08a7d518a3eae1b0bf438402d02f1f1d8e8df7b9
6 files changed