Added in API level 5

StatusUpdates


class StatusUpdates : ContactsContract.PresenceColumns, ContactsContract.StatusColumns
kotlin.Any
   ↳ android.provider.ContactsContract.StatusUpdates

A status update is linked to a ContactsContract.Data row and captures the user's latest status update via the corresponding source, e.g. "Having lunch" via "Google Talk".

There are two ways a status update can be inserted: by explicitly linking it to a Data row using DATA_ID or indirectly linking it to a data row using a combination of PROTOCOL (or CUSTOM_PROTOCOL) and IM_HANDLE. There is no difference between insert and update, you can use either.

Inserting or updating a status update for the user's profile requires either using the DATA_ID to identify the data row to attach the update to, or StatusUpdates.PROFILE_CONTENT_URI to ensure that the change is scoped to the profile.

You cannot use android.content.ContentResolver#update to change a status, but android.content.ContentResolver#insert will replace the latests status if it already exists.

Use ContentResolver.bulkInsert(Uri, ContentValues[]) to insert/update statuses for multiple contacts at once.

Columns

StatusUpdates
long DATA_ID read/write Reference to the Data._ID entry that owns this presence. If this field is not specified, the provider will attempt to find a data row that matches the PROTOCOL (or CUSTOM_PROTOCOL) and IM_HANDLE columns.
long PROTOCOL read/write See CommonDataKinds.Im for a list of defined protocol constants.
String CUSTOM_PROTOCOL read/write Name of the custom protocol. Should be supplied along with the PROTOCOL value ContactsContract.CommonDataKinds.Im.PROTOCOL_CUSTOM. Should be null or omitted if PROTOCOL value is not ContactsContract.CommonDataKinds.Im.PROTOCOL_CUSTOM.
String IM_HANDLE read/write The IM handle the presence item is for. The handle is scoped to PROTOCOL.
String IM_ACCOUNT read/write The IM account for the local user that the presence data came from.
int PRESENCE read/write Contact IM presence status. The allowed values are:

Since presence status is inherently volatile, the content provider may choose not to store this field in long-term storage.

int CHAT_CAPABILITY read/write Contact IM chat compatibility value. The allowed values combinations of the following flags. If None of these flags is set, the device can only do text messaging.

Since chat compatibility is inherently volatile as the contact's availability moves from one device to another, the content provider may choose not to store this field in long-term storage.

String STATUS read/write Contact's latest status update, e.g. "having toast for breakfast"
long STATUS_TIMESTAMP read/write The absolute time in milliseconds when the status was entered by the user. If this value is not provided, the provider will follow this logic: if there was no prior status update, the value will be left as null. If there was a prior status update, the provider will default this field to the current time.
String STATUS_RES_PACKAGE read/write The package containing resources for this status: label and icon.
long STATUS_LABEL read/write The resource ID of the label describing the source of contact status, e.g. "Google Talk". This resource is scoped by the STATUS_RES_PACKAGE.
long STATUS_ICON read/write The resource ID of the icon for the source of contact status. This resource is scoped by the STATUS_RES_PACKAGE.

Summary

Constants
static String

The MIME type of a CONTENT_URI subdirectory of a single status update detail.

static String

The MIME type of CONTENT_URI providing a directory of status update details.

Inherited constants
Public methods
static Int

Gets the resource ID for the proper presence icon.

static Int

Returns the precedence of the status code the higher number being the higher precedence.

Properties
static Uri!

The content:// style URI for this table

static Uri!

The content:// style URI for this table, specific to the user's profile.

Constants

CONTENT_ITEM_TYPE

Added in API level 5
static val CONTENT_ITEM_TYPE: String

The MIME type of a CONTENT_URI subdirectory of a single status update detail.

Value: "vnd.android.cursor.item/status-update"

CONTENT_TYPE

Added in API level 5
static val CONTENT_TYPE: String

The MIME type of CONTENT_URI providing a directory of status update details.

Value: "vnd.android.cursor.dir/status-update"

Public methods

getPresenceIconResourceId

Added in API level 5
static fun getPresenceIconResourceId(status: Int): Int

Gets the resource ID for the proper presence icon.

Parameters
status Int: the status to get the icon for
Return
Int the resource ID for the proper presence icon

getPresencePrecedence

Added in API level 5
static fun getPresencePrecedence(status: Int): Int

Returns the precedence of the status code the higher number being the higher precedence.

Parameters
status Int: The status code.
Return
Int An integer representing the precedence, 0 being the lowest.

Properties

CONTENT_URI

Added in API level 5
static val CONTENT_URI: Uri!

The content:// style URI for this table

PROFILE_CONTENT_URI

Added in API level 14
static val PROFILE_CONTENT_URI: Uri!

The content:// style URI for this table, specific to the user's profile.