Package-level declarations
Types
Decides, for the row of the contacts Data table the cursor is positioned on, whether that entry describes a person. A contact is listed when at least one of its entries passes every filter.
What a raw contact entry of a given account type represents, modelled after the platform Contacts app's account types: either a person described by a contact source, or an app's own actions attached to a person described by someone else.
Resolves the account type of a raw contact entry to its ContactEntryType, following the platform Contacts app's rules for the given contacts sync adapters. Reads every adapter's declared structure on construction.
Keeps entries whose account type is a contact source, as the platform Contacts app defines it. The installed sync adapters are read on the first apply, so the filter can be created on any thread and does its package-manager work where the cursor is iterated.
A sync adapter for the contacts authority: the account type it serves and the structure it declares.
A ContactSyncAdapter installed on the device, read through the package manager.
A contacts structure (contacts.xml) declared by a sync adapter, to be closed after reading.