Loading api/current.xml +76 −70 Original line number Diff line number Diff line Loading @@ -68541,11 +68541,11 @@ visibility="public" > </field> <field name="FLASH_MODE_VIDEO_LIGHT" <field name="FLASH_MODE_TORCH" type="java.lang.String" transient="false" volatile="false" value=""video-light"" value=""torch"" static="true" final="true" deprecated="not deprecated" Loading Loading @@ -115648,82 +115648,21 @@ </field> </class> <class name="ContactsContract.Presence" extends="java.lang.Object" abstract="false" static="true" final="true" deprecated="not deprecated" visibility="public" > <method name="getPresenceIconResourceId" return="int" abstract="false" native="false" synchronized="false" static="true" final="true" deprecated="not deprecated" visibility="public" > <parameter name="status" type="int"> </parameter> </method> <method name="getPresencePrecedence" return="int" extends="android.provider.ContactsContract.StatusUpdates" abstract="false" native="false" synchronized="false" static="true" final="true" deprecated="not deprecated" visibility="public" > <parameter name="status" type="int"> </parameter> </method> <field name="CONTENT_ITEM_TYPE" type="java.lang.String" transient="false" volatile="false" value=""vnd.android.cursor.item/im-presence"" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="CONTENT_TYPE" type="java.lang.String" transient="false" volatile="false" value=""vnd.android.cursor.dir/im-presence"" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="CONTENT_URI" type="android.net.Uri" transient="false" volatile="false" static="true" final="true" deprecated="not deprecated" deprecated="deprecated" visibility="public" > </field> <field name="_ID" type="java.lang.String" transient="false" volatile="false" value=""presence_id"" static="true" final="true" <constructor name="ContactsContract.Presence" type="android.provider.ContactsContract.Presence" static="false" final="false" deprecated="not deprecated" visibility="public" > </field> </constructor> </class> <class name="ContactsContract.RawContacts" extends="java.lang.Object" Loading Loading @@ -115890,6 +115829,73 @@ > </field> </class> <class name="ContactsContract.StatusUpdates" extends="java.lang.Object" abstract="false" static="true" final="false" deprecated="not deprecated" visibility="public" > <method name="getPresenceIconResourceId" return="int" abstract="false" native="false" synchronized="false" static="true" final="true" deprecated="not deprecated" visibility="public" > <parameter name="status" type="int"> </parameter> </method> <method name="getPresencePrecedence" return="int" abstract="false" native="false" synchronized="false" static="true" final="true" deprecated="not deprecated" visibility="public" > <parameter name="status" type="int"> </parameter> </method> <field name="CONTENT_ITEM_TYPE" type="java.lang.String" transient="false" volatile="false" value=""vnd.android.cursor.item/status-update"" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="CONTENT_TYPE" type="java.lang.String" transient="false" volatile="false" value=""vnd.android.cursor.dir/status-update"" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="CONTENT_URI" type="android.net.Uri" transient="false" volatile="false" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> </class> <class name="ContactsContract.SyncState" extends="java.lang.Object" abstract="false" core/java/android/bluetooth/BluetoothAdapter.java +13 −6 Original line number Diff line number Diff line Loading @@ -412,10 +412,10 @@ public final class BluetoothAdapter { * Set the Bluetooth scan mode of the local Bluetooth adapter. * <p>The Bluetooth scan mode determines if the local adapter is * connectable and/or discoverable from remote Bluetooth devices. * <p>For privacy reasons, it is recommended to limit the duration of time * that the local adapter remains in a discoverable scan mode. For example, * 2 minutes is a generous time to allow a remote Bluetooth device to * initiate and complete its discovery process. * <p>For privacy reasons, discoverable mode is automatically turned off * after <code>duration</code> seconds. For example, 120 seconds should be * enough for a remote device to initiate and complete its discovery * process. * <p>Valid scan mode values are: * {@link #SCAN_MODE_NONE}, * {@link #SCAN_MODE_CONNECTABLE}, Loading @@ -427,16 +427,23 @@ public final class BluetoothAdapter { * </code>instead. * * @param mode valid scan mode * @param duration time in seconds to apply scan mode, only used for * {@link #SCAN_MODE_CONNECTABLE_DISCOVERABLE} * @return true if the scan mode was set, false otherwise * @hide */ public boolean setScanMode(int mode) { public boolean setScanMode(int mode, int duration) { try { return mService.setScanMode(mode); return mService.setScanMode(mode, duration); } catch (RemoteException e) {Log.e(TAG, "", e);} return false; } /** @hide */ public boolean setScanMode(int mode) { return setScanMode(mode, 120); } /** @hide */ public int getDiscoverableTimeout() { try { Loading core/java/android/bluetooth/IBluetooth.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ interface IBluetooth boolean setName(in String name); int getScanMode(); boolean setScanMode(int mode); boolean setScanMode(int mode, int duration); int getDiscoverableTimeout(); boolean setDiscoverableTimeout(int timeout); Loading core/java/android/hardware/Camera.java +10 −5 Original line number Diff line number Diff line Loading @@ -368,6 +368,9 @@ public class Camera { * uses auto-focus with the * <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><uses-feature></a> * manifest element.</p> * <p>If the current flash mode is not * {@link android.hardware.Camera.Parameters#FLASH_MODE_OFF}, flash may be * fired during auto-focus depending on the driver.<p> * * @param cb the callback to run */ Loading Loading @@ -637,12 +640,13 @@ public class Camera { */ public static final String FLASH_MODE_OFF = "off"; /** * Flash will be fired automatically when required. The timing is * decided by camera driver. * Flash will be fired automatically when required. The flash may be fired * during preview, auto-focus, or snapshot depending on the driver. */ public static final String FLASH_MODE_AUTO = "auto"; /** * Flash will always be fired. The timing is decided by camera driver. * Flash will always be fired during snapshot. The flash may also be * fired during preview or auto-focus depending on the driver. */ public static final String FLASH_MODE_ON = "on"; /** Loading @@ -650,9 +654,10 @@ public class Camera { */ public static final String FLASH_MODE_RED_EYE = "red-eye"; /** * Constant emission of light. This can be used for video recording. * Constant emission of light during preview, auto-focus and snapshot. * This can also be used for video recording. */ public static final String FLASH_MODE_VIDEO_LIGHT = "video-light"; public static final String FLASH_MODE_TORCH = "torch"; // Values for scene mode settings. public static final String SCENE_MODE_AUTO = "auto"; Loading core/java/android/provider/ContactsContract.java +95 −66 Original line number Diff line number Diff line Loading @@ -60,6 +60,7 @@ public final class ContactsContract { * @hide should be removed when users are updated to refer to SyncState * @deprecated use SyncState instead */ @Deprecated public interface SyncStateColumns extends SyncStateContract.Columns { } Loading Loading @@ -225,60 +226,60 @@ public final class ContactsContract { public static final String IN_VISIBLE_GROUP = "in_visible_group"; /** * Contact presence status. See {@link Presence} * for individual status definitions. This column is only returned if explicitly * requested in the query projection. * <p>Type: NUMBER</p> * An indicator of whether this contact has at least one phone number. "1" if there is * at least one phone number, "0" otherwise. * <P>Type: INTEGER</P> */ public static final String PRESENCE_STATUS = Presence.PRESENCE_STATUS; public static final String HAS_PHONE_NUMBER = "has_phone_number"; /** * Contact presence custom status. This column is only returned if explicitly * requested in the query projection. * <p>Type: TEXT</p> * An opaque value that contains hints on how to find the contact if * its row id changed as a result of a sync or aggregation. */ public static final String PRESENCE_CUSTOM_STATUS = Presence.PRESENCE_CUSTOM_STATUS; public static final String LOOKUP_KEY = "lookup"; } private interface ContactStatusColumns { /** * Contact presence status. See {@link StatusUpdates} for individual status * definitions. * <p>Type: NUMBER</p> */ public static final String CONTACT_PRESENCE = "contact_presence"; /** * The time when the latest presence custom status was inserted/updated. * This column is only returned if explicitly requested in the query * projection. * Contact's latest status update. * <p>Type: TEXT</p> * @hide TODO unhide */ public static final String PRESENCE_CUSTOM_STATUS_TIMESTAMP = Presence.PRESENCE_CUSTOM_STATUS_TIMESTAMP; public static final String CONTACT_STATUS = "contact_status"; /** * Protocol that supplied the latest status update (see {@link CommonDataKinds.Im#PROTOCOL}. * This column is only returned if explicitly requested in the query * projection. * The absolute time in milliseconds when the latest status was * inserted/updated. * <p>Type: NUMBER</p> * @hide TODO unhide */ public static final String PRESENCE_PROTOCOL = "presence_protocol"; public static final String CONTACT_STATUS_TIMESTAMP = "contact_status_ts"; /** * Custom protocol that supplied the latest status update (see * {@link CommonDataKinds.Im#CUSTOM_PROTOCOL}. This column is only * returned if explicitly requested in the query projection. * <p>Type: TEXT</p> * @hide TODO unhide * The package containing resources for this status: label and icon. * <p>Type: NUMBER</p> */ public static final String PRESENCE_CUSTOM_PROTOCOL = "presence_custom_protocol"; public static final String CONTACT_STATUS_RES_PACKAGE = "contact_status_res_package"; /** * An indicator of whether this contact has at least one phone number. "1" if there is * at least one phone number, "0" otherwise. * <P>Type: INTEGER</P> * The resource ID of the label describing the source of contact * status, e.g. "Google Talk". This resource is scoped by the * {@link #CONTACT_STATUS_RES_PACKAGE}. * <p>Type: NUMBER</p> */ public static final String HAS_PHONE_NUMBER = "has_phone_number"; public static final String CONTACT_STATUS_LABEL = "contact_status_label"; /** * An opaque value that contains hints on how to find the contact if * its row id changed as a result of a sync or aggregation. * The resource ID of the icon for the source of contact status. This * resource is scoped by the {@link #CONTACT_STATUS_RES_PACKAGE}. * <p>Type: NUMBER</p> */ public static final String LOOKUP_KEY = "lookup"; public static final String CONTACT_STATUS_ICON = "contact_status_icon"; } /** Loading @@ -286,7 +287,7 @@ public final class ContactsContract { * of raw contacts representing the same person. */ public static class Contacts implements BaseColumns, ContactsColumns, ContactOptionsColumns { ContactOptionsColumns, ContactStatusColumns { /** * This utility class cannot be instantiated */ Loading Loading @@ -649,6 +650,46 @@ public final class ContactsContract { } } private interface StatusColumns extends Im.CommonPresenceColumns { /** * Contact's latest presence level. * <P>Type: INTEGER (one of the values below)</P> */ public static final String PRESENCE = PRESENCE_STATUS; /** * Contact latest status update. * <p>Type: TEXT</p> */ public static final String STATUS = PRESENCE_CUSTOM_STATUS; /** * The absolute time in milliseconds when the latest status was inserted/updated. * <p>Type: NUMBER</p> */ public static final String STATUS_TIMESTAMP = "status_ts"; /** * The package containing resources for this status: label and icon. * <p>Type: NUMBER</p> */ public static final String STATUS_RES_PACKAGE = "status_res_package"; /** * The resource ID of the label describing the source of the status update, e.g. "Google * Talk". This resource should be scoped by the {@link #STATUS_RES_PACKAGE}. * <p>Type: NUMBER</p> */ public static final String STATUS_LABEL = "status_label"; /** * The resource ID of the icon for the source of the status update. * This resource should be scoped by the {@link #STATUS_RES_PACKAGE}. * <p>Type: NUMBER</p> */ public static final String STATUS_ICON = "status_icon"; } private interface DataColumns { /** * The package name to use when creating {@link Resources} objects for Loading Loading @@ -736,8 +777,8 @@ public final class ContactsContract { /** * Combines all columns returned by {@link Data} table queries. */ private interface DataColumnsWithJoins extends BaseColumns, DataColumns, RawContactsColumns, ContactsColumns, ContactOptionsColumns { private interface DataColumnsWithJoins extends BaseColumns, DataColumns, StatusColumns, RawContactsColumns, ContactsColumns, ContactOptionsColumns, ContactStatusColumns { } Loading @@ -758,15 +799,6 @@ public final class ContactsContract { */ public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "data"); /** * The content:// style URI for this table joined with {@link Presence} * data where applicable. * * @hide */ public static final Uri CONTENT_WITH_PRESENCE_URI = Uri.withAppendedPath(AUTHORITY_URI, "data_with_presence"); /** * The MIME type of {@link #CONTENT_URI} providing a directory of data. */ Loading Loading @@ -841,8 +873,8 @@ public final class ContactsContract { } /** * Additional data mixed in with {@link Im.CommonPresenceColumns} to link * back to specific {@link ContactsContract.Contacts#_ID} entries. * Additional data mixed in with {@link StatusColumns} to link * back to specific {@link ContactsContract.Data#_ID} entries. */ private interface PresenceColumns { Loading Loading @@ -881,23 +913,22 @@ public final class ContactsContract { public static final String IM_ACCOUNT = "im_account"; } public static final class Presence implements PresenceColumns, Im.CommonPresenceColumns { /** * This utility class cannot be instantiated * A status update is linked to a {@link Data} row and captures the user's latest status * update via the corresponding source, e.g. "Having lunch" via "Google Talk". */ private Presence() {} // TODO make final as soon as Presence is removed public static /*final*/ class StatusUpdates implements StatusColumns, PresenceColumns { /** * The content:// style URI for this table * This utility class cannot be instantiated */ public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "presence"); private StatusUpdates() {} /** * The unique ID for a presence row. * <P>Type: INTEGER (long)</P> * The content:// style URI for this table */ public static final String _ID = "presence_id"; public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "status_updates"); /** * Gets the resource ID for the proper presence icon. Loading Loading @@ -936,22 +967,20 @@ public final class ContactsContract { /** * The MIME type of {@link #CONTENT_URI} providing a directory of * presence details. * status update details. */ public static final String CONTENT_TYPE = "vnd.android.cursor.dir/im-presence"; public static final String CONTENT_TYPE = "vnd.android.cursor.dir/status-update"; /** * The MIME type of a {@link #CONTENT_URI} subdirectory of a single * presence detail. * status update detail. */ public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/im-presence"; public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/status-update"; } @Deprecated public static final class Presence extends StatusUpdates { /** * The time when the presence custom status was inserted/updated. * <p>Type: TEXT</p> * @hide TODO unhide */ public static final String PRESENCE_CUSTOM_STATUS_TIMESTAMP = "status_timestamp"; } /** Loading Loading
api/current.xml +76 −70 Original line number Diff line number Diff line Loading @@ -68541,11 +68541,11 @@ visibility="public" > </field> <field name="FLASH_MODE_VIDEO_LIGHT" <field name="FLASH_MODE_TORCH" type="java.lang.String" transient="false" volatile="false" value=""video-light"" value=""torch"" static="true" final="true" deprecated="not deprecated" Loading Loading @@ -115648,82 +115648,21 @@ </field> </class> <class name="ContactsContract.Presence" extends="java.lang.Object" abstract="false" static="true" final="true" deprecated="not deprecated" visibility="public" > <method name="getPresenceIconResourceId" return="int" abstract="false" native="false" synchronized="false" static="true" final="true" deprecated="not deprecated" visibility="public" > <parameter name="status" type="int"> </parameter> </method> <method name="getPresencePrecedence" return="int" extends="android.provider.ContactsContract.StatusUpdates" abstract="false" native="false" synchronized="false" static="true" final="true" deprecated="not deprecated" visibility="public" > <parameter name="status" type="int"> </parameter> </method> <field name="CONTENT_ITEM_TYPE" type="java.lang.String" transient="false" volatile="false" value=""vnd.android.cursor.item/im-presence"" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="CONTENT_TYPE" type="java.lang.String" transient="false" volatile="false" value=""vnd.android.cursor.dir/im-presence"" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="CONTENT_URI" type="android.net.Uri" transient="false" volatile="false" static="true" final="true" deprecated="not deprecated" deprecated="deprecated" visibility="public" > </field> <field name="_ID" type="java.lang.String" transient="false" volatile="false" value=""presence_id"" static="true" final="true" <constructor name="ContactsContract.Presence" type="android.provider.ContactsContract.Presence" static="false" final="false" deprecated="not deprecated" visibility="public" > </field> </constructor> </class> <class name="ContactsContract.RawContacts" extends="java.lang.Object" Loading Loading @@ -115890,6 +115829,73 @@ > </field> </class> <class name="ContactsContract.StatusUpdates" extends="java.lang.Object" abstract="false" static="true" final="false" deprecated="not deprecated" visibility="public" > <method name="getPresenceIconResourceId" return="int" abstract="false" native="false" synchronized="false" static="true" final="true" deprecated="not deprecated" visibility="public" > <parameter name="status" type="int"> </parameter> </method> <method name="getPresencePrecedence" return="int" abstract="false" native="false" synchronized="false" static="true" final="true" deprecated="not deprecated" visibility="public" > <parameter name="status" type="int"> </parameter> </method> <field name="CONTENT_ITEM_TYPE" type="java.lang.String" transient="false" volatile="false" value=""vnd.android.cursor.item/status-update"" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="CONTENT_TYPE" type="java.lang.String" transient="false" volatile="false" value=""vnd.android.cursor.dir/status-update"" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="CONTENT_URI" type="android.net.Uri" transient="false" volatile="false" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> </class> <class name="ContactsContract.SyncState" extends="java.lang.Object" abstract="false"
core/java/android/bluetooth/BluetoothAdapter.java +13 −6 Original line number Diff line number Diff line Loading @@ -412,10 +412,10 @@ public final class BluetoothAdapter { * Set the Bluetooth scan mode of the local Bluetooth adapter. * <p>The Bluetooth scan mode determines if the local adapter is * connectable and/or discoverable from remote Bluetooth devices. * <p>For privacy reasons, it is recommended to limit the duration of time * that the local adapter remains in a discoverable scan mode. For example, * 2 minutes is a generous time to allow a remote Bluetooth device to * initiate and complete its discovery process. * <p>For privacy reasons, discoverable mode is automatically turned off * after <code>duration</code> seconds. For example, 120 seconds should be * enough for a remote device to initiate and complete its discovery * process. * <p>Valid scan mode values are: * {@link #SCAN_MODE_NONE}, * {@link #SCAN_MODE_CONNECTABLE}, Loading @@ -427,16 +427,23 @@ public final class BluetoothAdapter { * </code>instead. * * @param mode valid scan mode * @param duration time in seconds to apply scan mode, only used for * {@link #SCAN_MODE_CONNECTABLE_DISCOVERABLE} * @return true if the scan mode was set, false otherwise * @hide */ public boolean setScanMode(int mode) { public boolean setScanMode(int mode, int duration) { try { return mService.setScanMode(mode); return mService.setScanMode(mode, duration); } catch (RemoteException e) {Log.e(TAG, "", e);} return false; } /** @hide */ public boolean setScanMode(int mode) { return setScanMode(mode, 120); } /** @hide */ public int getDiscoverableTimeout() { try { Loading
core/java/android/bluetooth/IBluetooth.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ interface IBluetooth boolean setName(in String name); int getScanMode(); boolean setScanMode(int mode); boolean setScanMode(int mode, int duration); int getDiscoverableTimeout(); boolean setDiscoverableTimeout(int timeout); Loading
core/java/android/hardware/Camera.java +10 −5 Original line number Diff line number Diff line Loading @@ -368,6 +368,9 @@ public class Camera { * uses auto-focus with the * <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><uses-feature></a> * manifest element.</p> * <p>If the current flash mode is not * {@link android.hardware.Camera.Parameters#FLASH_MODE_OFF}, flash may be * fired during auto-focus depending on the driver.<p> * * @param cb the callback to run */ Loading Loading @@ -637,12 +640,13 @@ public class Camera { */ public static final String FLASH_MODE_OFF = "off"; /** * Flash will be fired automatically when required. The timing is * decided by camera driver. * Flash will be fired automatically when required. The flash may be fired * during preview, auto-focus, or snapshot depending on the driver. */ public static final String FLASH_MODE_AUTO = "auto"; /** * Flash will always be fired. The timing is decided by camera driver. * Flash will always be fired during snapshot. The flash may also be * fired during preview or auto-focus depending on the driver. */ public static final String FLASH_MODE_ON = "on"; /** Loading @@ -650,9 +654,10 @@ public class Camera { */ public static final String FLASH_MODE_RED_EYE = "red-eye"; /** * Constant emission of light. This can be used for video recording. * Constant emission of light during preview, auto-focus and snapshot. * This can also be used for video recording. */ public static final String FLASH_MODE_VIDEO_LIGHT = "video-light"; public static final String FLASH_MODE_TORCH = "torch"; // Values for scene mode settings. public static final String SCENE_MODE_AUTO = "auto"; Loading
core/java/android/provider/ContactsContract.java +95 −66 Original line number Diff line number Diff line Loading @@ -60,6 +60,7 @@ public final class ContactsContract { * @hide should be removed when users are updated to refer to SyncState * @deprecated use SyncState instead */ @Deprecated public interface SyncStateColumns extends SyncStateContract.Columns { } Loading Loading @@ -225,60 +226,60 @@ public final class ContactsContract { public static final String IN_VISIBLE_GROUP = "in_visible_group"; /** * Contact presence status. See {@link Presence} * for individual status definitions. This column is only returned if explicitly * requested in the query projection. * <p>Type: NUMBER</p> * An indicator of whether this contact has at least one phone number. "1" if there is * at least one phone number, "0" otherwise. * <P>Type: INTEGER</P> */ public static final String PRESENCE_STATUS = Presence.PRESENCE_STATUS; public static final String HAS_PHONE_NUMBER = "has_phone_number"; /** * Contact presence custom status. This column is only returned if explicitly * requested in the query projection. * <p>Type: TEXT</p> * An opaque value that contains hints on how to find the contact if * its row id changed as a result of a sync or aggregation. */ public static final String PRESENCE_CUSTOM_STATUS = Presence.PRESENCE_CUSTOM_STATUS; public static final String LOOKUP_KEY = "lookup"; } private interface ContactStatusColumns { /** * Contact presence status. See {@link StatusUpdates} for individual status * definitions. * <p>Type: NUMBER</p> */ public static final String CONTACT_PRESENCE = "contact_presence"; /** * The time when the latest presence custom status was inserted/updated. * This column is only returned if explicitly requested in the query * projection. * Contact's latest status update. * <p>Type: TEXT</p> * @hide TODO unhide */ public static final String PRESENCE_CUSTOM_STATUS_TIMESTAMP = Presence.PRESENCE_CUSTOM_STATUS_TIMESTAMP; public static final String CONTACT_STATUS = "contact_status"; /** * Protocol that supplied the latest status update (see {@link CommonDataKinds.Im#PROTOCOL}. * This column is only returned if explicitly requested in the query * projection. * The absolute time in milliseconds when the latest status was * inserted/updated. * <p>Type: NUMBER</p> * @hide TODO unhide */ public static final String PRESENCE_PROTOCOL = "presence_protocol"; public static final String CONTACT_STATUS_TIMESTAMP = "contact_status_ts"; /** * Custom protocol that supplied the latest status update (see * {@link CommonDataKinds.Im#CUSTOM_PROTOCOL}. This column is only * returned if explicitly requested in the query projection. * <p>Type: TEXT</p> * @hide TODO unhide * The package containing resources for this status: label and icon. * <p>Type: NUMBER</p> */ public static final String PRESENCE_CUSTOM_PROTOCOL = "presence_custom_protocol"; public static final String CONTACT_STATUS_RES_PACKAGE = "contact_status_res_package"; /** * An indicator of whether this contact has at least one phone number. "1" if there is * at least one phone number, "0" otherwise. * <P>Type: INTEGER</P> * The resource ID of the label describing the source of contact * status, e.g. "Google Talk". This resource is scoped by the * {@link #CONTACT_STATUS_RES_PACKAGE}. * <p>Type: NUMBER</p> */ public static final String HAS_PHONE_NUMBER = "has_phone_number"; public static final String CONTACT_STATUS_LABEL = "contact_status_label"; /** * An opaque value that contains hints on how to find the contact if * its row id changed as a result of a sync or aggregation. * The resource ID of the icon for the source of contact status. This * resource is scoped by the {@link #CONTACT_STATUS_RES_PACKAGE}. * <p>Type: NUMBER</p> */ public static final String LOOKUP_KEY = "lookup"; public static final String CONTACT_STATUS_ICON = "contact_status_icon"; } /** Loading @@ -286,7 +287,7 @@ public final class ContactsContract { * of raw contacts representing the same person. */ public static class Contacts implements BaseColumns, ContactsColumns, ContactOptionsColumns { ContactOptionsColumns, ContactStatusColumns { /** * This utility class cannot be instantiated */ Loading Loading @@ -649,6 +650,46 @@ public final class ContactsContract { } } private interface StatusColumns extends Im.CommonPresenceColumns { /** * Contact's latest presence level. * <P>Type: INTEGER (one of the values below)</P> */ public static final String PRESENCE = PRESENCE_STATUS; /** * Contact latest status update. * <p>Type: TEXT</p> */ public static final String STATUS = PRESENCE_CUSTOM_STATUS; /** * The absolute time in milliseconds when the latest status was inserted/updated. * <p>Type: NUMBER</p> */ public static final String STATUS_TIMESTAMP = "status_ts"; /** * The package containing resources for this status: label and icon. * <p>Type: NUMBER</p> */ public static final String STATUS_RES_PACKAGE = "status_res_package"; /** * The resource ID of the label describing the source of the status update, e.g. "Google * Talk". This resource should be scoped by the {@link #STATUS_RES_PACKAGE}. * <p>Type: NUMBER</p> */ public static final String STATUS_LABEL = "status_label"; /** * The resource ID of the icon for the source of the status update. * This resource should be scoped by the {@link #STATUS_RES_PACKAGE}. * <p>Type: NUMBER</p> */ public static final String STATUS_ICON = "status_icon"; } private interface DataColumns { /** * The package name to use when creating {@link Resources} objects for Loading Loading @@ -736,8 +777,8 @@ public final class ContactsContract { /** * Combines all columns returned by {@link Data} table queries. */ private interface DataColumnsWithJoins extends BaseColumns, DataColumns, RawContactsColumns, ContactsColumns, ContactOptionsColumns { private interface DataColumnsWithJoins extends BaseColumns, DataColumns, StatusColumns, RawContactsColumns, ContactsColumns, ContactOptionsColumns, ContactStatusColumns { } Loading @@ -758,15 +799,6 @@ public final class ContactsContract { */ public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "data"); /** * The content:// style URI for this table joined with {@link Presence} * data where applicable. * * @hide */ public static final Uri CONTENT_WITH_PRESENCE_URI = Uri.withAppendedPath(AUTHORITY_URI, "data_with_presence"); /** * The MIME type of {@link #CONTENT_URI} providing a directory of data. */ Loading Loading @@ -841,8 +873,8 @@ public final class ContactsContract { } /** * Additional data mixed in with {@link Im.CommonPresenceColumns} to link * back to specific {@link ContactsContract.Contacts#_ID} entries. * Additional data mixed in with {@link StatusColumns} to link * back to specific {@link ContactsContract.Data#_ID} entries. */ private interface PresenceColumns { Loading Loading @@ -881,23 +913,22 @@ public final class ContactsContract { public static final String IM_ACCOUNT = "im_account"; } public static final class Presence implements PresenceColumns, Im.CommonPresenceColumns { /** * This utility class cannot be instantiated * A status update is linked to a {@link Data} row and captures the user's latest status * update via the corresponding source, e.g. "Having lunch" via "Google Talk". */ private Presence() {} // TODO make final as soon as Presence is removed public static /*final*/ class StatusUpdates implements StatusColumns, PresenceColumns { /** * The content:// style URI for this table * This utility class cannot be instantiated */ public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "presence"); private StatusUpdates() {} /** * The unique ID for a presence row. * <P>Type: INTEGER (long)</P> * The content:// style URI for this table */ public static final String _ID = "presence_id"; public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "status_updates"); /** * Gets the resource ID for the proper presence icon. Loading Loading @@ -936,22 +967,20 @@ public final class ContactsContract { /** * The MIME type of {@link #CONTENT_URI} providing a directory of * presence details. * status update details. */ public static final String CONTENT_TYPE = "vnd.android.cursor.dir/im-presence"; public static final String CONTENT_TYPE = "vnd.android.cursor.dir/status-update"; /** * The MIME type of a {@link #CONTENT_URI} subdirectory of a single * presence detail. * status update detail. */ public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/im-presence"; public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/status-update"; } @Deprecated public static final class Presence extends StatusUpdates { /** * The time when the presence custom status was inserted/updated. * <p>Type: TEXT</p> * @hide TODO unhide */ public static final String PRESENCE_CUSTOM_STATUS_TIMESTAMP = "status_timestamp"; } /** Loading