From c21e1d736058a1dd025511f69d3687d3cfca631c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Calvi=C3=B1o=20S=C3=A1nchez?= Date: Mon, 19 Sep 2022 01:57:25 +0200 Subject: [PATCH] Show message in call state when the publisher failed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When the HPB is used and the publisher fails (which is a disconnection that can not be automatically solved by itself) a forced reconnection is triggered. This restarts the call, so some feedback should be provided in the UI about it. Signed-off-by: Daniel Calviño Sánchez --- .../talk/activities/CallActivity.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java index 0f691f353..8a6b6c01b 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java +++ b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java @@ -2089,7 +2089,7 @@ public class CallActivity extends CallBaseActivity { } else if (peerConnectionEvent.getPeerConnectionEventType() == PeerConnectionEvent.PeerConnectionEventType.PUBLISHER_FAILED) { - currentCallStatus = CallStatus.PUBLISHER_FAILED; + setCallState(CallStatus.PUBLISHER_FAILED); webSocketClient.clearResumeId(); hangup(false); } @@ -2345,6 +2345,25 @@ public class CallActivity extends CallBaseActivity { } }); break; + case PUBLISHER_FAILED: + handler.post(() -> { + // No calling sound when the publisher failed + binding.callStates.callStateTextView.setText(R.string.nc_call_reconnecting); + binding.callModeTextView.setText(getDescriptionForCallType()); + if (binding.callStates.callStateRelativeLayout.getVisibility() != View.VISIBLE) { + binding.callStates.callStateRelativeLayout.setVisibility(View.VISIBLE); + } + if (binding.gridview.getVisibility() != View.INVISIBLE) { + binding.gridview.setVisibility(View.INVISIBLE); + } + if (binding.callStates.callStateProgressBar.getVisibility() != View.VISIBLE) { + binding.callStates.callStateProgressBar.setVisibility(View.VISIBLE); + } + if (binding.callStates.errorImageView.getVisibility() != View.GONE) { + binding.callStates.errorImageView.setVisibility(View.GONE); + } + }); + break; case RECONNECTING: handler.post(() -> { playCallingSound();