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 |
static String |
The MIME type of |
Inherited constants | |
---|---|
Public methods | |
---|---|
static Int |
getPresenceIconResourceId(status: Int) Gets the resource ID for the proper presence icon. |
static Int |
getPresencePrecedence(status: 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
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
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
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
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
static val CONTENT_URI: Uri!
The content:// style URI for this table
PROFILE_CONTENT_URI
static val PROFILE_CONTENT_URI: Uri!
The content:// style URI for this table, specific to the user's profile.