Skip to content

Commit 88ddf05

Browse files
committed
DRY
Signed-off-by: Michael Telatynski <[email protected]>
1 parent 5a1b38c commit 88ddf05

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

src/vector/jitsi/index.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,14 @@ let widgetApi: WidgetApi | undefined;
102102
let meetApi: _JitsiMeetExternalAPI | undefined;
103103
let skipOurWelcomeScreen = false;
104104

105+
async function checkAudioVideoEnabled(): Promise<[audioEnabled: boolean, videoEnabled: boolean]> {
106+
if (!meetApi) return [false, false];
107+
const [audioEnabled, videoEnabled] = (await Promise.all([meetApi.isAudioMuted(), meetApi.isVideoMuted()])).map(
108+
(muted) => !muted,
109+
);
110+
return [audioEnabled, videoEnabled];
111+
}
112+
105113
const setupCompleted = (async (): Promise<string | void> => {
106114
try {
107115
// Queue a config.json lookup asap, so we can use it later on. We want this to be concurrent with
@@ -195,9 +203,7 @@ const setupCompleted = (async (): Promise<string | void> => {
195203
handleAction(ElementWidgetActions.DeviceMute, async (params) => {
196204
if (!meetApi) return;
197205

198-
const [audioEnabled, videoEnabled] = (
199-
await Promise.all([meetApi.isAudioMuted(), meetApi.isVideoMuted()])
200-
).map((muted) => !muted);
206+
const [audioEnabled, videoEnabled] = await checkAudioVideoEnabled();
201207

202208
if (Object.keys(params).length === 0) {
203209
// Handle query
@@ -526,9 +532,10 @@ const onErrorOccurred = ({ error }: Parameters<ExternalAPIEventCallbacks["errorO
526532

527533
const onMuteStatusChanged = async (): Promise<void> => {
528534
if (!meetApi) return;
535+
const [audioEnabled, videoEnabled] = await checkAudioVideoEnabled();
529536
void widgetApi?.transport.send(ElementWidgetActions.DeviceMute, {
530-
audio_enabled: !(await meetApi.isAudioMuted()),
531-
video_enabled: !(await meetApi.isVideoMuted()),
537+
audio_enabled: audioEnabled,
538+
video_enabled: videoEnabled,
532539
});
533540
};
534541

0 commit comments

Comments
 (0)