Merge change 2652
* changes: Move ContactsContract.java and SocialContract.java into android.providers
This commit is contained in:
616
core/java/android/provider/ContactsContract.java
Normal file
616
core/java/android/provider/ContactsContract.java
Normal file
@@ -0,0 +1,616 @@
|
||||
/*
|
||||
* Copyright (C) 2009 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License
|
||||
*/
|
||||
|
||||
package android.provider;
|
||||
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.net.Uri;
|
||||
import android.provider.BaseColumns;
|
||||
import android.provider.Im.ProviderNames;
|
||||
|
||||
/**
|
||||
* The contract between the contacts provider and applications. Contains definitions
|
||||
* for the supported URIs and columns.
|
||||
*
|
||||
* TODO: move to android.provider
|
||||
*/
|
||||
public final class ContactsContract {
|
||||
/** The authority for the contacts provider */
|
||||
public static final String AUTHORITY = "com.android.contacts";
|
||||
/** A content:// style uri to the authority for the contacts provider */
|
||||
public static final Uri AUTHORITY_URI = Uri.parse("content://" + AUTHORITY);
|
||||
|
||||
public interface AggregatesColumns {
|
||||
/**
|
||||
* The display name for the contact.
|
||||
* <P>Type: TEXT</P>
|
||||
*/
|
||||
public static final String DISPLAY_NAME = "display_name";
|
||||
|
||||
/**
|
||||
* The number of times a person has been contacted
|
||||
* <P>Type: INTEGER</P>
|
||||
*/
|
||||
public static final String TIMES_CONTACTED = "times_contacted";
|
||||
|
||||
/**
|
||||
* The last time a person was contacted.
|
||||
* <P>Type: INTEGER</P>
|
||||
*/
|
||||
public static final String LAST_TIME_CONTACTED = "last_time_contacted";
|
||||
|
||||
/**
|
||||
* Is the contact starred?
|
||||
* <P>Type: INTEGER (boolean)</P>
|
||||
*/
|
||||
public static final String STARRED = "starred";
|
||||
|
||||
/**
|
||||
* Reference to the row in the data table holding the primary phone number.
|
||||
* <P>Type: INTEGER REFERENCES data(_id)</P>
|
||||
*/
|
||||
public static final String PRIMARY_PHONE_ID = "primary_phone_id";
|
||||
|
||||
/**
|
||||
* Reference to the row in the data table holding the primary email address.
|
||||
* <P>Type: INTEGER REFERENCES data(_id)</P>
|
||||
*/
|
||||
public static final String PRIMARY_EMAIL_ID = "primary_email_id";
|
||||
|
||||
/**
|
||||
* Reference to the row in the data table holding the photo.
|
||||
* <P>Type: INTEGER REFERENCES data(_id)</P>
|
||||
*/
|
||||
public static final String PHOTO_ID = "photo_id";
|
||||
|
||||
/**
|
||||
* Reference to a row containing custom ringtone and send to voicemail information.
|
||||
* <P>Type: INTEGER REFERENCES data(_id)</P>
|
||||
*/
|
||||
public static final String CUSTOM_RINGTONE_ID = "custom_ringtone_id";
|
||||
}
|
||||
|
||||
/**
|
||||
* Constants for the aggregates table, which contains a record per group
|
||||
* of contact representing the same person.
|
||||
*/
|
||||
public static final class Aggregates implements BaseColumns, AggregatesColumns {
|
||||
/**
|
||||
* This utility class cannot be instantiated
|
||||
*/
|
||||
private Aggregates() {}
|
||||
|
||||
/**
|
||||
* The content:// style URI for this table
|
||||
*/
|
||||
public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "aggregates");
|
||||
|
||||
/**
|
||||
* The MIME type of {@link #CONTENT_URI} providing a directory of
|
||||
* people.
|
||||
*/
|
||||
public static final String CONTENT_TYPE = "vnd.android.cursor.dir/person_aggregate";
|
||||
|
||||
/**
|
||||
* The MIME type of a {@link #CONTENT_URI} subdirectory of a single
|
||||
* person.
|
||||
*/
|
||||
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/person_aggregate";
|
||||
|
||||
/**
|
||||
* A sub-directory of a single contact aggregate that contains all of their
|
||||
* {@link Data} rows.
|
||||
*/
|
||||
public static final class Data implements BaseColumns, DataColumns {
|
||||
/**
|
||||
* no public constructor since this is a utility class
|
||||
*/
|
||||
private Data() {}
|
||||
|
||||
/**
|
||||
* The directory twig for this sub-table
|
||||
*/
|
||||
public static final String CONTENT_DIRECTORY = "data";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constants for the contacts table, which contains the base contact information.
|
||||
*/
|
||||
public static final class Contacts implements BaseColumns {
|
||||
/**
|
||||
* This utility class cannot be instantiated
|
||||
*/
|
||||
private Contacts() {}
|
||||
|
||||
/**
|
||||
* A reference to the {@link Aggregates#_ID} that this data belongs to.
|
||||
*/
|
||||
public static final String AGGREGATE_ID = "aggregate_id";
|
||||
|
||||
/**
|
||||
* The content:// style URI for this table
|
||||
*/
|
||||
public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "contacts");
|
||||
|
||||
/**
|
||||
* The content:// style URL for filtering people by email address. The
|
||||
* filter argument should be passed as an additional path segment after
|
||||
* this URI.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public static final Uri CONTENT_FILTER_EMAIL_URI = Uri.withAppendedPath(CONTENT_URI, "filter_email");
|
||||
|
||||
/**
|
||||
* The MIME type of {@link #CONTENT_URI} providing a directory of
|
||||
* people.
|
||||
*/
|
||||
public static final String CONTENT_TYPE = "vnd.android.cursor.dir/person";
|
||||
|
||||
/**
|
||||
* The MIME type of a {@link #CONTENT_URI} subdirectory of a single
|
||||
* person.
|
||||
*/
|
||||
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/person";
|
||||
|
||||
/**
|
||||
* A sub-directory of a single contact that contains all of their {@link Data} rows.
|
||||
* To access this directory append
|
||||
*/
|
||||
public static final class Data implements BaseColumns, DataColumns {
|
||||
/**
|
||||
* no public constructor since this is a utility class
|
||||
*/
|
||||
private Data() {}
|
||||
|
||||
/**
|
||||
* The directory twig for this sub-table
|
||||
*/
|
||||
public static final String CONTENT_DIRECTORY = "data";
|
||||
}
|
||||
}
|
||||
|
||||
private interface DataColumns {
|
||||
/**
|
||||
* The package name that defines this type of data.
|
||||
*/
|
||||
public static final String PACKAGE = "package";
|
||||
|
||||
/**
|
||||
* The mime-type of the item represented by this row.
|
||||
*/
|
||||
public static final String MIMETYPE = "mimetype";
|
||||
|
||||
/**
|
||||
* A reference to the {@link Contacts#_ID} that this data belongs to.
|
||||
*/
|
||||
public static final String CONTACT_ID = "contact_id";
|
||||
|
||||
/** Generic data column, the meaning is {@link #MIMETYPE} specific */
|
||||
public static final String DATA1 = "data1";
|
||||
/** Generic data column, the meaning is {@link #MIMETYPE} specific */
|
||||
public static final String DATA2 = "data2";
|
||||
/** Generic data column, the meaning is {@link #MIMETYPE} specific */
|
||||
public static final String DATA3 = "data3";
|
||||
/** Generic data column, the meaning is {@link #MIMETYPE} specific */
|
||||
public static final String DATA4 = "data4";
|
||||
/** Generic data column, the meaning is {@link #MIMETYPE} specific */
|
||||
public static final String DATA5 = "data5";
|
||||
/** Generic data column, the meaning is {@link #MIMETYPE} specific */
|
||||
public static final String DATA6 = "data6";
|
||||
/** Generic data column, the meaning is {@link #MIMETYPE} specific */
|
||||
public static final String DATA7 = "data7";
|
||||
/** Generic data column, the meaning is {@link #MIMETYPE} specific */
|
||||
public static final String DATA8 = "data8";
|
||||
/** Generic data column, the meaning is {@link #MIMETYPE} specific */
|
||||
public static final String DATA9 = "data9";
|
||||
/** Generic data column, the meaning is {@link #MIMETYPE} specific */
|
||||
public static final String DATA10 = "data10";
|
||||
}
|
||||
|
||||
/**
|
||||
* Constants for the data table, which contains data points tied to a contact.
|
||||
* For example, a phone number or email address. Each row in this table contains a type
|
||||
* definition and some generic columns. Each data type can define the meaning for each of
|
||||
* the generic columns.
|
||||
*/
|
||||
public static final class Data implements BaseColumns, DataColumns {
|
||||
/**
|
||||
* This utility class cannot be instantiated
|
||||
*/
|
||||
private Data() {}
|
||||
|
||||
/**
|
||||
* The content:// style URI for this table
|
||||
*/
|
||||
public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "data");
|
||||
|
||||
/**
|
||||
* The MIME type of {@link #CONTENT_URI} providing a directory of data.
|
||||
*/
|
||||
public static final String CONTENT_TYPE = "vnd.android.cursor.dir/data";
|
||||
}
|
||||
|
||||
/**
|
||||
* A table that represents the result of looking up a phone number, for example for caller ID.
|
||||
* The table joins that data row for the phone number with the contact that owns the number.
|
||||
* To perform a lookup you must append the number you want to find to {@link #CONTENT_URI}.
|
||||
*/
|
||||
public static final class PhoneLookup implements BaseColumns, DataColumns, AggregatesColumns {
|
||||
/**
|
||||
* This utility class cannot be instantiated
|
||||
*/
|
||||
private PhoneLookup() {}
|
||||
|
||||
/**
|
||||
* The content:// style URI for this table. Append the phone number you want to lookup
|
||||
* to this URI and query it to perform a lookup. For example:
|
||||
*
|
||||
* {@code
|
||||
* Uri lookupUri = Uri.withAppendedPath(PhoneLookup.CONTENT_URI, phoneNumber);
|
||||
* }
|
||||
*/
|
||||
public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "phone_lookup");
|
||||
}
|
||||
|
||||
/**
|
||||
* Container for definitions of common data types stored in the {@link Data} table.
|
||||
*/
|
||||
public static final class CommonDataKinds {
|
||||
/**
|
||||
* The {@link Data#PACKAGE} value for common data that should be shown
|
||||
* using a default style.
|
||||
*/
|
||||
public static final String PACKAGE_COMMON = "common";
|
||||
|
||||
/**
|
||||
* Columns common across the specific types.
|
||||
*/
|
||||
private interface BaseCommonColumns {
|
||||
/**
|
||||
* The package name that defines this type of data.
|
||||
*/
|
||||
public static final String PACKAGE = "package";
|
||||
|
||||
/**
|
||||
* The mime-type of the item represented by this row.
|
||||
*/
|
||||
public static final String MIMETYPE = "mimetype";
|
||||
|
||||
/**
|
||||
* A reference to the {@link Contacts#_ID} that this data belongs to.
|
||||
*/
|
||||
public static final String CONTACT_ID = "contact_id";
|
||||
}
|
||||
|
||||
/**
|
||||
* Columns common across the specific types.
|
||||
*/
|
||||
private interface CommonColumns {
|
||||
/**
|
||||
* The type of data, for example Home or Work.
|
||||
* <P>Type: INTEGER</P>
|
||||
*/
|
||||
public static final String TYPE = "data1";
|
||||
|
||||
/**
|
||||
* The user defined label for the the contact method.
|
||||
* <P>Type: TEXT</P>
|
||||
*/
|
||||
public static final String LABEL = "data2";
|
||||
|
||||
/**
|
||||
* The data for the contact method.
|
||||
* <P>Type: TEXT</P>
|
||||
*/
|
||||
public static final String DATA = "data3";
|
||||
|
||||
/**
|
||||
* Whether this is the primary entry of its kind for the contact it belongs to
|
||||
* <P>Type: INTEGER (if set, non-0 means true)</P>
|
||||
*/
|
||||
public static final String ISPRIMARY = "data4";
|
||||
}
|
||||
|
||||
/**
|
||||
* Parts of the name.
|
||||
*/
|
||||
public static final class StructuredName {
|
||||
private StructuredName() {}
|
||||
|
||||
/** Mime-type used when storing this in data table. */
|
||||
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/name";
|
||||
|
||||
/**
|
||||
* The contact's honorific prefix, e.g. "Sir"
|
||||
*/
|
||||
public static final String PREFIX = "data1";
|
||||
|
||||
/**
|
||||
* The given name for the contact.
|
||||
* <P>Type: TEXT</P>
|
||||
*/
|
||||
public static final String GIVEN_NAME = "data2";
|
||||
|
||||
/**
|
||||
* The contact's middle name
|
||||
* <P>Type: TEXT</P>
|
||||
*/
|
||||
public static final String MIDDLE_NAME = "data3";
|
||||
|
||||
/**
|
||||
* The family name for the contact.
|
||||
* <P>Type: TEXT</P>
|
||||
*/
|
||||
public static final String FAMILY_NAME = "data4";
|
||||
|
||||
/**
|
||||
* The contact's honorific suffix, e.g. "Jr"
|
||||
*/
|
||||
public static final String SUFFIX = "data5";
|
||||
|
||||
/**
|
||||
* The phonetic version of the given name for the contact.
|
||||
* <P>Type: TEXT</P>
|
||||
*/
|
||||
public static final String PHONETIC_GIVEN_NAME = "data6";
|
||||
|
||||
/**
|
||||
* The phonetic version of the additional name for the contact.
|
||||
* <P>Type: TEXT</P>
|
||||
*/
|
||||
public static final String PHONETIC_MIDDLE_NAME = "data7";
|
||||
|
||||
/**
|
||||
* The phonetic version of the family name for the contact.
|
||||
* <P>Type: TEXT</P>
|
||||
*/
|
||||
public static final String PHONETIC_FAMILY_NAME = "data8";
|
||||
|
||||
/**
|
||||
* The name that should be used to display the contact.
|
||||
* <P>Type: TEXT</P>
|
||||
*/
|
||||
public static final String DISPLAY_NAME = "data9";
|
||||
}
|
||||
|
||||
/**
|
||||
* A nickname.
|
||||
*/
|
||||
public static final class Nickname {
|
||||
private Nickname() {}
|
||||
|
||||
/** Mime-type used when storing this in data table. */
|
||||
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/nickname";
|
||||
|
||||
/**
|
||||
* The type of data, for example Home or Work.
|
||||
* <P>Type: INTEGER</P>
|
||||
*/
|
||||
public static final String TYPE = "data1";
|
||||
|
||||
public static final int TYPE_CUSTOM = 1;
|
||||
public static final int TYPE_DEFAULT = 2;
|
||||
public static final int TYPE_OTHER_NAME = 3;
|
||||
public static final int TYPE_MAINDEN_NAME = 4;
|
||||
public static final int TYPE_SHORT_NAME = 5;
|
||||
public static final int TYPE_INITIALS = 6;
|
||||
|
||||
/**
|
||||
* The user provided label, only used if TYPE is {@link #TYPE_CUSTOM}.
|
||||
* <P>Type: TEXT</P>
|
||||
*/
|
||||
public static final String LABEL = "data2";
|
||||
|
||||
/**
|
||||
* The name itself
|
||||
*/
|
||||
public static final String NAME = "data3";
|
||||
}
|
||||
|
||||
/**
|
||||
* Common data definition for telephone numbers.
|
||||
*/
|
||||
public static final class Phone implements BaseCommonColumns, CommonColumns {
|
||||
private Phone() {}
|
||||
|
||||
/** Mime-type used when storing this in data table. */
|
||||
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/phone";
|
||||
|
||||
public static final int TYPE_CUSTOM = 0;
|
||||
public static final int TYPE_HOME = 1;
|
||||
public static final int TYPE_MOBILE = 2;
|
||||
public static final int TYPE_WORK = 3;
|
||||
public static final int TYPE_FAX_WORK = 4;
|
||||
public static final int TYPE_FAX_HOME = 5;
|
||||
public static final int TYPE_PAGER = 6;
|
||||
public static final int TYPE_OTHER = 7;
|
||||
|
||||
/**
|
||||
* The phone number as the user entered it.
|
||||
* <P>Type: TEXT</P>
|
||||
*/
|
||||
public static final String NUMBER = "data3";
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Common data definition for email addresses.
|
||||
*/
|
||||
public static final class Email implements BaseCommonColumns, CommonColumns {
|
||||
private Email() {}
|
||||
|
||||
/** Mime-type used when storing this in data table. */
|
||||
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/email";
|
||||
|
||||
public static final int TYPE_CUSTOM = 0;
|
||||
public static final int TYPE_HOME = 1;
|
||||
public static final int TYPE_WORK = 2;
|
||||
public static final int TYPE_OTHER = 3;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Common data definition for postal addresses.
|
||||
*/
|
||||
public static final class Postal implements BaseCommonColumns, CommonColumns {
|
||||
private Postal() {}
|
||||
|
||||
/** Mime-type used when storing this in data table. */
|
||||
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/postal-address";
|
||||
|
||||
public static final int TYPE_CUSTOM = 0;
|
||||
public static final int TYPE_HOME = 1;
|
||||
public static final int TYPE_WORK = 2;
|
||||
public static final int TYPE_OTHER = 3;
|
||||
}
|
||||
|
||||
/**
|
||||
* Common data definition for IM addresses.
|
||||
*/
|
||||
public static final class Im implements BaseCommonColumns, CommonColumns {
|
||||
private Im() {}
|
||||
|
||||
/** Mime-type used when storing this in data table. */
|
||||
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/im";
|
||||
|
||||
public static final int TYPE_CUSTOM = 0;
|
||||
public static final int TYPE_HOME = 1;
|
||||
public static final int TYPE_WORK = 2;
|
||||
public static final int TYPE_OTHER = 3;
|
||||
|
||||
public static final String PROTOCOL = "data5";
|
||||
|
||||
/**
|
||||
* The predefined IM protocol types. The protocol can either be non-present, one
|
||||
* of these types, or a free-form string. These cases are encoded in the PROTOCOL
|
||||
* column as:
|
||||
* - null
|
||||
* - pre:<an integer, one of the protocols below>
|
||||
* - custom:<a string>
|
||||
*/
|
||||
public static final int PROTOCOL_AIM = 0;
|
||||
public static final int PROTOCOL_MSN = 1;
|
||||
public static final int PROTOCOL_YAHOO = 2;
|
||||
public static final int PROTOCOL_SKYPE = 3;
|
||||
public static final int PROTOCOL_QQ = 4;
|
||||
public static final int PROTOCOL_GOOGLE_TALK = 5;
|
||||
public static final int PROTOCOL_ICQ = 6;
|
||||
public static final int PROTOCOL_JABBER = 7;
|
||||
}
|
||||
|
||||
/**
|
||||
* Common data definition for organizations.
|
||||
*/
|
||||
public static final class Organization implements BaseCommonColumns {
|
||||
private Organization() {}
|
||||
|
||||
/** Mime-type used when storing this in data table. */
|
||||
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/organization";
|
||||
|
||||
/**
|
||||
* The type of data, for example Home or Work.
|
||||
* <P>Type: INTEGER</P>
|
||||
*/
|
||||
public static final String TYPE = "data1";
|
||||
|
||||
public static final int TYPE_CUSTOM = 0;
|
||||
public static final int TYPE_HOME = 1;
|
||||
public static final int TYPE_WORK = 2;
|
||||
public static final int TYPE_OTHER = 3;
|
||||
|
||||
/**
|
||||
* The user provided label, only used if TYPE is {@link #TYPE_CUSTOM}.
|
||||
* <P>Type: TEXT</P>
|
||||
*/
|
||||
public static final String LABEL = "data2";
|
||||
|
||||
/**
|
||||
* The company as the user entered it.
|
||||
* <P>Type: TEXT</P>
|
||||
*/
|
||||
public static final String COMPANY = "data3";
|
||||
|
||||
/**
|
||||
* The position title at this company as the user entered it.
|
||||
* <P>Type: TEXT</P>
|
||||
*/
|
||||
public static final String TITLE = "data4";
|
||||
|
||||
/**
|
||||
* Whether this is the primary organization
|
||||
* <P>Type: INTEGER (if set, non-0 means true)</P>
|
||||
*/
|
||||
public static final String ISPRIMARY = "data5";
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Photo of the contact.
|
||||
*/
|
||||
public static final class Photo implements BaseCommonColumns {
|
||||
private Photo() {}
|
||||
|
||||
/** Mime-type used when storing this in data table. */
|
||||
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/photo";
|
||||
|
||||
/**
|
||||
* Thumbnail photo of the contact. This is the raw bytes of an image
|
||||
* that could be inflated using {@link BitmapFactory}.
|
||||
* <p>
|
||||
* Type: BLOB
|
||||
*/
|
||||
public static final String PHOTO = "data1";
|
||||
}
|
||||
|
||||
/**
|
||||
* Notes about the contact.
|
||||
*/
|
||||
public static final class Note implements BaseCommonColumns {
|
||||
private Note() {}
|
||||
|
||||
/** Mime-type used when storing this in data table. */
|
||||
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/note";
|
||||
|
||||
/**
|
||||
* The note text.
|
||||
* <P>Type: TEXT</P>
|
||||
*/
|
||||
public static final String NOTE = "data1";
|
||||
}
|
||||
|
||||
public static final class CustomRingtone implements BaseCommonColumns {
|
||||
private CustomRingtone() {}
|
||||
|
||||
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/custom_ringtone";
|
||||
|
||||
/**
|
||||
* Whether to send the number to voicemail.
|
||||
* <P>Type: INTEGER (if set, non-0 means true)</P>
|
||||
*/
|
||||
public static final String SEND_TO_VOICEMAIL = "data1";
|
||||
|
||||
/**
|
||||
* The ringtone uri.
|
||||
* <P>Type: TEXT</P>
|
||||
*/
|
||||
public static final String RINGTONE_URI = "data2";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
177
core/java/android/provider/SocialContract.java
Normal file
177
core/java/android/provider/SocialContract.java
Normal file
@@ -0,0 +1,177 @@
|
||||
/*
|
||||
* Copyright (C) 2009 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License
|
||||
*/
|
||||
|
||||
package android.provider;
|
||||
|
||||
import android.provider.ContactsContract.Contacts;
|
||||
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.net.Uri;
|
||||
import android.provider.BaseColumns;
|
||||
|
||||
/**
|
||||
* The contract between the social provider and applications. Contains
|
||||
* definitions for the supported URIs and columns.
|
||||
* <p>
|
||||
* TODO: move to android.provider package
|
||||
*/
|
||||
public class SocialContract {
|
||||
/** The authority for the social provider */
|
||||
public static final String AUTHORITY = "com.android.social";
|
||||
|
||||
/** A content:// style uri to the authority for the contacts provider */
|
||||
public static final Uri AUTHORITY_URI = Uri.parse("content://" + AUTHORITY);
|
||||
|
||||
private interface ActivitiesColumns {
|
||||
/**
|
||||
* The package name that owns this social activity.
|
||||
* <p>
|
||||
* Type: TEXT
|
||||
*/
|
||||
public static final String PACKAGE = "package";
|
||||
|
||||
/**
|
||||
* The mime-type of this social activity.
|
||||
* <p>
|
||||
* Type: TEXT
|
||||
*/
|
||||
public static final String MIMETYPE = "mimetype";
|
||||
|
||||
/**
|
||||
* Internal raw identifier for this social activity. This field is
|
||||
* analogous to the <code>atom:id</code> element defined in RFC 4287.
|
||||
* <p>
|
||||
* Type: TEXT
|
||||
*/
|
||||
public static final String RAW_ID = "raw_id";
|
||||
|
||||
/**
|
||||
* Reference to another {@link Activities#RAW_ID} that this social activity
|
||||
* is replying to. This field is analogous to the
|
||||
* <code>thr:in-reply-to</code> element defined in RFC 4685.
|
||||
* <p>
|
||||
* Type: TEXT
|
||||
*/
|
||||
public static final String IN_REPLY_TO = "in_reply_to";
|
||||
|
||||
/**
|
||||
* Reference to the {@link Contacts#_ID} that authored this social
|
||||
* activity. This field is analogous to the <code>atom:author</code>
|
||||
* element defined in RFC 4287.
|
||||
* <p>
|
||||
* Type: INTEGER
|
||||
*/
|
||||
public static final String AUTHOR_CONTACT_ID = "author_contact_id";
|
||||
|
||||
/**
|
||||
* Optional reference to the {@link Contacts#_ID} this social activity
|
||||
* is targeted towards. If more than one direct target, this field may
|
||||
* be left undefined. This field is analogous to the
|
||||
* <code>activity:target</code> element defined in the Atom Activity
|
||||
* Extensions Internet-Draft.
|
||||
* <p>
|
||||
* Type: INTEGER
|
||||
*/
|
||||
public static final String TARGET_CONTACT_ID = "target_contact_id";
|
||||
|
||||
/**
|
||||
* Timestamp when this social activity was published, in a
|
||||
* {@link System#currentTimeMillis()} time base. This field is analogous
|
||||
* to the <code>atom:published</code> element defined in RFC 4287.
|
||||
* <p>
|
||||
* Type: INTEGER
|
||||
*/
|
||||
public static final String PUBLISHED = "published";
|
||||
|
||||
/**
|
||||
* Timestamp when the original social activity in a thread was
|
||||
* published. For activities that have an in-reply-to field specified, the
|
||||
* content provider will automatically populate this field with the
|
||||
* timestamp of the original activity.
|
||||
* <p>
|
||||
* This field is useful for sorting order of activities that keeps together all
|
||||
* messages in each thread.
|
||||
* <p>
|
||||
* Type: INTEGER
|
||||
*/
|
||||
public static final String THREAD_PUBLISHED = "thread_published";
|
||||
|
||||
/**
|
||||
* Title of this social activity. This field is analogous to the
|
||||
* <code>atom:title</code> element defined in RFC 4287.
|
||||
* <p>
|
||||
* Type: TEXT
|
||||
*/
|
||||
public static final String TITLE = "title";
|
||||
|
||||
/**
|
||||
* Summary of this social activity. This field is analogous to the
|
||||
* <code>atom:summary</code> element defined in RFC 4287.
|
||||
* <p>
|
||||
* Type: TEXT
|
||||
*/
|
||||
public static final String SUMMARY = "summary";
|
||||
|
||||
/**
|
||||
* A URI associated this social activity. This field is analogous to the
|
||||
* <code>atom:link rel="alternate"</code> element defined in RFC 4287.
|
||||
* <p>
|
||||
* Type: TEXT
|
||||
*/
|
||||
public static final String LINK = "link";
|
||||
|
||||
/**
|
||||
* Optional thumbnail specific to this social activity. This is the raw
|
||||
* bytes of an image that could be inflated using {@link BitmapFactory}.
|
||||
* <p>
|
||||
* Type: BLOB
|
||||
*/
|
||||
public static final String THUMBNAIL = "thumbnail";
|
||||
}
|
||||
|
||||
public static final class Activities implements BaseColumns, ActivitiesColumns {
|
||||
/**
|
||||
* This utility class cannot be instantiated
|
||||
*/
|
||||
private Activities() {
|
||||
}
|
||||
|
||||
/**
|
||||
* The content:// style URI for this table
|
||||
*/
|
||||
public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "activities");
|
||||
|
||||
/**
|
||||
* The content:// style URI for this table filtered to the set of
|
||||
* social activities authored by a specific {@link Contact#_ID}.
|
||||
*/
|
||||
public static final Uri CONTENT_AUTHORED_BY_URI =
|
||||
Uri.withAppendedPath(CONTENT_URI, "authored_by");
|
||||
|
||||
/**
|
||||
* The MIME type of {@link #CONTENT_URI} providing a directory of social
|
||||
* activities.
|
||||
*/
|
||||
public static final String CONTENT_TYPE = "vnd.android.cursor.dir/activity";
|
||||
|
||||
/**
|
||||
* The MIME type of a {@link #CONTENT_URI} subdirectory of a single
|
||||
* social activity.
|
||||
*/
|
||||
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/activity";
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user