Fix disable state bug with CircularProgressMaterialButton.

This commit is contained in:
Cody Henthorne
2022-07-01 12:56:08 -04:00
parent c2ffc8332d
commit edc7d4d696

View File

@@ -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())