Lines Matching defs:Contacts
54 * The contract between the contacts provider and applications. Contains
56 * {@link Contacts}.
76 * A row in the {@link Contacts} table represents an aggregate of one or more
78 * the RawContacts table is changed, the affected aggregate contacts are updated as
97 * disaggregation of raw contacts
113 /** The authority for the contacts provider */
114 public static final String AUTHORITY = "com.android.contacts";
115 /** A content:// style uri to the authority for the contacts provider */
135 * {@code content://com.android.contacts/data/emails/filter/acme?directory=3}
147 * {@link #PRIMARY_ACCOUNT_TYPE}. The contacts provider handling a query may rely on
164 * A boolean parameter for {@link Contacts#CONTENT_STREQUENT_URI} and
165 * {@link Contacts#CONTENT_STREQUENT_FILTER_URI}, which requires the ContactsProvider to
259 * that stores the preferred sorting order for contacts (by given name vs. by family name).
263 public static final String SORT_ORDER = "android.contacts.SORT_ORDER";
281 * that stores the preferred display order for contacts (given name first vs. family
286 public static final String DISPLAY_ORDER = "android.contacts.DISPLAY_ORDER";
304 * A Directory represents a contacts corpus, e.g. Local contacts,
308 * the same API as the main Contacts Provider. However, there is no expectation that
315 * expected to support at least {@link ContactsContract.Contacts#CONTENT_FILTER_URI
316 * Contacts.CONTENT_FILTER_URI}. If a Directory provider wants to participate
328 * The client interacts with a directory via Contacts Provider by supplying an
332 * When the Contacts Provider receives the request, it transforms the URI and forwards
342 * Clients should send directory requests to Contacts Provider and let it
345 * Contacts Provider to implement additional system-level features and
346 * optimizations. Access to Contacts Provider is protected by the
355 * if (packageName.equals("com.android.providers.contacts")) {
364 * The Directory table is read-only and is maintained by the Contacts Provider
372 * stored contacts. The same can be achieved by omitting the {@code directory=}
376 * The local invisible contacts. The corresponding directory ID is
381 * <p>Custom Directories are discovered by the Contacts Provider following this procedure:
394 * Then Contacts Provider sends a {@link Directory#CONTENT_URI Directory.CONTENT_URI}
401 * <li>Contacts Provider compiles directory lists received from all directory
407 * <p>Contacts Provider automatically interrogates newly installed or replaced packages.
415 * are automatically removed from the Contacts Provider.
420 * should call {@link #notifyDirectoryChange} to notify the Contacts Provider of the change.
421 * In response, the Contacts Provider will requery the directory provider to obtain the
427 * the corresponding directory rows are automatically removed from the Contacts Provider.
459 * _ID of the default directory, which represents locally stored contacts.
464 * _ID of the directory that represents locally stored invisible contacts.
469 * The name of the package that owns this directory. Contacts Provider
495 * The authority of the Directory Provider. Contacts Provider will
497 * A directory provider can leave this column empty - Contacts Provider will fill it in.
501 * All directory requests must be routed through Contacts Provider.
545 * allow its data copied to any contacts account.
558 * does not allow any shortcuts created for its contacts.
608 * a particular directory provider. The Contacts provider will turn around
613 // This is done to trigger a query by Contacts Provider back to the directory provider.
630 * A table provided for sync adapters to use for storing private sync state data for contacts.
799 * Columns of {@link ContactsContract.Contacts} that track the user's
802 * @see Contacts
806 * @see ContactsContract.Contacts.AggregationSuggestions
851 * Columns of {@link ContactsContract.Contacts} that refer to intrinsic
855 * @see Contacts
858 * @see ContactsContract.Contacts.AggregationSuggestions
880 * contacts returned by non-local directories (see {@link Directory}).
951 * includes updates to all data associated with this contact including raw contacts. Any
960 * @see Contacts
1076 * @see Contacts
1096 * A contacts provider is free to choose whatever representation makes most
1116 * A contacts provider is free to provide alternatives as necessary for
1118 * For example the default Android Open Source Project contacts provider
1205 * Constants for the contacts table, which contains a record per aggregate
1206 * of raw contacts representing the same person.
1222 * contacts.</dd>
1224 * <dd>Be careful with deleting Contacts! Deleting an aggregate contact
1225 * deletes all constituent raw contacts. The corresponding sync adapters
1226 * will notice the deletions of their respective raw contacts and remove
1247 * <th colspan='4'>Contacts</th>
1268 * raw contacts is chosen using a heuristic: a longer name or a name
1324 * {@link #markAsContacted}. When raw contacts are aggregated, this field is
1326 * constituent raw contacts. Setting this field automatically changes the
1327 * corresponding field on all constituent raw contacts.</td>
1335 * increments {@link #TIMES_CONTACTED}. When raw contacts are aggregated,
1337 * constituent raw contacts. Setting this field automatically changes the
1338 * corresponding field on all constituent raw contacts.</td>
1344 * <td>An indicator for favorite contacts: '1' if favorite, '0' otherwise.
1345 * When raw contacts are aggregated, this field is automatically computed:
1346 * if any constituent raw contacts are starred, then this field is set to
1348 * all constituent raw contacts.</td>
1363 * directly to voice mail ('1') or not ('0'). When raw contacts are
1365 * constituent raw contacts have SEND_TO_VOICEMAIL=1, then this field is set
1367 * on all constituent raw contacts.</td>
1375 * constituent raw contacts. The provider may choose not to store this value
1384 * of all constituent raw contacts' status updates.</td>
1416 public static class Contacts implements BaseColumns, ContactsColumns,
1421 private Contacts() {}
1426 public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "contacts");
1430 * shortcuts or otherwise create long-term links to contacts. This URI
1439 * contacts).
1448 * Base {@link Uri} for referencing a single {@link Contacts} entry,
1468 * Base {@link Uri} for referencing multiple {@link Contacts} entry,
1488 * requested {@link Contacts} entry.
1495 Contacts.LOOKUP_KEY, Contacts._ID
1515 * given {@link ContactsContract.Contacts#_ID} and {@link #LOOKUP_KEY}.
1518 return ContentUris.withAppendedId(Uri.withAppendedPath(Contacts.CONTENT_LOOKUP_URI,
1532 Cursor c = resolver.query(lookupUri, new String[]{Contacts._ID}, null, null, null);
1540 return ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId);
1580 * {@link ContactsContract.Data}, filtered to include only starred contacts
1581 * and the most frequently contacted contacts.
1663 * To reduce the amount of data duplication the contacts provider and directory
1664 * providers implementing this protocol are allowed to provide common Contacts
1723 * contains all aggregation suggestions (other contacts). The
1735 * Uri uri = Contacts.CONTENT_URI.buildUpon()
1737 * .appendPath(Contacts.AggregationSuggestions.CONTENT_DIRECTORY)
1741 * new String[] {Contacts.DISPLAY_NAME, Contacts._ID, Contacts.LOOKUP_KEY},
1761 * {@link android.provider.ContactsContract.Contacts#CONTENT_FILTER_URI}.
1842 android.net.Uri.Builder builder = Contacts.CONTENT_URI.buildUpon();
1844 builder.appendPath(Contacts.AggregationSuggestions.CONTENT_DIRECTORY);
1879 * Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId);
1880 * Uri photoUri = Uri.withAppendedPath(contactUri, Contacts.Photo.CONTENT_DIRECTORY);
1882 * new String[] {Contacts.Photo.PHOTO}, null, null, null);
1904 * Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId);
1905 * Uri displayPhotoUri = Uri.withAppendedPath(contactUri, Contacts.Photo.DISPLAY_PHOTO);
1920 * {@link ContactsContract.Contacts#openContactPhotoInputStream(ContentResolver, Uri, boolean)}
1962 * Opens an InputStream for the contacts's photo and returns the
1975 Contacts.Photo.DISPLAY_PHOTO);
2010 * Opens an InputStream for the contacts's thumbnail photo and returns the
2028 * together automatically in the same way that normal contacts are; instead, each
2050 * <dd>The profile Contact has the same update restrictions as Contacts in general,
2087 * {@link Uri} for referencing the user's profile {@link Contacts} entry,
2096 * {@link Uri} for referencing the raw contacts that make up the user's profile
2097 * {@link Contacts} entry. An individual raw contact entry within the profile
2109 * to the profile data rather than general contacts data, along with all the special
2134 * A reference to the {@link ContactsContract.Contacts#_ID} that was deleted.
2146 * Constants for the deleted contact table. This table holds a log of deleted contacts.
2183 * A reference to the {@link ContactsContract.Contacts#_ID} that this
2237 * name is chosen randomly from the constituent raw contacts.
2241 * all other raw contacts in the same aggregated contact.
2271 * Constants for the raw contacts table, which contains one row of contact
2280 * existing raw contacts and if so will aggregate it with those. The
2298 * Raw contacts can be inserted incrementally or in a batch.
2353 * Raw contacts can be updated incrementally or in a batch.
2360 * contacts associated with a {@link Contacts} row are deleted, the {@link Contacts} row
2365 * a raw contacts row.
2372 * changes to the phone, but not the reverse. If one of those raw contacts
2380 * It is easy to find all raw contacts in a Contact:
2389 * To find raw contacts within a specific account,
2449 * <td>The ID of the row in the {@link ContactsContract.Contacts} table
2451 * to. Raw contacts are linked to contacts by the aggregation process, which can be controlled
2482 * {@link ContactsContract.Contacts#markAsContacted}.</td>
2492 * {@link ContactsContract.Contacts#markAsContacted}.
2499 * <td>An indicator for favorite contacts: '1' if favorite, '0' otherwise.
2501 * if any raw contacts in that aggregate contact are starred, then the contact
2513 * ringtone on a contact, use the field {@link ContactsContract.Contacts#CUSTOM_RINGTONE
2514 * Contacts.CUSTOM_RINGTONE}
2661 * ID value is not provided, and multiple raw contacts may be returned.
2689 * {@link Contacts} aggregate.
2708 * have a corresponding {@link Contacts} aggregate and therefore will not be included in
2709 * {@link Contacts} query results.
2721 * Build a {@link android.provider.ContactsContract.Contacts#CONTENT_LOOKUP_URI}
2722 * style {@link Uri} for the parent {@link android.provider.ContactsContract.Contacts}
2726 // TODO: use a lighter query by joining rawcontacts with contacts in provider
2729 RawContacts.CONTACT_ID, Contacts.LOOKUP_KEY
2737 return Contacts.getLookupUri(contactId, lookupKey);
3213 * ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId),
3214 * Contacts.StreamItems.CONTENT_DIRECTORY),
3220 * Cursor c = getContentResolver().query(Contacts.CONTENT_URI.buildUpon()
3222 * .appendPath(Contacts.StreamItems.CONTENT_DIRECTORY).build(),
3254 * updates for the user's contacts.
3344 * A reference to the {@link android.provider.ContactsContract.Contacts#_ID}
3353 * A reference to the {@link android.provider.ContactsContract.Contacts#LOOKUP_KEY}
3923 * used in the corresponding raw contacts. Otherwise it could result in lost or
4262 * <td>The id of the row in the {@link Contacts} table that this data belongs
4281 * {@link ContactsContract.Contacts} is available
4291 * <th colspan='4'>Join with {@link ContactsContract.Contacts}</th>
4297 * <td>See {@link ContactsContract.Contacts}</td>
4303 * <td>See {@link ContactsContract.Contacts}</td>
4309 * <td>See {@link ContactsContract.Contacts}.</td>
4315 * <td>See {@link ContactsContract.Contacts}.</td>
4321 * <td>See {@link ContactsContract.Contacts}.</td>
4327 * <td>See {@link ContactsContract.Contacts}.</td>
4333 * <td>See {@link ContactsContract.Contacts}.</td>
4339 * <td>See {@link ContactsContract.Contacts}.</td>
4345 * <td>See {@link ContactsContract.Contacts}.</td>
4351 * <td>See {@link ContactsContract.Contacts}.</td>
4357 * <td>See {@link ContactsContract.Contacts}.</td>
4363 * <td>See {@link ContactsContract.Contacts}.</td>
4369 * <td>See {@link ContactsContract.Contacts}.</td>
4375 * <td>See {@link ContactsContract.Contacts}.</td>
4381 * <td>See {@link ContactsContract.Contacts}.</td>
4387 * <td>See {@link ContactsContract.Contacts}.</td>
4406 * data items belonging to visible contacts only.
4417 * Build a {@link android.provider.ContactsContract.Contacts#CONTENT_LOOKUP_URI}
4418 * style {@link Uri} for the parent {@link android.provider.ContactsContract.Contacts}
4430 RawContacts.CONTACT_ID, Contacts.LOOKUP_KEY
4438 return Contacts.getLookupUri(contactId, lookupKey);
4449 * Constants for the raw contacts entities table, which can be thought of as
4612 * This flag is useful (currently) only for vCard exporter in Contacts app, which
4614 * Contacts app itself has priviledge to access all data including "un-expotable"
4696 * Columns from the Contacts table are also available through a join.
4700 * <th colspan='4'>Join with {@link Contacts}</th>
4712 * <td>See {@link ContactsContract.Contacts}</td>
4718 * <td>See {@link ContactsContract.Contacts}</td>
4724 * <td>See {@link ContactsContract.Contacts}.</td>
4730 * <td>See {@link ContactsContract.Contacts}.</td>
4736 * <td>See {@link ContactsContract.Contacts}.</td>
4742 * <td>See {@link ContactsContract.Contacts}.</td>
4748 * <td>See {@link ContactsContract.Contacts}.</td>
4754 * <td>See {@link ContactsContract.Contacts}.</td>
4760 * <td>See {@link ContactsContract.Contacts}.</td>
4766 * <td>See {@link ContactsContract.Contacts}.</td>
4873 * for multiple contacts at once.
5074 * Additional column returned by the {@link Contacts#CONTENT_FILTER_URI} providing the
6858 * This can be used as a signal by the aggregator to combine raw contacts into
6859 * contacts, e.g. if two contacts have Identity rows with
6946 * data items belonging to visible contacts only.
7018 * The total number of {@link Contacts} that have
7053 * The total number of {@link Contacts} that have both
7063 * Flag indicating if the contacts belonging to this group should be
7091 * Any newly created contacts will automatically be added to groups that have this
7099 * When a contacts
7176 * <td>The total number of {@link Contacts} that have
7184 * <td>The total number of {@link Contacts} that have both
7193 * <td>Flag indicating if the contacts belonging to this group should be
7351 * Allows the provider to automatically decide whether the specified raw contacts should
7357 * Makes sure that the specified raw contacts are included in the same
7363 * Makes sure that the specified raw contacts are NOT included in the same
7418 * Flag indicating if contacts without any {@link CommonDataKinds.GroupMembership}
7433 * Read-only count of {@link Contacts} from a specific source that have
7441 * Read-only count of {@link Contacts} from a specific source that have
7451 * Contacts-specific settings for various {@link Account}'s.
7482 * <td>Flag indicating if contacts without any
7498 * <td>Read-only count of {@link Contacts} from a specific source that have
7505 * <td>Read-only count of {@link Contacts} from a specific source that have
7581 * The status used when the provider is in the process of upgrading. Contacts
7606 * The status that indicates that there are no accounts and no contacts
7624 * Contacts Provider. Applications can also clear all usage information.
7627 * With the feedback, Contacts Provider may return more contextually appropriate results for
7629 * {@link ContactsContract.Contacts#CONTENT_FILTER_URI},
7645 * the communication, which enables the Contacts Provider to differentiate between kinds of
7691 Uri.withAppendedPath(Contacts.CONTENT_URI, "delete_usage");
7726 * API allowing applications to send pinning information for specified contacts to the
7727 * Contacts Provider.
7732 * they order particular pinned contacts. For example, a Dialer application could
7733 * use pinned information to order user-pinned contacts in a top row of favorites.
7737 * It is possible for two or more contacts to occupy the same pinned position (due
7739 * basis to order contacts in-application rather than an absolute guide on where a contact
7740 * should be positioned. Contacts returned by the ContactsProvider will not be ordered based
7741 * on this information, so it is up to the client application to reorder these contacts within
7747 * By default, unpinned contacts will have a pinned position of
7755 * certain contacts, it may make sense for your application to star any pinned contacts
7758 * contacts to be automatically starred and unstarred.
7766 * This URI allows applications to update pinned positions for a provided set of contacts.
7858 * a specific {@link Contacts} entry.
7866 "com.android.contacts.action.QUICK_CONTACT";
7896 * the {@link Contacts} entry being shown. This may include social
7903 * of the {@link Contacts} entry being shown. This may include detailed
7958 * the requested {@link Contacts} entry. This may be based on available
7968 * @param lookupUri A {@link ContactsContract.Contacts#CONTENT_LOOKUP_URI} style
7989 * the requested {@link Contacts} entry. This may be based on available
8002 * {@link ContactsContract.Contacts#CONTENT_LOOKUP_URI} style
8084 * that involve contacts.
8091 "android.provider.Contacts.SEARCH_SUGGESTION_CLICKED";
8098 "android.provider.Contacts.SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED";
8105 "android.provider.Contacts.SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED";
8108 * This is the intent that is fired when the contacts database is created. <p> The
8112 "android.provider.Contacts.DATABASE_CREATED";
8119 "com.android.contacts.action.ATTACH_IMAGE";
8129 "com.android.contacts.action.INVITE_CONTACT";
8135 * contact with the provided details filled in. If multiple contacts
8149 * create activity if there are no contacts to show.
8155 "com.android.contacts.action.SHOW_OR_CREATE_CONTACT";
8159 * list of phone numbers which come from the contacts or
8163 * could belong to the contacts or not, and will be selected by default.
8177 "com.android.contacts.action.GET_MULTIPLE_PHONES";
8187 "android.provider.Contacts.PROFILE_CHANGED";
8197 "com.android.contacts.action.FORCE_CREATE";
8207 "com.android.contacts.action.CREATE_DESCRIPTION";
8213 * input value. These phone numbers could belong to the contacts or not.
8219 * belong to any contact, the content URI is used for phone id in contacts.
8224 "com.android.contacts.extra.PHONE_URIS";
8281 * Intents related to the Contacts app UI.
8287 * The action for the default contacts list tab.
8290 "com.android.contacts.action.LIST_DEFAULT";
8293 * The action for the contacts list tab.
8296 "com.android.contacts.action.LIST_GROUP";
8301 public static final String GROUP_NAME_EXTRA_KEY = "com.android.contacts.extra.GROUP";
8304 * The action for the all contacts list tab.
8307 "com.android.contacts.action.LIST_ALL_CONTACTS";
8310 * The action for the contacts with phone numbers list tab.
8313 "com.android.contacts.action.LIST_CONTACTS_WITH_PHONES";
8316 * The action for the starred contacts list tab.
8319 "com.android.contacts.action.LIST_STARRED";
8322 * The action for the frequent contacts list tab.
8325 "com.android.contacts.action.LIST_FREQUENT";
8328 * The action for the "strequent" contacts list tab. It first lists the starred
8329 * contacts in alphabetical order and then the frequent contacts in descending
8333 "com.android.contacts.action.LIST_STREQUENT";
8340 "com.android.contacts.extra.TITLE_EXTRA";
8343 * Activity Action: Display a filtered list of contacts
8351 "com.android.contacts.action.FILTER_CONTACTS";
8358 "com.android.contacts.extra.FILTER_TEXT";
8571 * Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI);
8589 public static final String ACCOUNT = "com.android.contacts.extra.ACCOUNT";
8602 public static final String DATA_SET = "com.android.contacts.extra.DATA_SET";