work around mastodon mute bug (#2150)
This commit is contained in:
parent
4e0a8e4d7c
commit
b156be6ded
4 changed files with 15 additions and 6 deletions
|
@ -193,7 +193,7 @@ class SearchViewModel @Inject constructor(
|
|||
return accountManager.getAllAccountsOrderedByActive()
|
||||
}
|
||||
|
||||
fun muteAccount(accountId: String, notifications: Boolean, duration: Int) {
|
||||
fun muteAccount(accountId: String, notifications: Boolean, duration: Int?) {
|
||||
timelineCases.mute(accountId, notifications, duration)
|
||||
}
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ interface TimelineCases {
|
|||
fun reblog(status: Status, reblog: Boolean): Single<Status>
|
||||
fun favourite(status: Status, favourite: Boolean): Single<Status>
|
||||
fun bookmark(status: Status, bookmark: Boolean): Single<Status>
|
||||
fun mute(id: String, notifications: Boolean, duration: Int)
|
||||
fun mute(id: String, notifications: Boolean, duration: Int?)
|
||||
fun block(id: String)
|
||||
fun delete(id: String): Single<DeletedStatus>
|
||||
fun pin(status: Status, pin: Boolean)
|
||||
|
@ -104,7 +104,7 @@ class TimelineCasesImpl(
|
|||
}
|
||||
}
|
||||
|
||||
override fun mute(id: String, notifications: Boolean, duration: Int) {
|
||||
override fun mute(id: String, notifications: Boolean, duration: Int?) {
|
||||
mastodonApi.muteAccount(id, notifications, duration)
|
||||
.subscribe({
|
||||
eventHub.dispatch(MuteEvent(id))
|
||||
|
|
|
@ -10,7 +10,7 @@ import com.keylesspalace.tusky.databinding.DialogMuteAccountBinding
|
|||
fun showMuteAccountDialog(
|
||||
activity: Activity,
|
||||
accountUsername: String,
|
||||
onOk: (notifications: Boolean, duration: Int) -> Unit
|
||||
onOk: (notifications: Boolean, duration: Int?) -> Unit
|
||||
) {
|
||||
val binding = DialogMuteAccountBinding.inflate(activity.layoutInflater)
|
||||
binding.warning.text = activity.getString(R.string.dialog_mute_warning, accountUsername)
|
||||
|
@ -20,7 +20,16 @@ fun showMuteAccountDialog(
|
|||
.setView(binding.root)
|
||||
.setPositiveButton(android.R.string.ok) { _, _ ->
|
||||
val durationValues = activity.resources.getIntArray(R.array.mute_duration_values)
|
||||
onOk(binding.checkbox.isChecked, durationValues[binding.duration.selectedItemPosition])
|
||||
|
||||
// workaround to make indefinite muting work with Mastodon 3.3.0
|
||||
// https://github.com/tuskyapp/Tusky/issues/2107
|
||||
val duration = if(binding.duration.selectedItemPosition == 0) {
|
||||
null
|
||||
} else {
|
||||
durationValues[binding.duration.selectedItemPosition]
|
||||
}
|
||||
|
||||
onOk(binding.checkbox.isChecked, duration)
|
||||
}
|
||||
.setNegativeButton(android.R.string.cancel, null)
|
||||
.show()
|
||||
|
|
|
@ -119,7 +119,7 @@ class AccountViewModel @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
fun muteAccount(notifications: Boolean, duration: Int) {
|
||||
fun muteAccount(notifications: Boolean, duration: Int?) {
|
||||
changeRelationship(RelationShipAction.MUTE, notifications, duration)
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue