Package-level declarations

Types

Link copied to clipboard

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.

Link copied to clipboard
sealed interface ContactEntryType

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.

Link copied to clipboard

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.

Link copied to clipboard

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.

Link copied to clipboard

A sync adapter for the contacts authority: the account type it serves and the structure it declares.

Link copied to clipboard
class InstalledContactSyncAdapter(val accountType: String, packageName: String, packageManager: PackageManager) : ContactSyncAdapter

A ContactSyncAdapter installed on the device, read through the package manager.

Link copied to clipboard

A contacts structure (contacts.xml) declared by a sync adapter, to be closed after reading.