From 55c9124c5481fa97de15459e4385a41fa2f8f848 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Tue, 1 Dec 2020 10:56:47 -0500 Subject: [PATCH] Prevent multiple taps from starting multiple calls. --- .../securesms/components/webrtc/WebRtcCallView.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/WebRtcCallView.java b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/WebRtcCallView.java index 45c357f4e8..5f34018f2e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/WebRtcCallView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/WebRtcCallView.java @@ -207,7 +207,12 @@ public class WebRtcCallView extends FrameLayout { pictureInPictureGestureHelper = PictureInPictureGestureHelper.applyTo(smallLocalRenderFrame); - startCall.setOnClickListener(v -> runIfNonNull(controlsListener, listener -> listener.onStartCall(videoToggle.isChecked()))); + startCall.setOnClickListener(v -> { + if (controlsListener != null) { + startCall.setEnabled(false); + controlsListener.onStartCall(videoToggle.isChecked()); + } + }); cancelStartCall.setOnClickListener(v -> runIfNonNull(controlsListener, ControlsListener::onCancelStartCall)); ColorMatrix greyScaleMatrix = new ColorMatrix(); @@ -422,6 +427,7 @@ public class WebRtcCallView extends FrameLayout { visibleViewSet.add(startCallControls); startCall.setText(webRtcControls.getStartCallButtonText()); + startCall.setEnabled(true); } MenuItem item = toolbar.getMenu().findItem(R.id.menu_group_call_participants_list);