Change summary
crates/call/src/call.rs | 15 ---------------
crates/collab_ui/src/collab_ui.rs | 20 +++++++++++++++++---
2 files changed, 17 insertions(+), 18 deletions(-)
Detailed changes
@@ -284,21 +284,6 @@ impl ActiveCall {
}
}
- pub fn toggle_screen_sharing(&self, cx: &mut AppContext) {
- if let Some(room) = self.room().cloned() {
- let toggle_screen_sharing = room.update(cx, |room, cx| {
- if room.is_screen_sharing() {
- self.report_call_event("disable screen share", cx);
- Task::ready(room.unshare_screen(cx))
- } else {
- self.report_call_event("enable screen share", cx);
- room.share_screen(cx)
- }
- });
- toggle_screen_sharing.detach_and_log_err(cx);
- }
- }
-
pub fn share_project(
&mut self,
project: ModelHandle<Project>,
@@ -64,10 +64,24 @@ pub fn toggle_screen_sharing(_: &ToggleScreenSharing, cx: &mut AppContext) {
}
pub fn toggle_mute(_: &ToggleMute, cx: &mut AppContext) {
+ let call = ActiveCall::global(cx).read(cx);
if let Some(room) = ActiveCall::global(cx).read(cx).room().cloned() {
- room.update(cx, Room::toggle_mute)
- .map(|task| task.detach_and_log_err(cx))
- .log_err();
+ let client = call.client();
+ room.update(cx, |room, cx| {
+ if room.is_muted() {
+ ActiveCall::report_call_event_for_room("enable microphone", room.id(), &client, cx);
+ } else {
+ ActiveCall::report_call_event_for_room(
+ "disable microphone",
+ room.id(),
+ &client,
+ cx,
+ );
+ }
+ room.toggle_mute(cx)
+ })
+ .map(|task| task.detach_and_log_err(cx))
+ .log_err();
}
}