mirror of
https://github.com/vector-im/element-android.git
synced 2024-11-16 02:05:06 +08: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
@ -419,6 +419,7 @@
|
||||
<string name="action_got_it">Got it</string>
|
||||
<string name="action_select_all">Select 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>
|
||||
|
||||
@ -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>
|
||||
<!-- 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="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_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 Resume : Recording()
|
||||
object Stop : Recording()
|
||||
object StopConfirmed : Recording()
|
||||
}
|
||||
|
||||
sealed class Listening : VoiceBroadcastAction() {
|
||||
|
@ -71,6 +71,8 @@ sealed class RoomDetailViewEvents : VectorViewEvents {
|
||||
|
||||
object DisplayEnableIntegrationsWarning : RoomDetailViewEvents()
|
||||
|
||||
object DisplayPromptToStopVoiceBroadcast : RoomDetailViewEvents()
|
||||
|
||||
data class OpenStickerPicker(val widget: Widget) : RoomDetailViewEvents()
|
||||
|
||||
object OpenIntegrationManager : RoomDetailViewEvents()
|
||||
|
@ -413,6 +413,7 @@ class TimelineFragment :
|
||||
is RoomDetailViewEvents.DisplayAndAcceptCall -> acceptIncomingCall(it)
|
||||
RoomDetailViewEvents.RoomReplacementStarted -> handleRoomReplacement()
|
||||
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() {
|
||||
callManager.getCurrentCall()?.let { call ->
|
||||
VectorCallActivity.newIntent(
|
||||
|
@ -633,7 +633,8 @@ class TimelineViewModel @AssistedInject constructor(
|
||||
}
|
||||
VoiceBroadcastAction.Recording.Pause -> voiceBroadcastHelper.pauseVoiceBroadcast(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)
|
||||
VoiceBroadcastAction.Listening.Pause -> voiceBroadcastHelper.pausePlayback()
|
||||
VoiceBroadcastAction.Listening.Stop -> voiceBroadcastHelper.stopPlayback()
|
||||
|
Loading…
Reference in New Issue
Block a user