943 lines
30 KiB
Java
943 lines
30 KiB
Java
/*
|
|
* Twidere - Twitter client for Android
|
|
*
|
|
* Copyright (C) 2012-2014 Mariotaku Lee <mariotaku.lee@gmail.com>
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
package org.mariotaku.twidere.provider;
|
|
|
|
import android.content.ContentResolver;
|
|
import android.net.Uri;
|
|
import android.provider.BaseColumns;
|
|
|
|
@SuppressWarnings("unused")
|
|
public interface TwidereDataStore {
|
|
|
|
String AUTHORITY = "twidere";
|
|
|
|
String TYPE_PRIMARY_KEY = "INTEGER PRIMARY KEY AUTOINCREMENT";
|
|
String TYPE_INT = "INTEGER";
|
|
String TYPE_INT_UNIQUE = "INTEGER UNIQUE";
|
|
String TYPE_BOOLEAN = "INTEGER(1)";
|
|
String TYPE_BOOLEAN_DEFAULT_TRUE = "INTEGER(1) DEFAULT 1";
|
|
String TYPE_BOOLEAN_DEFAULT_FALSE = "INTEGER(1) DEFAULT 0";
|
|
String TYPE_TEXT = "TEXT";
|
|
String TYPE_DOUBLE_NOT_NULL = "DOUBLE NOT NULL";
|
|
String TYPE_TEXT_NOT_NULL = "TEXT NOT NULL";
|
|
String TYPE_TEXT_NOT_NULL_UNIQUE = "TEXT NOT NULL UNIQUE";
|
|
|
|
String CONTENT_PATH_NULL = "null_content";
|
|
|
|
String CONTENT_PATH_DATABASE_READY = "database_ready";
|
|
|
|
Uri BASE_CONTENT_URI = new Uri.Builder().scheme(ContentResolver.SCHEME_CONTENT)
|
|
.authority(AUTHORITY).build();
|
|
|
|
Uri CONTENT_URI_NULL = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH_NULL);
|
|
|
|
Uri CONTENT_URI_DATABASE_READY = Uri.withAppendedPath(BASE_CONTENT_URI,
|
|
CONTENT_PATH_DATABASE_READY);
|
|
|
|
Uri[] STATUSES_URIS = new Uri[]{Statuses.CONTENT_URI, Mentions.CONTENT_URI,
|
|
CachedStatuses.CONTENT_URI};
|
|
Uri[] CACHE_URIS = new Uri[]{CachedUsers.CONTENT_URI, CachedStatuses.CONTENT_URI,
|
|
CachedHashtags.CONTENT_URI, CachedTrends.Local.CONTENT_URI};
|
|
Uri[] DIRECT_MESSAGES_URIS = new Uri[]{DirectMessages.Inbox.CONTENT_URI,
|
|
DirectMessages.Outbox.CONTENT_URI};
|
|
|
|
interface Accounts extends BaseColumns {
|
|
|
|
String TABLE_NAME = "accounts";
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
|
|
/**
|
|
* Login name of the account<br>
|
|
* Type: TEXT NOT NULL
|
|
*/
|
|
String SCREEN_NAME = "screen_name";
|
|
|
|
String NAME = "name";
|
|
|
|
/**
|
|
* Unique ID of the account<br>
|
|
* Type: INTEGER (long)
|
|
*/
|
|
String ACCOUNT_ID = "account_id";
|
|
|
|
/**
|
|
* Auth type of the account.</br> Type: INTEGER
|
|
*/
|
|
String AUTH_TYPE = "auth_type";
|
|
|
|
/**
|
|
* Password of the account. (It will not stored)<br>
|
|
* Type: TEXT
|
|
*/
|
|
String PASSWORD = "password";
|
|
|
|
String BASIC_AUTH_USERNAME = "basic_auth_username";
|
|
|
|
/**
|
|
* Password of the account for basic auth.<br>
|
|
* Type: TEXT
|
|
*/
|
|
String BASIC_AUTH_PASSWORD = "basic_auth_password";
|
|
|
|
/**
|
|
* OAuth Token of the account.<br>
|
|
* Type: TEXT
|
|
*/
|
|
String OAUTH_TOKEN = "oauth_token";
|
|
|
|
/**
|
|
* Token Secret of the account.<br>
|
|
* Type: TEXT
|
|
*/
|
|
String OAUTH_TOKEN_SECRET = "oauth_token_secret";
|
|
|
|
String COLOR = "color";
|
|
|
|
/**
|
|
* Set to a non-zero integer if the account is activated. <br>
|
|
* Type: INTEGER (boolean)
|
|
*/
|
|
String IS_ACTIVATED = "is_activated";
|
|
|
|
String CONSUMER_KEY = "consumer_key";
|
|
|
|
String CONSUMER_SECRET = "consumer_secret";
|
|
|
|
String SORT_POSITION = "sort_position";
|
|
|
|
/**
|
|
* User's profile image URL of the status. <br>
|
|
* Type: TEXT
|
|
*/
|
|
String PROFILE_IMAGE_URL = "profile_image_url";
|
|
|
|
String PROFILE_BANNER_URL = "profile_banner_url";
|
|
String API_URL_FORMAT = "api_url_format";
|
|
String SAME_OAUTH_SIGNING_URL = "same_oauth_signing_url";
|
|
String NO_VERSION_SUFFIX = "no_version_suffix";
|
|
|
|
String[] COLUMNS_NO_CREDENTIALS = {_ID, NAME, SCREEN_NAME, ACCOUNT_ID,
|
|
PROFILE_IMAGE_URL, PROFILE_BANNER_URL, COLOR, IS_ACTIVATED};
|
|
|
|
String[] COLUMNS = {_ID, NAME, SCREEN_NAME, ACCOUNT_ID, AUTH_TYPE,
|
|
BASIC_AUTH_USERNAME, BASIC_AUTH_PASSWORD, OAUTH_TOKEN, OAUTH_TOKEN_SECRET, CONSUMER_KEY,
|
|
CONSUMER_SECRET, API_URL_FORMAT, SAME_OAUTH_SIGNING_URL, NO_VERSION_SUFFIX, PROFILE_IMAGE_URL, PROFILE_BANNER_URL, COLOR,
|
|
IS_ACTIVATED, SORT_POSITION};
|
|
|
|
String[] TYPES = {TYPE_PRIMARY_KEY, TYPE_TEXT_NOT_NULL, TYPE_TEXT_NOT_NULL,
|
|
TYPE_INT_UNIQUE, TYPE_INT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT,
|
|
TYPE_BOOLEAN, TYPE_BOOLEAN, TYPE_TEXT, TYPE_TEXT, TYPE_INT, TYPE_BOOLEAN, TYPE_INT};
|
|
|
|
}
|
|
|
|
interface CachedHashtags extends CachedValues {
|
|
|
|
String[] COLUMNS = {_ID, NAME};
|
|
String[] TYPES = {TYPE_PRIMARY_KEY, TYPE_TEXT};
|
|
|
|
String TABLE_NAME = "cached_hashtags";
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
}
|
|
|
|
interface CachedImages extends BaseColumns {
|
|
String TABLE_NAME = "cached_images";
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
|
|
String URL = "url";
|
|
|
|
String PATH = "path";
|
|
|
|
String[] MATRIX_COLUMNS = {URL, PATH};
|
|
|
|
String[] COLUMNS = {_ID, URL, PATH};
|
|
}
|
|
|
|
interface CachedStatuses extends Statuses {
|
|
String TABLE_NAME = "cached_statuses";
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
}
|
|
|
|
interface CachedTrends extends CachedValues {
|
|
|
|
String TIMESTAMP = "timestamp";
|
|
|
|
String[] COLUMNS = {_ID, NAME, TIMESTAMP};
|
|
String[] TYPES = {TYPE_PRIMARY_KEY, TYPE_TEXT, TYPE_INT};
|
|
|
|
interface Local extends CachedTrends {
|
|
String TABLE_NAME = "local_trends";
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
interface CachedUsers extends CachedValues {
|
|
|
|
String TABLE_NAME = "cached_users";
|
|
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
|
|
String CONTENT_PATH_WITH_RELATIONSHIP = TABLE_NAME + "/with_relationship";
|
|
|
|
String CONTENT_PATH_WITH_SCORE = TABLE_NAME + "/with_score";
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
|
|
Uri CONTENT_URI_WITH_RELATIONSHIP = Uri.withAppendedPath(BASE_CONTENT_URI,
|
|
CONTENT_PATH_WITH_RELATIONSHIP);
|
|
Uri CONTENT_URI_WITH_SCORE = Uri.withAppendedPath(BASE_CONTENT_URI,
|
|
CONTENT_PATH_WITH_SCORE);
|
|
|
|
String USER_ID = "user_id";
|
|
|
|
String CREATED_AT = "created_at";
|
|
|
|
String IS_PROTECTED = "is_protected";
|
|
|
|
String IS_VERIFIED = "is_verified";
|
|
|
|
String IS_FOLLOWING = "is_following";
|
|
|
|
String DESCRIPTION_PLAIN = "description_plain";
|
|
|
|
String DESCRIPTION_HTML = "description_html";
|
|
|
|
String DESCRIPTION_EXPANDED = "description_expanded";
|
|
|
|
String LOCATION = "location";
|
|
|
|
String URL = "url";
|
|
|
|
String URL_EXPANDED = "url_expanded";
|
|
|
|
String PROFILE_BANNER_URL = "profile_banner_url";
|
|
|
|
String FOLLOWERS_COUNT = "followers_count";
|
|
|
|
String FRIENDS_COUNT = "friends_count";
|
|
|
|
String STATUSES_COUNT = "statuses_count";
|
|
|
|
String FAVORITES_COUNT = "favorites_count";
|
|
|
|
String LISTED_COUNT = "listed_count";
|
|
String MEDIA_COUNT = "media_count";
|
|
|
|
String BACKGROUND_COLOR = "background_color";
|
|
|
|
String LINK_COLOR = "link_color";
|
|
|
|
String TEXT_COLOR = "text_color";
|
|
|
|
/**
|
|
* User's screen name of the status.<br>
|
|
* Type: TEXT
|
|
*/
|
|
String SCREEN_NAME = "screen_name";
|
|
|
|
/**
|
|
* User's profile image URL of the status.<br>
|
|
* Type: TEXT NOT NULL
|
|
*/
|
|
String PROFILE_IMAGE_URL = "profile_image_url";
|
|
|
|
String LAST_SEEN = "last_seen";
|
|
|
|
String[] COLUMNS = {_ID, USER_ID, CREATED_AT, NAME, SCREEN_NAME,
|
|
DESCRIPTION_PLAIN, LOCATION, URL, PROFILE_IMAGE_URL, PROFILE_BANNER_URL, IS_PROTECTED,
|
|
IS_VERIFIED, IS_FOLLOWING, FOLLOWERS_COUNT, FRIENDS_COUNT, STATUSES_COUNT, FAVORITES_COUNT,
|
|
LISTED_COUNT, MEDIA_COUNT, DESCRIPTION_HTML, DESCRIPTION_EXPANDED, URL_EXPANDED,
|
|
BACKGROUND_COLOR, LINK_COLOR, TEXT_COLOR, LAST_SEEN};
|
|
|
|
String[] BASIC_COLUMNS = {_ID, USER_ID,
|
|
NAME, SCREEN_NAME, PROFILE_IMAGE_URL};
|
|
|
|
String[] TYPES = {TYPE_PRIMARY_KEY, TYPE_INT_UNIQUE, TYPE_INT,
|
|
TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_BOOLEAN,
|
|
TYPE_BOOLEAN, TYPE_BOOLEAN, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT,
|
|
TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT};
|
|
|
|
}
|
|
|
|
interface CachedValues extends BaseColumns {
|
|
|
|
String NAME = "name";
|
|
}
|
|
|
|
interface CacheFiles extends BaseColumns {
|
|
String TABLE_NAME = "cache_files";
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
|
|
String NAME = "name";
|
|
|
|
String PATH = "path";
|
|
|
|
String[] MATRIX_COLUMNS = {NAME, PATH};
|
|
|
|
String[] COLUMNS = {_ID, NAME, PATH};
|
|
}
|
|
|
|
interface DirectMessages extends BaseColumns {
|
|
|
|
String TABLE_NAME = "messages";
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
|
|
String ACCOUNT_ID = "account_id";
|
|
String MESSAGE_ID = "message_id";
|
|
String MESSAGE_TIMESTAMP = "message_timestamp";
|
|
String SENDER_ID = "sender_id";
|
|
String RECIPIENT_ID = "recipient_id";
|
|
String CONVERSATION_ID = "conversation_id";
|
|
|
|
String IS_OUTGOING = "is_outgoing";
|
|
|
|
String TEXT_HTML = "text_html";
|
|
String TEXT_PLAIN = "text_plain";
|
|
String TEXT_UNESCAPED = "text_unescaped";
|
|
String SENDER_NAME = "sender_name";
|
|
String RECIPIENT_NAME = "recipient_name";
|
|
String SENDER_SCREEN_NAME = "sender_screen_name";
|
|
String RECIPIENT_SCREEN_NAME = "recipient_screen_name";
|
|
String SENDER_PROFILE_IMAGE_URL = "sender_profile_image_url";
|
|
String RECIPIENT_PROFILE_IMAGE_URL = "recipient_profile_image_url";
|
|
|
|
String MEDIA_JSON = "media_json";
|
|
|
|
String[] COLUMNS = {_ID, ACCOUNT_ID, MESSAGE_ID, MESSAGE_TIMESTAMP,
|
|
SENDER_ID, RECIPIENT_ID, CONVERSATION_ID, IS_OUTGOING, TEXT_HTML, TEXT_PLAIN, TEXT_UNESCAPED,
|
|
SENDER_NAME, RECIPIENT_NAME, SENDER_SCREEN_NAME, RECIPIENT_SCREEN_NAME, SENDER_PROFILE_IMAGE_URL,
|
|
RECIPIENT_PROFILE_IMAGE_URL, MEDIA_JSON};
|
|
String[] TYPES = {TYPE_PRIMARY_KEY, TYPE_INT, TYPE_INT, TYPE_INT,
|
|
TYPE_INT, TYPE_INT, TYPE_INT, TYPE_BOOLEAN, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT,
|
|
TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT};
|
|
|
|
String DEFAULT_SORT_ORDER = MESSAGE_ID + " DESC";
|
|
|
|
interface Conversation extends DirectMessages {
|
|
|
|
String DEFAULT_SORT_ORDER = MESSAGE_TIMESTAMP + " ASC";
|
|
|
|
String CONTENT_PATH_SEGMENT = "conversation";
|
|
String CONTENT_PATH_SEGMENT_SCREEN_NAME = "conversation_screen_name";
|
|
|
|
String CONTENT_PATH = DirectMessages.CONTENT_PATH + "/" + CONTENT_PATH_SEGMENT;
|
|
String CONTENT_PATH_SCREEN_NAME = DirectMessages.CONTENT_PATH + "/"
|
|
+ CONTENT_PATH_SEGMENT_SCREEN_NAME;
|
|
|
|
Uri CONTENT_URI = Uri
|
|
.withAppendedPath(DirectMessages.CONTENT_URI, CONTENT_PATH_SEGMENT);
|
|
|
|
Uri CONTENT_URI_SCREEN_NAME = Uri.withAppendedPath(DirectMessages.CONTENT_URI,
|
|
CONTENT_PATH_SEGMENT_SCREEN_NAME);
|
|
}
|
|
|
|
interface ConversationEntries extends BaseColumns {
|
|
|
|
String TABLE_NAME = "messages_conversation_entries";
|
|
|
|
String CONTENT_PATH_SEGMENT = "conversation_entries";
|
|
String CONTENT_PATH = DirectMessages.CONTENT_PATH + "/" + CONTENT_PATH_SEGMENT;
|
|
|
|
Uri CONTENT_URI = Uri
|
|
.withAppendedPath(DirectMessages.CONTENT_URI, CONTENT_PATH_SEGMENT);
|
|
|
|
String MESSAGE_ID = DirectMessages.MESSAGE_ID;
|
|
String ACCOUNT_ID = DirectMessages.ACCOUNT_ID;
|
|
String IS_OUTGOING = DirectMessages.IS_OUTGOING;
|
|
String MESSAGE_TIMESTAMP = DirectMessages.MESSAGE_TIMESTAMP;
|
|
String NAME = "name";
|
|
String SCREEN_NAME = "screen_name";
|
|
String PROFILE_IMAGE_URL = "profile_image_url";
|
|
String TEXT_HTML = DirectMessages.TEXT_HTML;
|
|
String CONVERSATION_ID = "conversation_id";
|
|
|
|
int IDX__ID = 0;
|
|
int IDX_MESSAGE_TIMESTAMP = 1;
|
|
int IDX_MESSAGE_ID = 2;
|
|
int IDX_ACCOUNT_ID = 3;
|
|
int IDX_IS_OUTGOING = 4;
|
|
int IDX_NAME = 5;
|
|
int IDX_SCREEN_NAME = 6;
|
|
int IDX_PROFILE_IMAGE_URL = 7;
|
|
int IDX_TEXT = 8;
|
|
int IDX_CONVERSATION_ID = 9;
|
|
}
|
|
|
|
interface Inbox extends DirectMessages {
|
|
|
|
String TABLE_NAME = "messages_inbox";
|
|
|
|
String CONTENT_PATH_SEGMENT = "inbox";
|
|
String CONTENT_PATH = DirectMessages.CONTENT_PATH + "/" + CONTENT_PATH_SEGMENT;
|
|
|
|
Uri CONTENT_URI = Uri
|
|
.withAppendedPath(DirectMessages.CONTENT_URI, CONTENT_PATH_SEGMENT);
|
|
|
|
}
|
|
|
|
interface Outbox extends DirectMessages {
|
|
|
|
String TABLE_NAME = "messages_outbox";
|
|
|
|
String CONTENT_PATH_SEGMENT = "outbox";
|
|
String CONTENT_PATH = DirectMessages.CONTENT_PATH + "/" + CONTENT_PATH_SEGMENT;
|
|
|
|
Uri CONTENT_URI = Uri
|
|
.withAppendedPath(DirectMessages.CONTENT_URI, CONTENT_PATH_SEGMENT);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
interface SearchHistory extends BaseColumns {
|
|
|
|
String TABLE_NAME = "search_history";
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
|
|
String QUERY = "query";
|
|
|
|
String RECENT_QUERY = "recent_query";
|
|
|
|
String[] COLUMNS = {_ID, RECENT_QUERY, QUERY};
|
|
String[] TYPES = {TYPE_PRIMARY_KEY, TYPE_INT, TYPE_TEXT_NOT_NULL_UNIQUE};
|
|
String DEFAULT_SORT_ORDER = RECENT_QUERY + " DESC";
|
|
}
|
|
|
|
interface DNS extends BaseColumns {
|
|
String TABLE_NAME = "dns";
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
|
|
String HOST = "host";
|
|
|
|
String ADDRESS = "address";
|
|
|
|
String[] MATRIX_COLUMNS = {HOST, ADDRESS};
|
|
|
|
String[] COLUMNS = {_ID, HOST, ADDRESS};
|
|
}
|
|
|
|
interface SavedSearches extends BaseColumns {
|
|
|
|
String TABLE_NAME = "saved_searches";
|
|
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
|
|
String ACCOUNT_ID = "account_id";
|
|
String SEARCH_ID = "search_id";
|
|
String QUERY = "query";
|
|
String NAME = "name";
|
|
String CREATED_AT = "created_at";
|
|
|
|
String[] COLUMNS = {_ID, ACCOUNT_ID, SEARCH_ID, CREATED_AT,
|
|
QUERY, NAME};
|
|
String[] TYPES = {TYPE_PRIMARY_KEY, TYPE_INT, TYPE_INT,
|
|
TYPE_INT, TYPE_TEXT, TYPE_TEXT};
|
|
String DEFAULT_SORT_ORDER = CREATED_AT + " DESC";
|
|
}
|
|
|
|
interface Drafts extends BaseColumns {
|
|
|
|
int ACTION_UPDATE_STATUS = 1;
|
|
int ACTION_SEND_DIRECT_MESSAGE = 2;
|
|
int ACTION_CREATE_FRIENDSHIP = 3;
|
|
|
|
String TABLE_NAME = "drafts";
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
String CONTENT_PATH_UNSENT = TABLE_NAME + "/unsent";
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
Uri CONTENT_URI_UNSENT = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH_UNSENT);
|
|
|
|
/**
|
|
* Status content.<br>
|
|
* Type: TEXT
|
|
*/
|
|
String TEXT = "text";
|
|
|
|
/**
|
|
* Account IDs of unsent status.<br>
|
|
* Type: TEXT
|
|
*/
|
|
String ACCOUNT_IDS = "account_ids";
|
|
|
|
String LOCATION = "location";
|
|
|
|
String IN_REPLY_TO_STATUS_ID = "in_reply_to_status_id";
|
|
|
|
String MEDIA = "media";
|
|
|
|
String IS_POSSIBLY_SENSITIVE = "is_possibly_sensitive";
|
|
|
|
String TIMESTAMP = "timestamp";
|
|
|
|
String ACTION_TYPE = "action_type";
|
|
|
|
String ACTION_EXTRAS = "action_extras";
|
|
|
|
String[] COLUMNS = {_ID, TEXT, ACCOUNT_IDS, LOCATION, MEDIA,
|
|
IN_REPLY_TO_STATUS_ID, IS_POSSIBLY_SENSITIVE, TIMESTAMP, ACTION_TYPE, ACTION_EXTRAS};
|
|
|
|
String[] TYPES = {TYPE_PRIMARY_KEY, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT,
|
|
TYPE_INT, TYPE_INT, TYPE_BOOLEAN, TYPE_INT, TYPE_INT, TYPE_TEXT};
|
|
|
|
}
|
|
|
|
interface Filters extends BaseColumns {
|
|
|
|
String CONTENT_PATH = "filters";
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
|
|
String VALUE = "value";
|
|
|
|
String ENABLE_IN_HOME_TIMELINE = "enable_in_home_timeline";
|
|
|
|
String ENABLE_IN_MENTIONS = "enable_in_mentions";
|
|
|
|
String ENABLE_FOR_RETWEETS = "enable_for_retweets";
|
|
|
|
String[] COLUMNS = {_ID, VALUE};
|
|
|
|
String[] TYPES = {TYPE_PRIMARY_KEY, TYPE_TEXT_NOT_NULL_UNIQUE};
|
|
|
|
interface Keywords extends Filters {
|
|
|
|
String TABLE_NAME = "filtered_keywords";
|
|
String CONTENT_PATH_SEGMENT = "keywords";
|
|
String CONTENT_PATH = Filters.CONTENT_PATH + "/" + CONTENT_PATH_SEGMENT;
|
|
Uri CONTENT_URI = Uri.withAppendedPath(Filters.CONTENT_URI, CONTENT_PATH_SEGMENT);
|
|
}
|
|
|
|
interface Links extends Filters {
|
|
|
|
String TABLE_NAME = "filtered_links";
|
|
String CONTENT_PATH_SEGMENT = "links";
|
|
String CONTENT_PATH = Filters.CONTENT_PATH + "/" + CONTENT_PATH_SEGMENT;
|
|
Uri CONTENT_URI = Uri.withAppendedPath(Filters.CONTENT_URI, CONTENT_PATH_SEGMENT);
|
|
}
|
|
|
|
interface Sources extends Filters {
|
|
|
|
String TABLE_NAME = "filtered_sources";
|
|
String CONTENT_PATH_SEGMENT = "sources";
|
|
String CONTENT_PATH = Filters.CONTENT_PATH + "/" + CONTENT_PATH_SEGMENT;
|
|
Uri CONTENT_URI = Uri.withAppendedPath(Filters.CONTENT_URI, CONTENT_PATH_SEGMENT);
|
|
}
|
|
|
|
interface Users extends BaseColumns {
|
|
|
|
String TABLE_NAME = "filtered_users";
|
|
String CONTENT_PATH_SEGMENT = "users";
|
|
String CONTENT_PATH = Filters.CONTENT_PATH + "/" + CONTENT_PATH_SEGMENT;
|
|
Uri CONTENT_URI = Uri.withAppendedPath(Filters.CONTENT_URI, CONTENT_PATH_SEGMENT);
|
|
|
|
String USER_ID = "user_id";
|
|
String NAME = "name";
|
|
String SCREEN_NAME = "screen_name";
|
|
|
|
String[] COLUMNS = {_ID, USER_ID, NAME, SCREEN_NAME};
|
|
|
|
String[] TYPES = {TYPE_PRIMARY_KEY, TYPE_INT_UNIQUE, TYPE_TEXT_NOT_NULL,
|
|
TYPE_TEXT_NOT_NULL};
|
|
}
|
|
}
|
|
|
|
interface Mentions extends Statuses {
|
|
|
|
String TABLE_NAME = "mentions";
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
|
|
}
|
|
|
|
interface Notifications extends BaseColumns {
|
|
|
|
String TABLE_NAME = "notifications";
|
|
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
|
|
String ID = "id";
|
|
|
|
String COUNT = "count";
|
|
|
|
String[] MATRIX_COLUMNS = {ID, COUNT};
|
|
|
|
String[] COLUMNS = {_ID, ID, COUNT};
|
|
}
|
|
|
|
interface Permissions extends BaseColumns {
|
|
String TABLE_NAME = "permissions";
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
|
|
String PERMISSION = "permissions";
|
|
|
|
String PACKAGE_NAME = "package_name";
|
|
|
|
String[] MATRIX_COLUMNS = {PACKAGE_NAME, PERMISSION};
|
|
|
|
String[] COLUMNS = {_ID, PACKAGE_NAME, PERMISSION};
|
|
}
|
|
|
|
interface Preferences extends BaseColumns {
|
|
String TABLE_NAME = "preferences";
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
|
|
int TYPE_INVALID = -1;
|
|
|
|
int TYPE_NULL = 0;
|
|
|
|
int TYPE_BOOLEAN = 1;
|
|
|
|
int TYPE_INTEGER = 2;
|
|
|
|
int TYPE_LONG = 3;
|
|
|
|
int TYPE_FLOAT = 4;
|
|
|
|
int TYPE_STRING = 5;
|
|
|
|
String KEY = "key";
|
|
|
|
String VALUE = "value";
|
|
|
|
String TYPE = "type";
|
|
|
|
String[] MATRIX_COLUMNS = {KEY, VALUE, TYPE};
|
|
|
|
String[] COLUMNS = {_ID, KEY, VALUE, TYPE};
|
|
}
|
|
|
|
interface Statuses extends BaseColumns {
|
|
|
|
String TABLE_NAME = "statuses";
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
/**
|
|
* Account ID of the status.<br>
|
|
* Type: TEXT
|
|
*/
|
|
String ACCOUNT_ID = "account_id";
|
|
|
|
/**
|
|
* Status content, in HTML. Please note, this is not actually original
|
|
* text.<br>
|
|
* Type: TEXT
|
|
*/
|
|
String TEXT_HTML = "text_html";
|
|
|
|
/**
|
|
*
|
|
*/
|
|
String TEXT_PLAIN = "text_plain";
|
|
|
|
String TEXT_UNESCAPED = "text_unescaped";
|
|
|
|
/**
|
|
* User name of the status.<br>
|
|
* Type: TEXT
|
|
*/
|
|
String USER_NAME = "name";
|
|
|
|
/**
|
|
* User's screen name of the status.<br>
|
|
* Type: TEXT
|
|
*/
|
|
String USER_SCREEN_NAME = "screen_name";
|
|
|
|
/**
|
|
* User's profile image URL of the status.<br>
|
|
* Type: TEXT NOT NULL
|
|
*/
|
|
String USER_PROFILE_IMAGE_URL = "profile_image_url";
|
|
|
|
/**
|
|
* Unique id of the status.<br>
|
|
* Type: INTEGER UNIQUE(long)
|
|
*/
|
|
String STATUS_ID = "status_id";
|
|
|
|
/**
|
|
* Retweet count of the status.<br>
|
|
* Type: INTEGER (long)
|
|
*/
|
|
String RETWEET_COUNT = "retweet_count";
|
|
String FAVORITE_COUNT = "favorite_count";
|
|
String REPLY_COUNT = "reply_count";
|
|
|
|
/**
|
|
* Set to an non-zero integer if the status is a retweet, set to
|
|
* negative value if the status is retweeted by user.<br>
|
|
* Type: INTEGER
|
|
*/
|
|
String IS_RETWEET = "is_retweet";
|
|
|
|
String IS_QUOTE = "is_quote";
|
|
|
|
/**
|
|
* Set to 1 if the status is a favorite.<br>
|
|
* Type: INTEGER (boolean)
|
|
*/
|
|
String IS_FAVORITE = "is_favorite";
|
|
|
|
String IS_POSSIBLY_SENSITIVE = "is_possibly_sensitive";
|
|
|
|
/**
|
|
* Set to 1 if the status is a gap.<br>
|
|
* Type: INTEGER (boolean)
|
|
*/
|
|
String IS_GAP = "is_gap";
|
|
|
|
String LOCATION = "location";
|
|
|
|
String PLACE_FULL_NAME = "place_full_name";
|
|
|
|
/**
|
|
* User's ID of the status.<br>
|
|
* Type: INTEGER (long)
|
|
*/
|
|
String USER_ID = "user_id";
|
|
|
|
String IN_REPLY_TO_STATUS_ID = "in_reply_to_status_id";
|
|
|
|
String IN_REPLY_TO_USER_ID = "in_reply_to_user_id";
|
|
|
|
String IN_REPLY_TO_USER_NAME = "in_reply_to_user_name";
|
|
|
|
String IN_REPLY_TO_USER_SCREEN_NAME = "in_reply_to_user_screen_name";
|
|
|
|
String SOURCE = "source";
|
|
|
|
String IS_PROTECTED = "is_protected";
|
|
|
|
String IS_VERIFIED = "is_verified";
|
|
|
|
String IS_FOLLOWING = "is_following";
|
|
|
|
String RETWEET_ID = "retweet_id";
|
|
|
|
String RETWEET_TIMESTAMP = "retweet_timestamp";
|
|
|
|
String RETWEETED_BY_USER_ID = "retweeted_by_user_id";
|
|
|
|
String RETWEETED_BY_USER_NAME = "retweeted_by_user_name";
|
|
|
|
String RETWEETED_BY_USER_SCREEN_NAME = "retweeted_by_user_screen_name";
|
|
|
|
String RETWEETED_BY_USER_PROFILE_IMAGE = "retweeted_by_user_profile_image";
|
|
|
|
/**
|
|
* Timestamp of the status.<br>
|
|
* Type: INTEGER (long)
|
|
*/
|
|
String STATUS_TIMESTAMP = "status_timestamp";
|
|
|
|
String MY_RETWEET_ID = "my_retweet_id";
|
|
|
|
String MEDIA_JSON = "media_json";
|
|
|
|
String MENTIONS_JSON = "mentions_json";
|
|
|
|
String CARD = "card";
|
|
|
|
String CARD_NAME = "card_type";
|
|
|
|
String SORT_ORDER_TIMESTAMP_DESC = STATUS_TIMESTAMP + " DESC";
|
|
|
|
String SORT_ORDER_STATUS_ID_DESC = STATUS_ID + " DESC";
|
|
|
|
String DEFAULT_SORT_ORDER = SORT_ORDER_TIMESTAMP_DESC;
|
|
|
|
String QUOTE_ID = "quote_id";
|
|
String QUOTE_TEXT_HTML = "quote_text_html";
|
|
String QUOTE_TEXT_PLAIN = "quote_text_plain";
|
|
String QUOTE_TEXT_UNESCAPED = "quote_text_unescaped";
|
|
String QUOTE_MEDIA_JSON = "quote_media_json";
|
|
String QUOTE_TIMESTAMP = "quote_timestamp";
|
|
String QUOTE_SOURCE = "quote_source";
|
|
String QUOTE_RETWEET_COUNT = "quote_retweet_count";
|
|
String QUOTE_FAVORITE_COUNT = "quote_favorite_count";
|
|
String QUOTE_REPLY_COUNT = "quote_reply_count";
|
|
String QUOTED_BY_USER_ID = "quoted_by_user_id";
|
|
String QUOTED_BY_USER_NAME = "quoted_by_user_name";
|
|
String QUOTED_BY_USER_SCREEN_NAME = "quoted_by_user_screen_name";
|
|
String QUOTED_BY_USER_PROFILE_IMAGE = "quoted_by_user_profile_image";
|
|
String QUOTED_BY_USER_IS_VERIFIED = "quoted_by_user_is_verified";
|
|
String QUOTED_BY_USER_IS_PROTECTED = "quoted_by_user_is_protected";
|
|
|
|
String[] COLUMNS = {_ID, ACCOUNT_ID, STATUS_ID, USER_ID,
|
|
STATUS_TIMESTAMP, TEXT_HTML, TEXT_PLAIN, TEXT_UNESCAPED, USER_NAME, USER_SCREEN_NAME,
|
|
USER_PROFILE_IMAGE_URL, IN_REPLY_TO_STATUS_ID, IN_REPLY_TO_USER_ID, IN_REPLY_TO_USER_NAME,
|
|
IN_REPLY_TO_USER_SCREEN_NAME, SOURCE, LOCATION, RETWEET_COUNT, FAVORITE_COUNT, REPLY_COUNT,
|
|
RETWEET_ID, RETWEET_TIMESTAMP, RETWEETED_BY_USER_ID, RETWEETED_BY_USER_NAME,
|
|
RETWEETED_BY_USER_SCREEN_NAME, RETWEETED_BY_USER_PROFILE_IMAGE, QUOTE_ID, QUOTE_TEXT_HTML,
|
|
QUOTE_TEXT_PLAIN, QUOTE_TEXT_UNESCAPED, QUOTE_TIMESTAMP, QUOTE_SOURCE, QUOTE_RETWEET_COUNT,
|
|
QUOTE_FAVORITE_COUNT, QUOTE_REPLY_COUNT, QUOTED_BY_USER_ID, QUOTED_BY_USER_NAME,
|
|
QUOTED_BY_USER_SCREEN_NAME, QUOTED_BY_USER_PROFILE_IMAGE, QUOTED_BY_USER_IS_VERIFIED,
|
|
QUOTED_BY_USER_IS_PROTECTED, MY_RETWEET_ID, IS_RETWEET, IS_QUOTE, IS_FAVORITE, IS_PROTECTED,
|
|
IS_VERIFIED, IS_FOLLOWING, IS_GAP, IS_POSSIBLY_SENSITIVE, MEDIA_JSON, MENTIONS_JSON,
|
|
QUOTE_MEDIA_JSON, CARD_NAME, CARD, PLACE_FULL_NAME};
|
|
|
|
String[] TYPES = {TYPE_PRIMARY_KEY, TYPE_INT, TYPE_INT,
|
|
TYPE_INT, TYPE_INT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT,
|
|
TYPE_INT, TYPE_INT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_INT,
|
|
TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_TEXT, TYPE_TEXT,
|
|
TYPE_TEXT, TYPE_INT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_INT, TYPE_TEXT, TYPE_INT,
|
|
TYPE_INT, TYPE_INT, TYPE_INT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_BOOLEAN, TYPE_BOOLEAN,
|
|
TYPE_INT, TYPE_BOOLEAN, TYPE_BOOLEAN, TYPE_BOOLEAN, TYPE_BOOLEAN, TYPE_BOOLEAN,
|
|
TYPE_BOOLEAN, TYPE_BOOLEAN, TYPE_BOOLEAN, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT,
|
|
TYPE_TEXT, TYPE_TEXT};
|
|
|
|
}
|
|
|
|
interface Tabs extends BaseColumns {
|
|
String TABLE_NAME = "tabs";
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
|
|
String NAME = "name";
|
|
|
|
String ICON = "icon";
|
|
|
|
String TYPE = "type";
|
|
|
|
String ARGUMENTS = "arguments";
|
|
|
|
String EXTRAS = "extras";
|
|
|
|
String POSITION = "position";
|
|
|
|
String[] COLUMNS = {_ID, NAME, ICON, TYPE, ARGUMENTS, EXTRAS,
|
|
POSITION};
|
|
|
|
String[] TYPES = {TYPE_PRIMARY_KEY, TYPE_TEXT, TYPE_TEXT,
|
|
TYPE_TEXT_NOT_NULL, TYPE_TEXT, TYPE_TEXT, TYPE_INT};
|
|
|
|
String DEFAULT_SORT_ORDER = POSITION + " ASC";
|
|
}
|
|
|
|
interface CachedRelationships extends BaseColumns {
|
|
|
|
String TABLE_NAME = "cached_relationships";
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
|
|
String ACCOUNT_ID = "account_id";
|
|
|
|
String USER_ID = "user_id";
|
|
|
|
String FOLLOWING = "following";
|
|
|
|
String FOLLOWED_BY = "followed_by";
|
|
|
|
String BLOCKING = "blocking";
|
|
|
|
String BLOCKED_BY = "blocked_by";
|
|
|
|
String MUTING = "muting";
|
|
|
|
String[] COLUMNS = {_ID, ACCOUNT_ID, USER_ID, FOLLOWING, FOLLOWED_BY, BLOCKING,
|
|
BLOCKED_BY, MUTING};
|
|
|
|
String[] TYPES = {TYPE_PRIMARY_KEY, TYPE_INT, TYPE_INT, TYPE_BOOLEAN_DEFAULT_FALSE,
|
|
TYPE_BOOLEAN_DEFAULT_FALSE, TYPE_BOOLEAN_DEFAULT_FALSE, TYPE_BOOLEAN_DEFAULT_FALSE,
|
|
TYPE_BOOLEAN_DEFAULT_FALSE};
|
|
}
|
|
|
|
interface UnreadCounts extends BaseColumns {
|
|
|
|
String CONTENT_PATH = "unread_counts";
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
|
|
String TAB_POSITION = "tab_position";
|
|
|
|
String TAB_TYPE = "tab_type";
|
|
|
|
String COUNT = "count";
|
|
|
|
String[] MATRIX_COLUMNS = {TAB_POSITION, TAB_TYPE, COUNT};
|
|
|
|
String[] COLUMNS = {_ID, TAB_POSITION, TAB_TYPE, COUNT};
|
|
|
|
interface ByType extends UnreadCounts {
|
|
|
|
String CONTENT_PATH_SEGMENT = "by_type";
|
|
|
|
String CONTENT_PATH = UnreadCounts.CONTENT_PATH + "/" + CONTENT_PATH_SEGMENT;
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(UnreadCounts.CONTENT_URI, CONTENT_PATH_SEGMENT);
|
|
}
|
|
}
|
|
|
|
interface NetworkUsages extends BaseColumns {
|
|
|
|
String TABLE_NAME = "network_usages";
|
|
String CONTENT_PATH = TABLE_NAME;
|
|
|
|
Uri CONTENT_URI = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH);
|
|
|
|
String TIME_IN_HOURS = "time_in_hours";
|
|
|
|
String REQUEST_TYPE = "request_type";
|
|
|
|
String REQUEST_NETWORK = "request_network";
|
|
|
|
String KILOBYTES_SENT = "kilobytes_sent";
|
|
|
|
String KILOBYTES_RECEIVED = "kilobytes_received";
|
|
|
|
String[] COLUMNS = {_ID, TIME_IN_HOURS, REQUEST_TYPE, REQUEST_NETWORK, KILOBYTES_SENT,
|
|
KILOBYTES_RECEIVED};
|
|
|
|
String[] TYPES = {TYPE_PRIMARY_KEY, TYPE_INT, TYPE_TEXT_NOT_NULL, TYPE_TEXT_NOT_NULL,
|
|
TYPE_DOUBLE_NOT_NULL, TYPE_DOUBLE_NOT_NULL};
|
|
}
|
|
}
|