mirror of
https://github.com/TwidereProject/Twidere-Android
synced 2025-02-17 04:00:48 +01:00
fixed #347
This commit is contained in:
parent
2a5cbbc34e
commit
9cd28623bb
@ -1,7 +1,22 @@
|
||||
package org.mariotaku.twidere.api.statusnet.api;
|
||||
|
||||
import org.mariotaku.restfu.annotation.method.GET;
|
||||
import org.mariotaku.restfu.annotation.param.Query;
|
||||
import org.mariotaku.twidere.api.statusnet.model.StatusNetConfig;
|
||||
import org.mariotaku.twidere.api.twitter.TwitterException;
|
||||
import org.mariotaku.twidere.api.twitter.model.Paging;
|
||||
import org.mariotaku.twidere.api.twitter.model.ResponseList;
|
||||
import org.mariotaku.twidere.api.twitter.model.Status;
|
||||
|
||||
/**
|
||||
* Created by mariotaku on 16/2/27.
|
||||
*/
|
||||
public interface StatusNetResources {
|
||||
|
||||
@GET("/statusnet/config.json")
|
||||
StatusNetConfig getConfig() throws TwitterException;
|
||||
|
||||
@GET("/search.json")
|
||||
ResponseList<Status> searchStatuses(@Query("q") String query, @Query Paging paging) throws TwitterException;
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,10 @@
|
||||
package org.mariotaku.twidere.api.statusnet.model;
|
||||
|
||||
import com.bluelinelabs.logansquare.annotation.JsonObject;
|
||||
|
||||
/**
|
||||
* Created by mariotaku on 16/2/29.
|
||||
*/
|
||||
@JsonObject
|
||||
public class StatusNetConfig {
|
||||
}
|
@ -291,6 +291,10 @@ public class ParcelableStatus implements Parcelable, Comparable<ParcelableStatus
|
||||
@JsonField(name = "card")
|
||||
@CursorField(value = Statuses.CARD, converter = LoganSquareCursorFieldConverter.class)
|
||||
public ParcelableCardEntity card;
|
||||
@ParcelableThisPlease
|
||||
@JsonField(name = "extras")
|
||||
@CursorField(value = Statuses.EXTRAS, converter = LoganSquareCursorFieldConverter.class)
|
||||
public Extras extras;
|
||||
|
||||
@CursorField(value = Statuses._ID, excludeWrite = true)
|
||||
long _id;
|
||||
@ -425,4 +429,35 @@ public class ParcelableStatus implements Parcelable, Comparable<ParcelableStatus
|
||||
ParcelableStatusParcelablePlease.writeToParcel(this, dest, flags);
|
||||
}
|
||||
|
||||
|
||||
@ParcelablePlease
|
||||
@JsonObject
|
||||
public static class Extras implements Parcelable {
|
||||
|
||||
@JsonField(name = "external_url")
|
||||
@ParcelableThisPlease
|
||||
public String external_url;
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
ParcelableStatus$ExtrasParcelablePlease.writeToParcel(this, dest, flags);
|
||||
}
|
||||
|
||||
public static final Creator<Extras> CREATOR = new Creator<Extras>() {
|
||||
public Extras createFromParcel(Parcel source) {
|
||||
Extras target = new Extras();
|
||||
ParcelableStatus$ExtrasParcelablePlease.readFromParcel(target, source);
|
||||
return target;
|
||||
}
|
||||
|
||||
public Extras[] newArray(int size) {
|
||||
return new Extras[size];
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -869,6 +869,8 @@ public interface TwidereDataStore {
|
||||
|
||||
String RETWEETED = "retweeted";
|
||||
|
||||
String EXTRAS = "extras";
|
||||
|
||||
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,
|
||||
@ -880,7 +882,8 @@ public interface TwidereDataStore {
|
||||
QUOTED_USER_IS_VERIFIED, QUOTED_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, QUOTED_MEDIA_JSON, CARD_NAME, CARD,
|
||||
PLACE_FULL_NAME, LANG, RETWEETED, QUOTED_LOCATION, QUOTED_PLACE_FULL_NAME, INSERTED_DATE};
|
||||
PLACE_FULL_NAME, LANG, RETWEETED, QUOTED_LOCATION, QUOTED_PLACE_FULL_NAME, INSERTED_DATE,
|
||||
EXTRAS};
|
||||
|
||||
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,
|
||||
@ -890,7 +893,8 @@ public interface TwidereDataStore {
|
||||
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, TYPE_TEXT, TYPE_BOOLEAN, TYPE_TEXT, TYPE_TEXT, INSERTED_DATE_TYPE};
|
||||
TYPE_TEXT, TYPE_TEXT, TYPE_TEXT, TYPE_BOOLEAN, TYPE_TEXT, TYPE_TEXT, INSERTED_DATE_TYPE,
|
||||
TYPE_TEXT};
|
||||
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ import static org.mariotaku.twidere.annotation.PreferenceType.STRING;
|
||||
public interface Constants extends TwidereConstants {
|
||||
|
||||
String DATABASES_NAME = "twidere.sqlite";
|
||||
int DATABASES_VERSION = 123;
|
||||
int DATABASES_VERSION = 124;
|
||||
|
||||
int MENU_GROUP_STATUS_EXTENSION = 10;
|
||||
int MENU_GROUP_COMPOSE_EXTENSION = 11;
|
||||
|
@ -37,6 +37,8 @@ public class ParcelableStatusUtils {
|
||||
result.account_id = accountId;
|
||||
result.id = orig.getId();
|
||||
result.timestamp = getTime(orig.getCreatedAt());
|
||||
result.extras = new ParcelableStatus.Extras();
|
||||
result.extras.external_url = orig.getExternalUrl();
|
||||
|
||||
final Status retweetedStatus = orig.getRetweetedStatus();
|
||||
final User retweetUser = retweetedStatus != null ? orig.getUser() : null;
|
||||
|
@ -20,6 +20,7 @@
|
||||
package org.mariotaku.twidere.util;
|
||||
|
||||
import android.net.Uri;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import org.mariotaku.twidere.Constants;
|
||||
import org.mariotaku.twidere.model.ParcelableStatus;
|
||||
@ -86,6 +87,9 @@ public class LinkCreator implements Constants {
|
||||
}
|
||||
|
||||
public static Uri getTwitterStatusLink(ParcelableStatus status) {
|
||||
if (status.extras != null && !TextUtils.isEmpty(status.extras.external_url)) {
|
||||
return Uri.parse(status.extras.external_url);
|
||||
}
|
||||
return getTwitterStatusLink(status.user_screen_name, status.id);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user