Fix disable state bug with CircularProgressMaterialButton.

fork-5.53.8
Cody Henthorne 2022-07-01 12:56:08 -04:00
rodzic 089a3d386f
commit a44c3c5c2f
1 zmienionych plików z 9 dodań i 0 usunięć

Wyświetl plik

@ -12,8 +12,10 @@ import androidx.annotation.StringRes
import androidx.core.animation.doOnEnd
import androidx.core.content.withStyledAttributes
import com.google.android.material.button.MaterialButton
import com.google.android.material.progressindicator.CircularProgressIndicator
import com.google.android.material.theme.overlay.MaterialThemeOverlay
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.util.visible
import kotlin.math.max
/**
@ -33,6 +35,7 @@ class CircularProgressMaterialButton @JvmOverloads constructor(
private var animator: Animator? = null
private val materialButton: MaterialButton = findViewById(R.id.button)
private val progressIndicator: CircularProgressIndicator = findViewById(R.id.progress_indicator)
var text: CharSequence?
get() = materialButton.text
@ -52,6 +55,12 @@ class CircularProgressMaterialButton @JvmOverloads constructor(
materialButton.setText(resId)
}
override fun setEnabled(enabled: Boolean) {
super.setEnabled(enabled)
materialButton.isEnabled = enabled
progressIndicator.visible = enabled
}
override fun onSaveInstanceState(): Parcelable {
return Bundle().apply {
putParcelable(SUPER_STATE, super.onSaveInstanceState())