Fix microphone permission checking for audio recording

See [#5580][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5580
This commit is contained in:
David Sanders 2021-10-27 11:16:09 -05:00 committed by Evan Hahn
parent 1dc353f089
commit 79b3b6408e
8 changed files with 69 additions and 43 deletions

View file

@ -92,6 +92,7 @@ import {
} from '../calling/constants';
import { callingMessageToProto } from '../util/callingMessageToProto';
import { getSendOptions } from '../util/getSendOptions';
import { requestMicrophonePermissions } from '../util/requestMicrophonePermissions';
import { SignalService as Proto } from '../protobuf';
import dataInterface from '../sql/Client';
import {
@ -1510,20 +1511,8 @@ export class CallingClass {
return true;
}
private async requestMicrophonePermissions(): Promise<boolean> {
const microphonePermission = await window.getMediaPermissions();
if (!microphonePermission) {
await window.showCallingPermissionsPopup(false);
// Check the setting again (from the source of truth).
return window.getMediaPermissions();
}
return true;
}
private async requestPermissions(isVideoCall: boolean): Promise<boolean> {
const microphonePermission = await this.requestMicrophonePermissions();
const microphonePermission = await requestMicrophonePermissions();
if (microphonePermission) {
if (isVideoCall) {
return this.requestCameraPermissions();