< Summary

Class:DCL.Services.WebBrowserAudioDevicesService
Assembly:AudioDevicesService
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLServices/AudioDevicesService/WebBrowserAudioDevicesService.cs
Covered lines:4
Uncovered lines:9
Coverable lines:13
Total lines:36
Line coverage:30.7% (4 of 13)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
WebBrowserAudioDevicesService(...)0%110100%
Initialize()0%110100%
Dispose()0%110100%
CacheAudioDevices(...)0%6200%
RequestAudioDevices()0%2100%
SetInputDevice(...)0%12300%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLServices/AudioDevicesService/WebBrowserAudioDevicesService.cs

#LineLine coverage
 1using System;
 2using DCL.Interface;
 3
 4namespace DCL.Services
 5{
 6    public class WebBrowserAudioDevicesService : IAudioDevicesService
 7    {
 8        private readonly IAudioDevicesBridge bridge;
 9
 98610        public WebBrowserAudioDevicesService (IAudioDevicesBridge bridge) => this.bridge = bridge;
 11        public event Action AudioDeviceCached;
 12
 113        public bool HasReceivedKernelMessage { get; private set; }
 014        public AudioDevice[] InputDevices { get; private set; }
 15
 49316        public void Initialize() => bridge.OnAudioDevicesRecieved += CacheAudioDevices;
 49317        public void Dispose() => bridge.OnAudioDevicesRecieved -= CacheAudioDevices;
 18
 19        private void CacheAudioDevices(AudioDevicesResponse devices)
 20        {
 021            HasReceivedKernelMessage = true;
 22
 023            InputDevices = devices.inputDevices;
 24
 025            AudioDeviceCached?.Invoke();
 026        }
 27
 028        public void RequestAudioDevices() => bridge.RequestAudioDevices();
 29
 30        public void SetInputDevice(int deviceId)
 31        {
 032            if (HasReceivedKernelMessage && deviceId <= InputDevices.Length)
 033                WebInterface.SetInputAudioDevice(InputDevices[deviceId].deviceId);
 034        }
 35    }
 36}