/* * Events */ private void InstanceOnStatusUpdate(object sender, StatusUpdateParser e) { GenerateTrayContext(e.BatteryL, e.BatteryR, e.BatteryCase); if (_previousWearState == WearStates.None && e.WearState != WearStates.None && Settings.Default.ResumePlaybackOnSensor) { if (!AudioPlaybackDetection.IsWindowsPlayingSound()) { try { new InputSimulator().Keyboard.KeyPress(VirtualKeyCode.MEDIA_PLAY_PAUSE); } catch (Exception ex) { Sentry.SentrySdk.AddBreadcrumb(ex.Message, "inputsimulator", level: Sentry.Protocol.BreadcrumbLevel.Warning); } Console.WriteLine(@"[ResumePlaybackOnSensor] All criteria are met; emitting play/pause keypress"); } else { Console.WriteLine(@"[ResumePlaybackOnSensor] Windows appears to playback sound; do not emit a play/pause keypress"); } } _previousWearState = e.WearState; }
public void UpdateDashboard(BaseMessageParser parser) { if (parser.GetType() == typeof(ExtendedStatusUpdateParser)) { if (_allowGetAllResponse) { BluetoothService.Instance.SendAsync(SPPMessageBuilder.Info.GetAllData()); } Dispatcher.Invoke(() => { if (BluetoothService.Instance.ActiveModel == Model.BudsPlus || BluetoothService.Instance.ActiveModel == Model.BudsLive) { ExtendedStatusUpdateParser p = (ExtendedStatusUpdateParser)parser; UpdatePlusPlacement(p.PlacementL, p.PlacementR); _lastPlacementL = p.PlacementL; _lastPlacementR = p.PlacementR; BatteryCase.Content = BluetoothService.Instance.ActiveModel == Model.Buds ? "" : $"{p.BatteryCase}%"; CaseLabel.Visibility = BluetoothService.Instance.ActiveModel == Model.Buds ? Visibility.Hidden : Visibility.Visible; } if (BluetoothService.Instance.ActiveModel == Model.BudsLive) { ExtendedStatusUpdateParser p = (ExtendedStatusUpdateParser)parser; AncToggle.SetChecked(p.NoiceCancelling); } }); } else if (parser.GetType() == typeof(StatusUpdateParser)) { if (_allowGetAllResponse) { BluetoothService.Instance.SendAsync(SPPMessageBuilder.Info.GetAllData()); } Dispatcher.Invoke(() => { if (BluetoothService.Instance.ActiveModel == Model.BudsPlus || BluetoothService.Instance.ActiveModel == Model.BudsLive) { StatusUpdateParser p = (StatusUpdateParser)parser; UpdatePlusPlacement(p.PlacementL, p.PlacementR); _lastPlacementL = p.PlacementL; _lastPlacementR = p.PlacementR; BatteryCase.Content = BluetoothService.Instance.ActiveModel == Model.Buds ? "" : $"{p.BatteryCase}%"; CaseLabel.Visibility = BluetoothService.Instance.ActiveModel == Model.Buds ? Visibility.Hidden : Visibility.Visible; } }); } else if (parser.GetType() == typeof(DebugGetAllDataParser)) { var p = (DebugGetAllDataParser)parser; UpdateBatteryPercentage((int)Math.Round(p.LeftAdcSOC), Side.L); UpdateBatteryPercentage((int)Math.Round(p.RightAdcSOC), Side.R); Dispatcher.Invoke(() => { UpdateDetails(p); }); } }
private void OnStatusUpdate(object?sender, StatusUpdateParser e) { if (_lastWearState == WearStates.None && e.WearState != WearStates.None && SettingsProvider.Instance.ResumePlaybackOnSensor) { MediaKeyRemoteImpl.Instance.Play(); } _lastWearState = e.WearState; }
public void UpdateDashboard(BaseMessageParser parser) { if (parser.GetType() == typeof(ExtendedStatusUpdateParser)) { if (_allowGetAllResponse) { BluetoothService.Instance.SendAsync(SPPMessageBuilder.Info.GetAllData()); } Dispatcher.Invoke(() => { if (BluetoothService.Instance.ActiveModel == Model.BudsPlus) { ExtendedStatusUpdateParser p = (ExtendedStatusUpdateParser)parser; BatteryTemperatureLeft.Content = p.PlacementL.ToString(); BatteryTemperatureRight.Content = p.PlacementR.ToString(); BatteryCase.Content = p.BatteryCase <= 0 ? "" : $"{p.BatteryCase}%"; CaseLabel.Visibility = p.BatteryCase <= 0 ? Visibility.Hidden : Visibility.Visible; } }); } else if (parser.GetType() == typeof(StatusUpdateParser)) { if (_allowGetAllResponse) { BluetoothService.Instance.SendAsync(SPPMessageBuilder.Info.GetAllData()); } Dispatcher.Invoke(() => { if (BluetoothService.Instance.ActiveModel == Model.BudsPlus) { StatusUpdateParser p = (StatusUpdateParser)parser; BatteryTemperatureLeft.Content = p.PlacementL.ToString(); BatteryTemperatureRight.Content = p.PlacementR.ToString(); BatteryCase.Content = p.BatteryCase <= 0 ? "" : $"{p.BatteryCase}%"; CaseLabel.Visibility = p.BatteryCase <= 0 ? Visibility.Hidden : Visibility.Visible; } }); } else if (parser.GetType() == typeof(DebugGetAllDataParser)) { var p = (DebugGetAllDataParser)parser; UpdateBatteryPercentage((int)Math.Round(p.LeftAdcSOC), Side.L); UpdateBatteryPercentage((int)Math.Round(p.RightAdcSOC), Side.R); Dispatcher.Invoke(() => { UpdateDetails(p); }); } }
/* * Events */ private void InstanceOnStatusUpdate(object sender, StatusUpdateParser e) { GenerateTrayContext(e.BatteryL, e.BatteryR, e.BatteryCase); if (_previousWearState == WearStates.None && e.WearState != WearStates.None && Settings.Default.ResumePlaybackOnSensor) { if (!AudioPlaybackDetection.IsWindowsPlayingSound()) { new InputSimulator().Keyboard.KeyPress(VirtualKeyCode.MEDIA_PLAY_PAUSE); Console.WriteLine(@"[ResumePlaybackOnSensor] All criteria are met; emitting play/pause keypress"); } else { Console.WriteLine(@"[ResumePlaybackOnSensor] Windows appears to playback sound; do not emit a play/pause keypress"); } } _previousWearState = e.WearState; }
private void InstanceOnStatusUpdate(object sender, StatusUpdateParser e) { UpdateDashboard(e); }