Skip to content

Commit

Permalink
fixed #347
Browse files Browse the repository at this point in the history
  • Loading branch information
mariotaku committed Feb 29, 2016
1 parent 2a5cbbc commit 9cd2862
Show file tree
Hide file tree
Showing 7 changed files with 73 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -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;

}
Original file line number Diff line number Diff line change
@@ -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 {
}
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,10 @@ public int compare(final ParcelableStatus object1, final ParcelableStatus object
@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;
Expand Down Expand Up @@ -425,4 +429,35 @@ public void writeToParcel(Parcel dest, int flags) {
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];
}
};
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -869,6 +869,8 @@ interface Statuses extends BaseColumns, InsertedDateColumns {

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,
Expand All @@ -880,7 +882,8 @@ interface Statuses extends BaseColumns, InsertedDateColumns {
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,
Expand All @@ -890,7 +893,8 @@ interface Statuses extends BaseColumns, InsertedDateColumns {
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};

}

Expand Down
2 changes: 1 addition & 1 deletion twidere/src/main/java/org/mariotaku/twidere/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ public static ParcelableStatus fromStatus(final Status orig, final long accountI
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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -86,6 +87,9 @@ public static Uri getTwitterUserLink(String screenName) {
}

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);
}
}

0 comments on commit 9cd2862

Please sign in to comment.