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 dbf23370e..6ecb46288 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java +++ b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java @@ -415,6 +415,14 @@ public class CallActivity extends CallBaseActivity { raiseHandViewModel = new ViewModelProvider(this, viewModelFactory).get((RaiseHandViewModel.class)); raiseHandViewModel.setData(roomToken, isBreakoutRoom); + raiseHandViewModel.getViewState().observe(this, viewState -> { + if (viewState instanceof RaiseHandViewModel.RaisedHandState) { + binding.lowerHandButton.setVisibility(View.VISIBLE); + } else if (viewState instanceof RaiseHandViewModel.LoweredHandState) { + binding.lowerHandButton.setVisibility(View.GONE); + } + }); + callRecordingViewModel = new ViewModelProvider(this, viewModelFactory).get((CallRecordingViewModel.class)); callRecordingViewModel.setData(roomToken); callRecordingViewModel.setRecordingState(extras.getInt(KEY_RECORDING_STATE)); @@ -584,6 +592,10 @@ public class CallActivity extends CallBaseActivity { Toast.makeText(context, context.getResources().getString(R.string.record_active_info), Toast.LENGTH_LONG).show(); } }); + + binding.lowerHandButton.setOnClickListener(l -> { + raiseHandViewModel.lowerHand(); + }); } private void createCameraEnumerator() { diff --git a/app/src/main/java/com/nextcloud/talk/raisehand/viewmodel/RaiseHandViewModel.kt b/app/src/main/java/com/nextcloud/talk/raisehand/viewmodel/RaiseHandViewModel.kt index c79fb0349..a835f8c3a 100644 --- a/app/src/main/java/com/nextcloud/talk/raisehand/viewmodel/RaiseHandViewModel.kt +++ b/app/src/main/java/com/nextcloud/talk/raisehand/viewmodel/RaiseHandViewModel.kt @@ -54,7 +54,7 @@ class RaiseHandViewModel @Inject constructor(private val repository: RequestAssi } } - private fun lowerHand() { + fun lowerHand() { _viewState.value = LoweredHandState if (isBreakoutRoom) { repository.withdrawRequestAssistance(roomToken) diff --git a/app/src/main/res/layout/call_activity.xml b/app/src/main/res/layout/call_activity.xml index 2d3a5bb75..a409b68e9 100644 --- a/app/src/main/res/layout/call_activity.xml +++ b/app/src/main/res/layout/call_activity.xml @@ -159,6 +159,22 @@ android:layout_height="wrap_content" android:layout_alignTop="@id/verticalCenter" android:layout_marginTop="-50dp" /> + + +