Add feature flag for ADM2 on Windows
Co-authored-by: Evan Hahn <69474926+EvanHahn-Signal@users.noreply.github.com>
This commit is contained in:
parent
04c3409e5f
commit
0a8c6719e7
|
@ -8,6 +8,7 @@ import * as log from './logging/log';
|
||||||
|
|
||||||
export type ConfigKeyType =
|
export type ConfigKeyType =
|
||||||
| 'desktop.announcementGroup'
|
| 'desktop.announcementGroup'
|
||||||
|
| 'desktop.calling.useWindowsAdm2'
|
||||||
| 'desktop.clientExpiration'
|
| 'desktop.clientExpiration'
|
||||||
| 'desktop.disableGV1'
|
| 'desktop.disableGV1'
|
||||||
| 'desktop.groupCallOutboundRing'
|
| 'desktop.groupCallOutboundRing'
|
||||||
|
|
|
@ -2,6 +2,9 @@
|
||||||
// SPDX-License-Identifier: AGPL-3.0-only
|
// SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
|
||||||
import { makeEnumParser } from '../util/enum';
|
import { makeEnumParser } from '../util/enum';
|
||||||
|
import { isEnabled } from '../RemoteConfig';
|
||||||
|
import { isAlpha, isBeta } from '../util/version';
|
||||||
|
import * as OS from '../OS';
|
||||||
|
|
||||||
export enum AudioDeviceModule {
|
export enum AudioDeviceModule {
|
||||||
Default = 'Default',
|
Default = 'Default',
|
||||||
|
@ -12,3 +15,20 @@ export const parseAudioDeviceModule = makeEnumParser(
|
||||||
AudioDeviceModule,
|
AudioDeviceModule,
|
||||||
AudioDeviceModule.Default
|
AudioDeviceModule.Default
|
||||||
);
|
);
|
||||||
|
|
||||||
|
export function getAudioDeviceModule(): AudioDeviceModule {
|
||||||
|
if (!OS.isWindows()) {
|
||||||
|
return AudioDeviceModule.Default;
|
||||||
|
}
|
||||||
|
|
||||||
|
const appVersion = window.getVersion();
|
||||||
|
if (
|
||||||
|
isEnabled('desktop.calling.useWindowsAdm2') ||
|
||||||
|
isBeta(appVersion) ||
|
||||||
|
isAlpha(appVersion)
|
||||||
|
) {
|
||||||
|
return AudioDeviceModule.WindowsAdm2;
|
||||||
|
}
|
||||||
|
|
||||||
|
return AudioDeviceModule.Default;
|
||||||
|
}
|
||||||
|
|
|
@ -59,6 +59,7 @@ import {
|
||||||
} from '../types/Calling';
|
} from '../types/Calling';
|
||||||
import {
|
import {
|
||||||
AudioDeviceModule,
|
AudioDeviceModule,
|
||||||
|
getAudioDeviceModule,
|
||||||
parseAudioDeviceModule,
|
parseAudioDeviceModule,
|
||||||
} from '../calling/audioDeviceModule';
|
} from '../calling/audioDeviceModule';
|
||||||
import {
|
import {
|
||||||
|
@ -67,7 +68,6 @@ import {
|
||||||
} from '../calling/findBestMatchingDevice';
|
} from '../calling/findBestMatchingDevice';
|
||||||
import type { LocalizerType } from '../types/Util';
|
import type { LocalizerType } from '../types/Util';
|
||||||
import { UUID } from '../types/UUID';
|
import { UUID } from '../types/UUID';
|
||||||
import * as OS from '../OS';
|
|
||||||
import type { ConversationModel } from '../models/conversations';
|
import type { ConversationModel } from '../models/conversations';
|
||||||
import * as Bytes from '../Bytes';
|
import * as Bytes from '../Bytes';
|
||||||
import { uuidToBytes, bytesToUuid } from '../Crypto';
|
import { uuidToBytes, bytesToUuid } from '../Crypto';
|
||||||
|
@ -76,7 +76,6 @@ import { getOwn } from '../util/getOwn';
|
||||||
import { isNormalNumber } from '../util/isNormalNumber';
|
import { isNormalNumber } from '../util/isNormalNumber';
|
||||||
import * as durations from '../util/durations';
|
import * as durations from '../util/durations';
|
||||||
import { handleMessageSend } from '../util/handleMessageSend';
|
import { handleMessageSend } from '../util/handleMessageSend';
|
||||||
import { isAlpha, isBeta } from '../util/version';
|
|
||||||
import {
|
import {
|
||||||
fetchMembershipProof,
|
fetchMembershipProof,
|
||||||
getMembershipList,
|
getMembershipList,
|
||||||
|
@ -259,11 +258,7 @@ export class CallingClass {
|
||||||
this.previousAudioDeviceModule = parseAudioDeviceModule(
|
this.previousAudioDeviceModule = parseAudioDeviceModule(
|
||||||
window.storage.get('previousAudioDeviceModule')
|
window.storage.get('previousAudioDeviceModule')
|
||||||
);
|
);
|
||||||
this.currentAudioDeviceModule =
|
this.currentAudioDeviceModule = getAudioDeviceModule();
|
||||||
OS.isWindows() &&
|
|
||||||
(isAlpha(window.getVersion()) || isBeta(window.getVersion()))
|
|
||||||
? AudioDeviceModule.WindowsAdm2
|
|
||||||
: AudioDeviceModule.Default;
|
|
||||||
window.storage.put(
|
window.storage.put(
|
||||||
'previousAudioDeviceModule',
|
'previousAudioDeviceModule',
|
||||||
this.currentAudioDeviceModule
|
this.currentAudioDeviceModule
|
||||||
|
|
Loading…
Reference in New Issue