1
0
mirror of https://github.com/TwidereProject/Twidere-Android synced 2025-02-17 04:00:48 +01:00

improved database tables

This commit is contained in:
Mariotaku Lee 2016-05-29 13:24:13 +08:00
parent bac33d85b8
commit 740d1de4ac
4 changed files with 26 additions and 22 deletions

View File

@ -33,22 +33,23 @@ import org.mariotaku.library.objectcursor.annotation.CursorObject;
import org.mariotaku.twidere.model.draft.ActionExtra;
import org.mariotaku.twidere.model.util.DraftExtrasConverter;
import org.mariotaku.twidere.model.util.UserKeysCursorFieldConverter;
import org.mariotaku.twidere.provider.TwidereDataStore;
import org.mariotaku.twidere.provider.TwidereDataStore.Drafts;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@ParcelablePlease
@CursorObject(valuesCreator = true)
@CursorObject(valuesCreator = true, tableInfo = true)
public class Draft implements Parcelable {
@ParcelableThisPlease
@CursorField(value = Drafts._ID, type = TwidereDataStore.TYPE_PRIMARY_KEY, excludeWrite = true)
public long _id;
@ParcelableThisPlease
@CursorField(value = Drafts.ACCOUNT_KEYS, converter = UserKeysCursorFieldConverter.class)
public UserKey[] account_keys;
@ParcelableThisPlease
@CursorField(value = Drafts._ID, excludeWrite = true)
public long _id;
@ParcelableThisPlease
@CursorField(Drafts.TIMESTAMP)
public long timestamp;
@ParcelableThisPlease

View File

@ -25,6 +25,7 @@ import android.support.annotation.NonNull;
import com.bluelinelabs.logansquare.annotation.JsonField;
import com.bluelinelabs.logansquare.annotation.JsonObject;
import com.hannesdorfmann.parcelableplease.annotation.ParcelableNoThanks;
import com.hannesdorfmann.parcelableplease.annotation.ParcelablePlease;
import com.hannesdorfmann.parcelableplease.annotation.ParcelableThisPlease;
@ -32,7 +33,6 @@ import org.mariotaku.commons.objectcursor.LoganSquareCursorFieldConverter;
import org.mariotaku.library.objectcursor.annotation.AfterCursorObjectCreated;
import org.mariotaku.library.objectcursor.annotation.CursorField;
import org.mariotaku.library.objectcursor.annotation.CursorObject;
import org.mariotaku.microblog.library.twitter.model.DirectMessage;
import org.mariotaku.twidere.model.util.UserKeyConverter;
import org.mariotaku.twidere.model.util.UserKeyCursorFieldConverter;
import org.mariotaku.twidere.provider.TwidereDataStore;
@ -43,7 +43,7 @@ import java.util.Arrays;
@ParcelablePlease(allFields = false)
@JsonObject
@CursorObject(valuesCreator = true)
@CursorObject(valuesCreator = true, tableInfo = true)
public class ParcelableUser implements Parcelable, Comparable<ParcelableUser> {
@ParcelableThisPlease
@ -53,6 +53,10 @@ public class ParcelableUser implements Parcelable, Comparable<ParcelableUser> {
@ParcelableThisPlease
public int account_color;
@ParcelableThisPlease
@CursorField(value = CachedUsers._ID, type = TwidereDataStore.TYPE_PRIMARY_KEY, excludeWrite = true)
public long _id;
@ParcelableThisPlease
@JsonField(name = "id", typeConverter = UserKeyConverter.class)
@CursorField(value = CachedUsers.USER_KEY, converter = UserKeyCursorFieldConverter.class)
@ -177,6 +181,14 @@ public class ParcelableUser implements Parcelable, Comparable<ParcelableUser> {
@CursorField(value = CachedUsers.EXTRAS, converter = LoganSquareCursorFieldConverter.class)
public Extras extras;
@ParcelableNoThanks
@CursorField(CachedUsers.LAST_SEEN)
public long last_seen;
@ParcelableNoThanks
@CursorField(value = CachedUsers.SCORE, excludeWrite = true)
public int score;
@ParcelableThisPlease
public int color;
@ParcelableThisPlease

View File

@ -23,9 +23,11 @@ import android.content.ContentResolver;
import android.net.Uri;
import android.provider.BaseColumns;
import org.mariotaku.twidere.model.DraftTableInfo;
import org.mariotaku.twidere.model.ParcelableActivityTableInfo;
import org.mariotaku.twidere.model.ParcelableDirectMessageTableInfo;
import org.mariotaku.twidere.model.ParcelableStatusTableInfo;
import org.mariotaku.twidere.model.ParcelableUserTableInfo;
@SuppressWarnings("unused")
public interface TwidereDataStore {
@ -302,20 +304,11 @@ public interface TwidereDataStore {
String EXTRAS = "extras";
String[] COLUMNS = {_ID, USER_KEY, CREATED_AT, NAME, SCREEN_NAME, DESCRIPTION_PLAIN, LOCATION,
URL, PROFILE_IMAGE_URL, PROFILE_BANNER_URL, PROFILE_BACKGROUND_URL, IS_PROTECTED,
IS_VERIFIED, IS_FOLLOWING, FOLLOWERS_COUNT, FRIENDS_COUNT, STATUSES_COUNT,
FAVORITES_COUNT, LISTED_COUNT, MEDIA_COUNT, DESCRIPTION_SPANS,
URL_EXPANDED, BACKGROUND_COLOR, LINK_COLOR, TEXT_COLOR, LAST_SEEN,
DESCRIPTION_UNESCAPED, EXTRAS};
String[] COLUMNS = ParcelableUserTableInfo.COLUMNS;
String[] BASIC_COLUMNS = {_ID, USER_KEY, NAME, SCREEN_NAME, PROFILE_IMAGE_URL};
String[] TYPES = {TYPE_PRIMARY_KEY, TYPE_TEXT_NOT_NULL, TYPE_INT, TYPE_TEXT, 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_INT, TYPE_INT, TYPE_INT, TYPE_INT,
TYPE_TEXT, TYPE_TEXT};
String[] TYPES = ParcelableUserTableInfo.TYPES;
}
@ -581,11 +574,9 @@ public interface TwidereDataStore {
String ACTION_EXTRAS = "action_extras";
String[] COLUMNS = {_ID, TEXT, ACCOUNT_KEYS, LOCATION, MEDIA,
IN_REPLY_TO_STATUS_ID, IS_POSSIBLY_SENSITIVE, TIMESTAMP, ACTION_TYPE, ACTION_EXTRAS};
String[] COLUMNS = DraftTableInfo.COLUMNS;
String[] TYPES = {TYPE_PRIMARY_KEY, TYPE_TEXT, TYPE_TEXT, TYPE_TEXT,
TYPE_INT, TYPE_INT, TYPE_BOOLEAN, TYPE_INT, TYPE_TEXT, TYPE_TEXT};
String[] TYPES = DraftTableInfo.TYPES;
}

View File

@ -34,7 +34,7 @@ import static org.mariotaku.twidere.annotation.PreferenceType.STRING;
public interface Constants extends TwidereConstants {
String DATABASES_NAME = "twidere.sqlite";
int DATABASES_VERSION = 150;
int DATABASES_VERSION = 151;
int MENU_GROUP_STATUS_EXTENSION = 10;
int MENU_GROUP_COMPOSE_EXTENSION = 11;