ChatterBox.Client.Presentation.Shared.ViewModels.ContactsViewModel.OnVoipStateUpdate C# (CSharp) Method

OnVoipStateUpdate() private method

private OnVoipStateUpdate ( VoipState voipState ) : void
voipState VoipState
return void
        private void OnVoipStateUpdate(VoipState voipState)
        {
            RunOnUiThread(async () =>
            {
                _currentVoipState = voipState.State;

                switch (voipState.State)
                {
                    case VoipStateEnum.LocalRinging:
                        await PlaySound(true);
                        ShowAsParallel = false;
                        UpdateSelection();
                        break;
                    case VoipStateEnum.RemoteRinging:
                        await PlaySound(false);
                        ShowAsParallel = false;
                        UpdateSelection();
                        break;
                    case VoipStateEnum.Idle:
                        await StopSound();
                        ShowAsParallel = LayoutService.Instance.LayoutType == LayoutType.Parallel;
                        UpdateSelection();
                        break;
                    case VoipStateEnum.EstablishOutgoing:
                    case VoipStateEnum.EstablishIncoming:
                        await StopSound();
                        break;
                    case VoipStateEnum.HangingUp:
                    case VoipStateEnum.ActiveCall:
                        break;
                    default:
                        throw new ArgumentOutOfRangeException();
                }
            });
        }