mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2024-11-29 06:28:45 +03:00
Merge pull request #7816 from vector-im/yostyle/prompt_stop_voicebroadcast
[Voice Broadcast] Prompt the user before ending a live broadcast
This commit is contained in:
commit
d17fdbb913
5 changed files with 23 additions and 1 deletions
|
@ -419,6 +419,7 @@
|
||||||
<string name="action_got_it">Got it</string>
|
<string name="action_got_it">Got it</string>
|
||||||
<string name="action_select_all">Select all</string>
|
<string name="action_select_all">Select all</string>
|
||||||
<string name="action_deselect_all">Deselect all</string>
|
<string name="action_deselect_all">Deselect all</string>
|
||||||
|
<string name="action_stop">Yes, Stop</string>
|
||||||
|
|
||||||
<string name="copied_to_clipboard">Copied to clipboard</string>
|
<string name="copied_to_clipboard">Copied to clipboard</string>
|
||||||
|
|
||||||
|
@ -3120,6 +3121,8 @@
|
||||||
<string name="error_voice_broadcast_already_in_progress_message">You are already recording a voice broadcast. Please end your current voice broadcast to start a new one.</string>
|
<string name="error_voice_broadcast_already_in_progress_message">You are already recording a voice broadcast. Please end your current voice broadcast to start a new one.</string>
|
||||||
<!-- Examples of usage: 6h 15min 30sec left / 15min 30sec left / 30sec left -->
|
<!-- Examples of usage: 6h 15min 30sec left / 15min 30sec left / 30sec left -->
|
||||||
<string name="voice_broadcast_recording_time_left">%1$s left</string>
|
<string name="voice_broadcast_recording_time_left">%1$s left</string>
|
||||||
|
<string name="stop_voice_broadcast_dialog_title">Stop live broadcasting?</string>
|
||||||
|
<string name="stop_voice_broadcast_content">Are you sure you want to stop your live broadcast? This will end the broadcast and the full recording will be available in the room.</string>
|
||||||
|
|
||||||
<string name="upgrade_room_for_restricted">Anyone in %s will be able to find and join this room - no need to manually invite everyone. You’ll be able to change this in room settings anytime.</string>
|
<string name="upgrade_room_for_restricted">Anyone in %s will be able to find and join this room - no need to manually invite everyone. You’ll be able to change this in room settings anytime.</string>
|
||||||
<string name="upgrade_room_for_restricted_no_param">Anyone in a parent space will be able to find and join this room - no need to manually invite everyone. You’ll be able to change this in room settings anytime.</string>
|
<string name="upgrade_room_for_restricted_no_param">Anyone in a parent space will be able to find and join this room - no need to manually invite everyone. You’ll be able to change this in room settings anytime.</string>
|
||||||
|
|
|
@ -127,6 +127,7 @@ sealed class RoomDetailAction : VectorViewModelAction {
|
||||||
object Pause : Recording()
|
object Pause : Recording()
|
||||||
object Resume : Recording()
|
object Resume : Recording()
|
||||||
object Stop : Recording()
|
object Stop : Recording()
|
||||||
|
object StopConfirmed : Recording()
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class Listening : VoiceBroadcastAction() {
|
sealed class Listening : VoiceBroadcastAction() {
|
||||||
|
|
|
@ -71,6 +71,8 @@ sealed class RoomDetailViewEvents : VectorViewEvents {
|
||||||
|
|
||||||
object DisplayEnableIntegrationsWarning : RoomDetailViewEvents()
|
object DisplayEnableIntegrationsWarning : RoomDetailViewEvents()
|
||||||
|
|
||||||
|
object DisplayPromptToStopVoiceBroadcast : RoomDetailViewEvents()
|
||||||
|
|
||||||
data class OpenStickerPicker(val widget: Widget) : RoomDetailViewEvents()
|
data class OpenStickerPicker(val widget: Widget) : RoomDetailViewEvents()
|
||||||
|
|
||||||
object OpenIntegrationManager : RoomDetailViewEvents()
|
object OpenIntegrationManager : RoomDetailViewEvents()
|
||||||
|
|
|
@ -413,6 +413,7 @@ class TimelineFragment :
|
||||||
is RoomDetailViewEvents.DisplayAndAcceptCall -> acceptIncomingCall(it)
|
is RoomDetailViewEvents.DisplayAndAcceptCall -> acceptIncomingCall(it)
|
||||||
RoomDetailViewEvents.RoomReplacementStarted -> handleRoomReplacement()
|
RoomDetailViewEvents.RoomReplacementStarted -> handleRoomReplacement()
|
||||||
RoomDetailViewEvents.OpenElementCallWidget -> handleOpenElementCallWidget()
|
RoomDetailViewEvents.OpenElementCallWidget -> handleOpenElementCallWidget()
|
||||||
|
RoomDetailViewEvents.DisplayPromptToStopVoiceBroadcast -> displayPromptToStopVoiceBroadcast()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2006,6 +2007,20 @@ class TimelineFragment :
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun displayPromptToStopVoiceBroadcast() {
|
||||||
|
ConfirmationDialogBuilder
|
||||||
|
.show(
|
||||||
|
activity = requireActivity(),
|
||||||
|
askForReason = false,
|
||||||
|
confirmationRes = R.string.stop_voice_broadcast_content,
|
||||||
|
positiveRes = R.string.action_stop,
|
||||||
|
reasonHintRes = 0,
|
||||||
|
titleRes = R.string.stop_voice_broadcast_dialog_title
|
||||||
|
) {
|
||||||
|
timelineViewModel.handle(RoomDetailAction.VoiceBroadcastAction.Recording.StopConfirmed)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun onTapToReturnToCall() {
|
override fun onTapToReturnToCall() {
|
||||||
callManager.getCurrentCall()?.let { call ->
|
callManager.getCurrentCall()?.let { call ->
|
||||||
VectorCallActivity.newIntent(
|
VectorCallActivity.newIntent(
|
||||||
|
|
|
@ -633,7 +633,8 @@ class TimelineViewModel @AssistedInject constructor(
|
||||||
}
|
}
|
||||||
VoiceBroadcastAction.Recording.Pause -> voiceBroadcastHelper.pauseVoiceBroadcast(room.roomId)
|
VoiceBroadcastAction.Recording.Pause -> voiceBroadcastHelper.pauseVoiceBroadcast(room.roomId)
|
||||||
VoiceBroadcastAction.Recording.Resume -> voiceBroadcastHelper.resumeVoiceBroadcast(room.roomId)
|
VoiceBroadcastAction.Recording.Resume -> voiceBroadcastHelper.resumeVoiceBroadcast(room.roomId)
|
||||||
VoiceBroadcastAction.Recording.Stop -> voiceBroadcastHelper.stopVoiceBroadcast(room.roomId)
|
VoiceBroadcastAction.Recording.Stop -> _viewEvents.post(RoomDetailViewEvents.DisplayPromptToStopVoiceBroadcast)
|
||||||
|
VoiceBroadcastAction.Recording.StopConfirmed -> voiceBroadcastHelper.stopVoiceBroadcast(room.roomId)
|
||||||
is VoiceBroadcastAction.Listening.PlayOrResume -> voiceBroadcastHelper.playOrResumePlayback(action.voiceBroadcast)
|
is VoiceBroadcastAction.Listening.PlayOrResume -> voiceBroadcastHelper.playOrResumePlayback(action.voiceBroadcast)
|
||||||
VoiceBroadcastAction.Listening.Pause -> voiceBroadcastHelper.pausePlayback()
|
VoiceBroadcastAction.Listening.Pause -> voiceBroadcastHelper.pausePlayback()
|
||||||
VoiceBroadcastAction.Listening.Stop -> voiceBroadcastHelper.stopPlayback()
|
VoiceBroadcastAction.Listening.Stop -> voiceBroadcastHelper.stopPlayback()
|
||||||
|
|
Loading…
Reference in a new issue