public async void ProcessBasicUpdate(IBasicStatusUpdate parser) { if (parser.BatteryCase > 100) { parser.BatteryCase = DeviceMessageCache.Instance.BasicStatusUpdateWithValidCase?.BatteryCase ?? parser.BatteryCase; } _batteryCase.Content = BluetoothImpl.Instance.DeviceSpec.Supports(IDeviceSpec.Feature.CaseBattery) && parser.BatteryCase <= 100 ? $"{parser.BatteryCase}%" : string.Empty; _caseLabel.IsVisible = BluetoothImpl.Instance.DeviceSpec.Supports(IDeviceSpec.Feature.CaseBattery) && parser.BatteryCase <= 100; if (BluetoothImpl.Instance.ActiveModel != Models.Buds) { UpdatePlusPlacement(parser.PlacementL, parser.PlacementR); _lastPlacementL = parser.PlacementL; _lastPlacementR = parser.PlacementR; } if (parser is ExtendedStatusUpdateParser p && BluetoothImpl.Instance.DeviceSpec.Supports(IDeviceSpec.Feature.Anc)) { _ancSwitch.SetChecked(p.NoiseCancelling); } /* Update if disconnected */ if ((_lastLeftOnline && parser.BatteryL <= 0) || (_lastRightOnline && parser.BatteryR <= 0)) { UpdateConnectionState(parser.BatteryL > 0, parser.BatteryR > 0); } await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.DEBUG_GET_ALL_DATA); }
public void UpdateDashboard(IBasicStatusUpdate ext) { UpdateBatteryIcons(ext.BatteryL, Devices.L); UpdateBatteryIcons(ext.BatteryR, Devices.R); UpdateIcons(ext.BatteryL, ext.BatteryR); EarbudWarning(ext.WearState == WearStates.L || ext.WearState == WearStates.Both, ext.WearState == WearStates.R || ext.WearState == WearStates.Both); }
private void InstanceOnBaseUpdate(object?sender, IBasicStatusUpdate e) { UpdateContent(e.BatteryL, e.BatteryR, e.BatteryCase); }