diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/ThumbnailView.java b/app/src/main/java/org/thoughtcrime/securesms/components/ThumbnailView.java index 91942682b6..0b0f1719ab 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/ThumbnailView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/ThumbnailView.java @@ -679,7 +679,7 @@ public class ThumbnailView extends FrameLayout { private class ThumbnailClickDispatcher implements View.OnClickListener { @Override public void onClick(View view) { - boolean controlsVisible = transferControlViewStub.getVisibility() == View.VISIBLE; + boolean controlsVisible = transferControlViewStub.getVisibility() == View.VISIBLE && !transferControlViewStub.get().isGone(); if (thumbnailClickListener != null && !controlsVisible) { thumbnailClickListener.onClick(view, slide); } else if (parentClickListener != null) { 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 b6cd842532..6a4d1c8816 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 @@ -41,6 +41,8 @@ class TransferControlView @JvmOverloads constructor(context: Context, attrs: Att private var state = TransferControlViewState() private val progressUpdateDebouncer: ThrottledDebouncer = ThrottledDebouncer(100) + private var mode: Mode = Mode.GONE + init { tag = uuid binding = TransferControlsViewBinding.inflate(LayoutInflater.from(context), this) @@ -70,6 +72,10 @@ class TransferControlView @JvmOverloads constructor(context: Context, attrs: Att state = newState } + fun isGone(): Boolean { + return mode == Mode.GONE + } + private fun applyState(currentState: TransferControlViewState) { val mode = deriveMode(currentState) verboseLog("New state applying, mode = $mode") @@ -92,6 +98,7 @@ class TransferControlView @JvmOverloads constructor(context: Context, attrs: Att Mode.RETRY_UPLOADING -> displayRetry(currentState, true) Mode.GONE -> displayChildrenAsGone() } + this.mode = mode } private fun deriveMode(currentState: TransferControlViewState): Mode {