Beispiel #1
0
        private void OnEventReceived(EventDispatcher.Event e, object?arg)
        {
            Dispatcher.UIThread.Post(async() =>
            {
                switch (e)
                {
                case EventDispatcher.Event.EqualizerToggle:
                    await MessageComposer.SetEqualizer(!_eqSwitch.IsChecked, (EqPreset)_presetSlider.Value, false);
                    _eqSwitch.Toggle();
                    break;

                case EventDispatcher.Event.EqualizerNextPreset:
                    _eqSwitch.IsChecked = true;
                    var newVal          = _presetSlider.Value + 1;
                    if (newVal >= 5)
                    {
                        newVal = 0;
                    }

                    _presetSlider.Value = newVal;
                    await MessageComposer.SetEqualizer(_eqSwitch.IsChecked, (EqPreset)_presetSlider.Value, false);
                    break;
                }
            });
        }
Beispiel #2
0
        private async void OnEventReceived(EventDispatcher.Event e, object?arg)
        {
            switch (e)
            {
            case EventDispatcher.Event.PairingMode:
                await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.UNK_PAIRING_MODE);

                break;

            case EventDispatcher.Event.ToggleManagerVisibility:
                if (!IsVisible)
                {
                    BringToFront();
                }
                else
                {
                    Hide();
                }
                break;

            case EventDispatcher.Event.Connect:
                if (!BluetoothImpl.Instance.IsConnected)
                {
                    await BluetoothImpl.Instance.ConnectAsync();
                }
                break;

            case EventDispatcher.Event.ShowBatteryPopup:
                ShowPopup(ignoreRestrictions: true);
                break;
            }
        }
Beispiel #3
0
        private void OnEventReceived(EventDispatcher.Event e, object?arg)
        {
            if (!BluetoothImpl.Instance.DeviceSpec.Supports(IDeviceSpec.Feature.AmbientSound))
            {
                return;
            }

            Avalonia.Threading.Dispatcher.UIThread.Post(async() =>
            {
                switch (e)
                {
                case EventDispatcher.Event.AmbientToggle:
                    await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.SET_AMBIENT_MODE,
                                                                  !_ambientSwitch.IsChecked);
                    _ambientSwitch.Toggle();
                    break;

                case EventDispatcher.Event.AmbientVolumeUp:
                    _ambientSwitch.IsChecked = true;
                    if (_volumeSlider.Value != _volumeSlider.Maximum)
                    {
                        _volumeSlider.Value += 1;
                    }

                    await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.SET_AMBIENT_MODE,
                                                                  true);
                    await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.AMBIENT_VOLUME,
                                                                  (byte)_volumeSlider.Value);
                    break;

                case EventDispatcher.Event.AmbientVolumeDown:
                    if (_volumeSlider.Value <= 0)
                    {
                        _ambientSwitch.IsChecked = false;
                        await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.SET_AMBIENT_MODE,
                                                                      false);
                    }
                    else
                    {
                        _ambientSwitch.IsChecked = true;
                        _volumeSlider.Value     -= 1;

                        await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.SET_AMBIENT_MODE,
                                                                      true);
                        await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.AMBIENT_VOLUME,
                                                                      (byte)_volumeSlider.Value);
                    }

                    break;
                }
            });
        }
Beispiel #4
0
        private async void OnEventReceived(EventDispatcher.Event e, object?arg)
        {
            if (!BluetoothImpl.Instance.DeviceSpec.Supports(IDeviceSpec.Feature.Anc))
            {
                return;
            }

            switch (e)
            {
            case EventDispatcher.Event.AncToggle:
                await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.SET_NOISE_REDUCTION, !_ancSwitch.IsChecked);

                Dispatcher.UIThread.Post(_ancSwitch.Toggle);
                break;
            }
        }
Beispiel #5
0
        private async void OnEventReceived(EventDispatcher.Event e, object?arg)
        {
            switch (e)
            {
            case EventDispatcher.Event.LockTouchpadToggle:
                _lock.Toggle();
                await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.LOCK_TOUCHPAD, _lock.IsChecked);

                break;

            case EventDispatcher.Event.ToggleDoubleEdgeTouch:
                _edgeTouch.Toggle();
                await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.OUTSIDE_DOUBLE_TAP, _edgeTouch.IsChecked);

                break;
            }
        }
Beispiel #6
0
        private static void OnEventReceived(EventDispatcher.Event e, object?arg)
        {
            switch (e)
            {
            case EventDispatcher.Event.Play:
                Instance.Play();
                break;

            case EventDispatcher.Event.Pause:
                Instance.Play();
                break;

            case EventDispatcher.Event.TogglePlayPause:
                Instance.PlayPause();
                break;
            }
        }
        private void OnEventReceived(EventDispatcher.Event e, object?arg)
        {
            if (!BluetoothImpl.Instance.DeviceSpec.Supports(IDeviceSpec.Feature.NoiseControl))
            {
                return;
            }

            Avalonia.Threading.Dispatcher.UIThread.Post(async() =>
            {
                switch (e)
                {
                case EventDispatcher.Event.ToggleConversationDetect:
                    _voiceDetect.Toggle();
                    await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.SET_DETECT_CONVERSATIONS, _voiceDetect.IsChecked);
                    break;

                case EventDispatcher.Event.AncToggle:
                    _ancSwitch.Toggle();
                    AncToggle_OnToggled(this, _ancSwitch.IsChecked);
                    break;

                case EventDispatcher.Event.SwitchAncSensitivity:
                    _ancLevel.Toggle();
                    await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.NOISE_REDUCTION_LEVEL, _ancLevel.IsChecked);
                    break;

                case EventDispatcher.Event.AmbientToggle:
                    _ambientSwitch.Toggle();
                    AmbientToggle_OnToggled(this, _ambientSwitch.IsChecked);
                    break;

                case EventDispatcher.Event.SetNoiseControlState:
                    if (arg == null)
                    {
                        break;
                    }

                    SetNoiseControlState((NoiseControlMode)arg);
                    break;
                }
            });
        }
Beispiel #8
0
        private void OnEventReceived(EventDispatcher.Event @event, object?arg)
        {
            switch (@event)
            {
            case EventDispatcher.Event.StartFind:
                _scanButton.IsSearching = true;
                ScanButton_OnScanningStatusChanged(this, true);
                break;

            case EventDispatcher.Event.StopFind:
                _scanButton.IsSearching = false;
                ScanButton_OnScanningStatusChanged(this, false);
                break;

            case EventDispatcher.Event.StartStopFind:
                _scanButton.IsSearching = !_scanButton.IsSearching;
                ScanButton_OnScanningStatusChanged(this, _scanButton.IsSearching);
                break;
            }
        }
        private void OnEventReceived(EventDispatcher.Event e, object?arg)
        {
            if (!BluetoothImpl.Instance.DeviceSpec.Supports(IDeviceSpec.Feature.NoiseControl))
            {
                return;
            }

            Avalonia.Threading.Dispatcher.UIThread.Post(async() =>
            {
                switch (e)
                {
                case EventDispatcher.Event.AmbientVolumeUp:
                    EventDispatcher.Instance.Dispatch(EventDispatcher.Event.SetNoiseControlState,
                                                      NoiseControlMode.AmbientSound);
                    await MessageComposer.NoiseControl.SetMode(NoiseControlMode.AmbientSound);

                    if (_ambientCustomize.IsChecked)
                    {
                        if (_ambientVolLeft.Value != _ambientVolLeft.Maximum)
                        {
                            _ambientVolLeft.Value += 1;
                        }
                        if (_ambientVolRight.Value != _ambientVolRight.Maximum)
                        {
                            _ambientVolRight.Value += 1;
                        }

                        SendAmbientCustomizeState();
                    }
                    else
                    {
                        if (_volumeSlider.Value != _volumeSlider.Maximum)
                        {
                            _volumeSlider.Value += 1;
                        }

                        await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.AMBIENT_VOLUME,
                                                                      (byte)_volumeSlider.Value);
                    }

                    break;

                case EventDispatcher.Event.AmbientVolumeDown:
                    if (_ambientCustomize.IsChecked)
                    {
                        if (_ambientVolLeft.Value <= 0 && _ambientVolRight.Value <= 0)
                        {
                            EventDispatcher.Instance.Dispatch(EventDispatcher.Event.SetNoiseControlState,
                                                              NoiseControlMode.Off);
                            await MessageComposer.NoiseControl.SetMode(NoiseControlMode.Off);
                        }
                        else
                        {
                            await MessageComposer.NoiseControl.SetMode(NoiseControlMode.AmbientSound);
                            EventDispatcher.Instance.Dispatch(EventDispatcher.Event.SetNoiseControlState,
                                                              NoiseControlMode.AmbientSound);
                            if (_ambientVolLeft.Value != _ambientVolLeft.Minimum)
                            {
                                _ambientVolLeft.Value -= 1;
                            }
                            if (_ambientVolRight.Value != _ambientVolRight.Minimum)
                            {
                                _ambientVolRight.Value -= 1;
                            }

                            SendAmbientCustomizeState();
                        }
                    }
                    else
                    {
                        if (_volumeSlider.Value <= 0)
                        {
                            EventDispatcher.Instance.Dispatch(EventDispatcher.Event.SetNoiseControlState,
                                                              NoiseControlMode.Off);
                            await MessageComposer.NoiseControl.SetMode(NoiseControlMode.Off);
                        }
                        else
                        {
                            await MessageComposer.NoiseControl.SetMode(NoiseControlMode.AmbientSound);
                            EventDispatcher.Instance.Dispatch(EventDispatcher.Event.SetNoiseControlState,
                                                              NoiseControlMode.AmbientSound);
                            _volumeSlider.Value -= 1;

                            await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.AMBIENT_VOLUME,
                                                                          (byte)_volumeSlider.Value);
                        }
                    }

                    break;
                }
            });
        }
Beispiel #10
0
 public Hotkey(IEnumerable <ModifierKeys> modifier, IEnumerable <Keys> keys, EventDispatcher.Event action)
 {
     Action   = action;
     Modifier = modifier;
     Keys     = keys;
 }
Beispiel #11
0
 public ActionViewHolder(EventDispatcher.Event value)
 {
     Value = value;
 }
Beispiel #12
0
 public CustomAction(EventDispatcher.Event @event)
 {
     Action    = Actions.Event;
     Parameter = @event.ToString();
 }
Beispiel #13
0
        private void OnEventReceived(EventDispatcher.Event e, object?arg)
        {
            if (!BluetoothImpl.Instance.DeviceSpec.Supports(IDeviceSpec.Feature.NoiseControl))
            {
                return;
            }

            Avalonia.Threading.Dispatcher.UIThread.Post(async() =>
            {
                switch (e)
                {
                case EventDispatcher.Event.ToggleConversationDetect:
                    _voiceDetect.Toggle();
                    await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.SET_DETECT_CONVERSATIONS, _voiceDetect.IsChecked);
                    break;

                case EventDispatcher.Event.AncToggle:
                    _ancSwitch.Toggle();
                    AncToggle_OnToggled(this, _ancSwitch.IsChecked);
                    break;

                case EventDispatcher.Event.SwitchAncSensitivity:
                    _ancLevel.Toggle();
                    await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.NOISE_REDUCTION_LEVEL, _ancLevel.IsChecked);
                    break;

                case EventDispatcher.Event.AmbientToggle:
                    _ambientSwitch.Toggle();
                    AmbientToggle_OnToggled(this, _ambientSwitch.IsChecked);
                    break;

                case EventDispatcher.Event.AmbientVolumeUp:
                    _ancSwitch.IsChecked     = false;
                    _ambientSwitch.IsChecked = true;
                    await MessageComposer.NoiseControl.SetMode(NoiseControlMode.AmbientSound);

                    if (_volumeSlider.Value != _volumeSlider.Maximum)
                    {
                        _volumeSlider.Value += 1;
                    }

                    await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.AMBIENT_VOLUME,
                                                                  (byte)_volumeSlider.Value);
                    break;

                case EventDispatcher.Event.AmbientVolumeDown:
                    _ancSwitch.IsChecked = false;

                    if (_volumeSlider.Value <= 0)
                    {
                        _ambientSwitch.IsChecked = false;
                        await MessageComposer.NoiseControl.SetMode(NoiseControlMode.Off);
                    }
                    else
                    {
                        await MessageComposer.NoiseControl.SetMode(NoiseControlMode.AmbientSound);
                        _ambientSwitch.IsChecked = true;
                        _volumeSlider.Value     -= 1;

                        await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.AMBIENT_VOLUME,
                                                                      (byte)_volumeSlider.Value);
                    }

                    break;
                }
            });
        }