diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/transfercontrols/TransferControlView.kt b/app/src/main/java/org/thoughtcrime/securesms/components/transfercontrols/TransferControlView.kt index 91c686b025..1225f3b225 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/transfercontrols/TransferControlView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/transfercontrols/TransferControlView.kt @@ -66,7 +66,9 @@ class TransferControlView @JvmOverloads constructor(context: Context, attrs: Att private fun updateState(stateFactory: (TransferControlViewState) -> TransferControlViewState) { val newState = stateFactory.invoke(state) - if (newState != state && !(deriveMode(state) == Mode.GONE && deriveMode(newState) == Mode.GONE)) { + val oldMode = deriveMode(state) + val newMode = deriveMode(newState) + if ((newState != state || oldMode != newMode) && !(oldMode == Mode.GONE && newMode == Mode.GONE)) { progressUpdateDebouncer.publish { applyState(newState) }