From af53e88b7222b469ca7a305b58aba0bf07789702 Mon Sep 17 00:00:00 2001 From: Mariotaku Lee Date: Fri, 12 May 2017 19:23:28 +0800 Subject: [PATCH] fixed timeline filter for mastodon --- .../microblog/library/mastodon/model/TimelineOption.java | 6 +++++- .../mariotaku/twidere/loader/statuses/UserTimelineLoader.kt | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/twidere.component.common/src/main/java/org/mariotaku/microblog/library/mastodon/model/TimelineOption.java b/twidere.component.common/src/main/java/org/mariotaku/microblog/library/mastodon/model/TimelineOption.java index ffef68520..40a062156 100644 --- a/twidere.component.common/src/main/java/org/mariotaku/microblog/library/mastodon/model/TimelineOption.java +++ b/twidere.component.common/src/main/java/org/mariotaku/microblog/library/mastodon/model/TimelineOption.java @@ -26,7 +26,11 @@ import org.mariotaku.restfu.http.SimpleValueMap; public class TimelineOption extends SimpleValueMap { public TimelineOption excludeReplies(boolean excludeReplies) { - put("exclude_replies", excludeReplies); + if (excludeReplies) { + put("exclude_replies", true); + } else { + remove("exclude_replies"); + } return this; } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/loader/statuses/UserTimelineLoader.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/loader/statuses/UserTimelineLoader.kt index 1c8c9d593..979d741ba 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/loader/statuses/UserTimelineLoader.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/loader/statuses/UserTimelineLoader.kt @@ -92,6 +92,11 @@ class UserTimelineLoader( @WorkerThread override fun shouldFilterStatus(database: SQLiteDatabase, status: ParcelableStatus): Boolean { + if (timelineFilter != null) { + if (status.is_retweet && !timelineFilter.isIncludeRetweets) { + return true + } + } if (accountKey != null && userKey != null && TextUtils.equals(accountKey.id, userKey.id)) return false val retweetUserKey = status.user_key.takeIf { status.is_retweet } @@ -107,6 +112,7 @@ class UserTimelineLoader( if (timelineFilter != null) { option.excludeReplies(!timelineFilter.isIncludeReplies) } + return mastodon.getStatuses(id, paging, option) }