Associating Presence with Contact rather than Aggregate.
diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java
index 69c3d41..5fb0120 100644
--- a/core/java/android/provider/ContactsContract.java
+++ b/core/java/android/provider/ContactsContract.java
@@ -113,7 +113,7 @@
public static final String SEND_TO_VOICEMAIL = "send_to_voicemail";
}
- public interface AggregatesColumns {
+ private interface AggregatesColumns {
/**
* The display name for the contact.
* <P>Type: TEXT</P>
@@ -143,8 +143,33 @@
* any {@link GroupMembership} for this aggregate.
*/
public static final String IN_VISIBLE_GROUP = "in_visible_group";
+
+ /**
+ * Contact presence status. See {@link android.provider.Im.CommonPresenceColumns}
+ * for individual status definitions.
+ */
+ public static final String PRESENCE_STATUS = Presence.PRESENCE_STATUS;
+
+ /**
+ * The type of data, for example Home or Work.
+ * <P>Type: INTEGER</P>
+ */
+ public static final String PRIMARY_PHONE_TYPE = CommonDataKinds.Phone.TYPE;
+
+ /**
+ * The user defined label for the primary phone.
+ * <P>Type: TEXT</P>
+ */
+ public static final String PRIMARY_PHONE_LABEL = CommonDataKinds.Phone.LABEL;
+
+ /**
+ * The primary phone number.
+ * <P>Type: TEXT</P>
+ */
+ public static final String PRIMARY_PHONE_NUMBER = CommonDataKinds.Phone.NUMBER;
}
+
/**
* Constants for the aggregates table, which contains a record per group
* of contact representing the same person.
@@ -196,7 +221,6 @@
public static final Uri CONTENT_SUMMARY_GROUP_URI = Uri.withAppendedPath(
CONTENT_SUMMARY_URI, "group");
-
/**
* The MIME type of {@link #CONTENT_URI} providing a directory of
* people.
@@ -511,11 +535,19 @@
* back to specific {@link ContactsContract.Aggregates#_ID} entries.
*/
private interface PresenceColumns {
+
/**
- * Reference to the {@link Aggregates#_ID} this presence references.
+ * The unique ID for a row.
+ * <P>Type: INTEGER (long)</P>
+ */
+ public static final String _ID = "presence_id";
+
+ /**
+ * Reference to the {@link android.provider.ContactsContract.Contacts#_ID} this presence
+ * references.
* <P>Type: INTEGER</P>
*/
- public static final String AGGREGATE_ID = "aggregate_id";
+ public static final String CONTACT_ID = "contact_id";
/**
* Reference to the {@link Data#_ID} entry that owns this presence.
@@ -545,8 +577,7 @@
public static final String IM_ACCOUNT = "im_account";
}
- public static final class Presence implements BaseColumns, PresenceColumns,
- Im.CommonPresenceColumns {
+ public static final class Presence implements PresenceColumns, Im.CommonPresenceColumns {
/**
* This utility class cannot be instantiated
*/