Add support for muting conversations (#1732)
* Add support for muting conversations Implements #1731 * Fix CI * Apply code review feedback
This commit is contained in:
parent
8e54e4ae16
commit
8cb83050ac
21 changed files with 904 additions and 19 deletions
|
@ -200,6 +200,16 @@ interface MastodonApi {
|
|||
@Path("id") statusId: String
|
||||
): Single<Status>
|
||||
|
||||
@POST("api/v1/statuses/{id}/mute")
|
||||
fun muteConversation(
|
||||
@Path("id") statusId: String
|
||||
): Single<Status>
|
||||
|
||||
@POST("api/v1/statuses/{id}/unmute")
|
||||
fun unmuteConversation(
|
||||
@Path("id") statusId: String
|
||||
): Single<Status>
|
||||
|
||||
@GET("api/v1/scheduled_statuses")
|
||||
fun scheduledStatuses(
|
||||
@Query("limit") limit: Int? = null,
|
||||
|
|
|
@ -41,7 +41,7 @@ interface TimelineCases {
|
|||
fun delete(id: String): Single<DeletedStatus>
|
||||
fun pin(status: Status, pin: Boolean)
|
||||
fun voteInPoll(status: Status, choices: List<Int>): Single<Poll>
|
||||
|
||||
fun muteConversation(status: Status, mute: Boolean): Single<Status>
|
||||
}
|
||||
|
||||
class TimelineCasesImpl(
|
||||
|
@ -94,6 +94,19 @@ class TimelineCasesImpl(
|
|||
}
|
||||
}
|
||||
|
||||
override fun muteConversation(status: Status, mute: Boolean): Single<Status> {
|
||||
val id = status.actionableId
|
||||
|
||||
val call = if (mute) {
|
||||
mastodonApi.muteConversation(id)
|
||||
} else {
|
||||
mastodonApi.unmuteConversation(id)
|
||||
}
|
||||
return call.doAfterSuccess {
|
||||
eventHub.dispatch(MuteConversationEvent(status.id, mute))
|
||||
}
|
||||
}
|
||||
|
||||
override fun mute(id: String) {
|
||||
val call = mastodonApi.muteAccount(id)
|
||||
call.enqueue(object : Callback<Relationship> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue