Implement timed mutes. (#2035)

Fixes #2033
This commit is contained in:
Levi Bard 2021-01-15 21:05:36 +01:00 committed by GitHub
commit be60155de5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
44 changed files with 303 additions and 260 deletions

View file

@ -4,6 +4,7 @@ package com.keylesspalace.tusky.view
import android.app.Activity
import android.widget.CheckBox
import android.widget.Spinner
import android.widget.TextView
import androidx.appcompat.app.AlertDialog
import com.keylesspalace.tusky.R
@ -11,7 +12,7 @@ import com.keylesspalace.tusky.R
fun showMuteAccountDialog(
activity: Activity,
accountUsername: String,
onOk: (notifications: Boolean) -> Unit
onOk: (notifications: Boolean, duration: Int) -> Unit
) {
val view = activity.layoutInflater.inflate(R.layout.dialog_mute_account, null)
(view.findViewById(R.id.warning) as TextView).text =
@ -21,7 +22,11 @@ fun showMuteAccountDialog(
AlertDialog.Builder(activity)
.setView(view)
.setPositiveButton(android.R.string.ok) { _, _ -> onOk(checkbox.isChecked) }
.setPositiveButton(android.R.string.ok) { _, _ ->
val spinner: Spinner = view.findViewById(R.id.duration)
val durationValues = activity.resources.getIntArray(R.array.mute_duration_values)
onOk(checkbox.isChecked, durationValues[spinner.selectedItemPosition])
}
.setNegativeButton(android.R.string.cancel, null)
.show()
}