mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-21 12:39:58 +01:00
Don't show toast when dismiss the recording stop dialog
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
parent
869dc86757
commit
5cc2a6d531
@ -397,8 +397,10 @@ public class CallActivity extends CallBaseActivity {
|
|||||||
callRecordingViewModel.getViewState().observe(this, viewState -> {
|
callRecordingViewModel.getViewState().observe(this, viewState -> {
|
||||||
if (viewState instanceof CallRecordingViewModel.RecordingStartedState) {
|
if (viewState instanceof CallRecordingViewModel.RecordingStartedState) {
|
||||||
binding.callRecordingIndicator.setVisibility(View.VISIBLE);
|
binding.callRecordingIndicator.setVisibility(View.VISIBLE);
|
||||||
VibrationUtils.INSTANCE.vibrateShort(context);
|
if (((CallRecordingViewModel.RecordingStartedState) viewState).getShowStartedInfo()) {
|
||||||
Toast.makeText(context, context.getResources().getString(R.string.record_active_info), Toast.LENGTH_LONG).show();
|
VibrationUtils.INSTANCE.vibrateShort(context);
|
||||||
|
Toast.makeText(context, context.getResources().getString(R.string.record_active_info), Toast.LENGTH_LONG).show();
|
||||||
|
}
|
||||||
} else if (viewState instanceof CallRecordingViewModel.RecordingConfirmStopState) {
|
} else if (viewState instanceof CallRecordingViewModel.RecordingConfirmStopState) {
|
||||||
MaterialAlertDialogBuilder dialogBuilder = new MaterialAlertDialogBuilder(this)
|
MaterialAlertDialogBuilder dialogBuilder = new MaterialAlertDialogBuilder(this)
|
||||||
.setTitle(R.string.record_stop_confirm_title)
|
.setTitle(R.string.record_stop_confirm_title)
|
||||||
@ -1614,7 +1616,7 @@ public class CallActivity extends CallBaseActivity {
|
|||||||
@Override
|
@Override
|
||||||
public void onNext(
|
public void onNext(
|
||||||
@io.reactivex.annotations.NonNull
|
@io.reactivex.annotations.NonNull
|
||||||
SignalingOverall signalingOverall) {
|
SignalingOverall signalingOverall) {
|
||||||
receivedSignalingMessages(signalingOverall.getOcs().getSignalings());
|
receivedSignalingMessages(signalingOverall.getOcs().getSignalings());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1988,7 +1990,7 @@ public class CallActivity extends CallBaseActivity {
|
|||||||
// will not send an offer, so no connection is actually established when the remote participant has a
|
// will not send an offer, so no connection is actually established when the remote participant has a
|
||||||
// higher session ID but is not publishing media.
|
// higher session ID but is not publishing media.
|
||||||
if ((hasMCU && participantHasAudioOrVideo) ||
|
if ((hasMCU && participantHasAudioOrVideo) ||
|
||||||
(!hasMCU && selfParticipantHasAudioOrVideo && (!participantHasAudioOrVideo || sessionId.compareTo(currentSessionId) < 0))) {
|
(!hasMCU && selfParticipantHasAudioOrVideo && (!participantHasAudioOrVideo || sessionId.compareTo(currentSessionId) < 0))) {
|
||||||
getOrCreatePeerConnectionWrapperForSessionIdAndType(sessionId, VIDEO_STREAM_TYPE_VIDEO, false);
|
getOrCreatePeerConnectionWrapperForSessionIdAndType(sessionId, VIDEO_STREAM_TYPE_VIDEO, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2220,7 +2222,7 @@ public class CallActivity extends CallBaseActivity {
|
|||||||
|
|
||||||
private void updateSelfVideoViewIceConnectionState(PeerConnection.IceConnectionState iceConnectionState) {
|
private void updateSelfVideoViewIceConnectionState(PeerConnection.IceConnectionState iceConnectionState) {
|
||||||
boolean connected = iceConnectionState == PeerConnection.IceConnectionState.CONNECTED ||
|
boolean connected = iceConnectionState == PeerConnection.IceConnectionState.CONNECTED ||
|
||||||
iceConnectionState == PeerConnection.IceConnectionState.COMPLETED;
|
iceConnectionState == PeerConnection.IceConnectionState.COMPLETED;
|
||||||
|
|
||||||
// FIXME In voice only calls there is no video view, so the progress bar would appear floating in the middle of
|
// FIXME In voice only calls there is no video view, so the progress bar would appear floating in the middle of
|
||||||
// nowhere. However, a way to signal that the local participant is not connected to the HPB is still need in
|
// nowhere. However, a way to signal that the local participant is not connected to the HPB is still need in
|
||||||
@ -2598,8 +2600,9 @@ public class CallActivity extends CallBaseActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Temporary implementation of SignalingMessageReceiver until signaling related code is extracted from CallActivity.
|
* Temporary implementation of SignalingMessageReceiver until signaling related code is extracted from
|
||||||
*
|
* CallActivity.
|
||||||
|
* <p>
|
||||||
* All listeners are called in the main thread.
|
* All listeners are called in the main thread.
|
||||||
*/
|
*/
|
||||||
private static class InternalSignalingMessageReceiver extends SignalingMessageReceiver {
|
private static class InternalSignalingMessageReceiver extends SignalingMessageReceiver {
|
||||||
@ -2794,7 +2797,7 @@ public class CallActivity extends CallBaseActivity {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds the local participant nick to offers and answers.
|
* Adds the local participant nick to offers and answers.
|
||||||
*
|
* <p>
|
||||||
* For legacy reasons the offers and answers sent when the internal signaling server is used are expected to
|
* For legacy reasons the offers and answers sent when the internal signaling server is used are expected to
|
||||||
* provide the nick of the local participant.
|
* provide the nick of the local participant.
|
||||||
*
|
*
|
||||||
|
@ -42,7 +42,8 @@ class CallRecordingViewModel @Inject constructor(private val repository: CallRec
|
|||||||
lateinit var roomToken: String
|
lateinit var roomToken: String
|
||||||
|
|
||||||
sealed interface ViewState
|
sealed interface ViewState
|
||||||
object RecordingStartedState : ViewState
|
open class RecordingStartedState(val showStartedInfo: Boolean) : ViewState
|
||||||
|
|
||||||
object RecordingStoppedState : ViewState
|
object RecordingStoppedState : ViewState
|
||||||
object RecordingStartLoadingState : ViewState
|
object RecordingStartLoadingState : ViewState
|
||||||
object RecordingStopLoadingState : ViewState
|
object RecordingStopLoadingState : ViewState
|
||||||
@ -57,7 +58,7 @@ class CallRecordingViewModel @Inject constructor(private val repository: CallRec
|
|||||||
|
|
||||||
fun clickRecordButton() {
|
fun clickRecordButton() {
|
||||||
when (viewState.value) {
|
when (viewState.value) {
|
||||||
RecordingStartedState -> {
|
is RecordingStartedState -> {
|
||||||
_viewState.value = RecordingConfirmStopState
|
_viewState.value = RecordingConfirmStopState
|
||||||
}
|
}
|
||||||
RecordingStoppedState -> {
|
RecordingStoppedState -> {
|
||||||
@ -92,7 +93,7 @@ class CallRecordingViewModel @Inject constructor(private val repository: CallRec
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun dismissStopRecording() {
|
fun dismissStopRecording() {
|
||||||
_viewState.value = RecordingStartedState
|
_viewState.value = RecordingStartedState(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCleared() {
|
override fun onCleared() {
|
||||||
@ -108,8 +109,8 @@ class CallRecordingViewModel @Inject constructor(private val repository: CallRec
|
|||||||
fun setRecordingState(state: Int) {
|
fun setRecordingState(state: Int) {
|
||||||
when (state) {
|
when (state) {
|
||||||
RECORDING_STOPPED_CODE -> _viewState.value = RecordingStoppedState
|
RECORDING_STOPPED_CODE -> _viewState.value = RecordingStoppedState
|
||||||
RECORDING_STARTED_VIDEO_CODE -> _viewState.value = RecordingStartedState
|
RECORDING_STARTED_VIDEO_CODE -> _viewState.value = RecordingStartedState(true)
|
||||||
RECORDING_STARTED_AUDIO_CODE -> _viewState.value = RecordingStartedState
|
RECORDING_STARTED_AUDIO_CODE -> _viewState.value = RecordingStartedState(true)
|
||||||
else -> {}
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,9 @@ class CallRecordingViewModelTest : AbstractViewModelTest() {
|
|||||||
val viewModel = CallRecordingViewModel(repository)
|
val viewModel = CallRecordingViewModel(repository)
|
||||||
viewModel.setData("foo")
|
viewModel.setData("foo")
|
||||||
viewModel.setRecordingState(CallRecordingViewModel.RECORDING_STARTED_VIDEO_CODE)
|
viewModel.setRecordingState(CallRecordingViewModel.RECORDING_STARTED_VIDEO_CODE)
|
||||||
|
|
||||||
|
Assert.equals(true, (viewModel.viewState.value as CallRecordingViewModel.RecordingStartedState).showStartedInfo)
|
||||||
|
|
||||||
viewModel.clickRecordButton()
|
viewModel.clickRecordButton()
|
||||||
|
|
||||||
Assert.equals(CallRecordingViewModel.RecordingConfirmStopState, viewModel.viewState.value)
|
Assert.equals(CallRecordingViewModel.RecordingConfirmStopState, viewModel.viewState.value)
|
||||||
@ -43,6 +46,9 @@ class CallRecordingViewModelTest : AbstractViewModelTest() {
|
|||||||
val viewModel = CallRecordingViewModel(repository)
|
val viewModel = CallRecordingViewModel(repository)
|
||||||
viewModel.setData("foo")
|
viewModel.setData("foo")
|
||||||
viewModel.setRecordingState(CallRecordingViewModel.RECORDING_STARTED_VIDEO_CODE)
|
viewModel.setRecordingState(CallRecordingViewModel.RECORDING_STARTED_VIDEO_CODE)
|
||||||
|
|
||||||
|
Assert.equals(true, (viewModel.viewState.value as CallRecordingViewModel.RecordingStartedState).showStartedInfo)
|
||||||
|
|
||||||
viewModel.clickRecordButton()
|
viewModel.clickRecordButton()
|
||||||
|
|
||||||
Assert.equals(CallRecordingViewModel.RecordingConfirmStopState, viewModel.viewState.value)
|
Assert.equals(CallRecordingViewModel.RecordingConfirmStopState, viewModel.viewState.value)
|
||||||
@ -63,6 +69,13 @@ class CallRecordingViewModelTest : AbstractViewModelTest() {
|
|||||||
|
|
||||||
viewModel.dismissStopRecording()
|
viewModel.dismissStopRecording()
|
||||||
|
|
||||||
Assert.equals(CallRecordingViewModel.RecordingStartedState, viewModel.viewState.value)
|
Assert.equals(
|
||||||
|
CallRecordingViewModel.RecordingStartedState(false).javaClass,
|
||||||
|
viewModel.viewState.value?.javaClass
|
||||||
|
)
|
||||||
|
Assert.equals(
|
||||||
|
false,
|
||||||
|
(viewModel.viewState.value as CallRecordingViewModel.RecordingStartedState).showStartedInfo
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user