public async Task<bool> Start(bool forceFreshClient = false) { var tilePresent = false; var bandClient = await GetBandClient(forceFreshClient); if (bandClient != null) { var currentTiles = await bandClient.TileManager.GetTilesAsync(); var temperatureTile = currentTiles.FirstOrDefault(p => p.TileId == BandUiDefinitions.TileId); if (temperatureTile == null) { var buc = new BandUiController(bandClient); tilePresent = await buc.BuildTile(); } else { tilePresent = true; } if (tilePresent) { await bandClient.TileManager.StartReadingsAsync(); bandClient.TileManager.TileOpened += TileManager_TileOpened; bandClient.TileManager.TileButtonPressed += TileManager_TileButtonPressed; } } IsRunning = tilePresent; return tilePresent; }
public async Task RemoveTile() { await Stop(); var bandClient = await GetBandClient(); if (bandClient != null) { var buc = new BandUiController(_bandClient); await buc.RemoveTile(); } }
private async void TileManager_TileOpened(object sender, BandTileEventArgs<IBandTileOpenedEvent> e) { var bandClient = await GetBandClient(); if (bandClient != null) { if (e.TileEvent.TileId == BandUiDefinitions.TileId && _lastTemperatureData != null) { var buc = new BandUiController(bandClient); await buc.SetUiValues( _lastTemperatureData.Timestamp.ToLocalTime().ToString("HH:mm:ss"), _lastTemperatureData.Timestamp.ToLocalTime().ToString("dd-MM-yyyy"), $"{_lastTemperatureData.Temperature}°C", GetFanStatusText()); await bandClient.NotificationManager.VibrateAsync(VibrationType.NotificationOneTone); } } }
private async Task UpdateFirstPageStatus() { var bandClient = await GetBandClient(); if (bandClient != null) { var text = GetFanStatusText(); var buc = new BandUiController(bandClient); await buc.SetUiValues($"{_lastTemperatureData.Temperature}°C", text); } }