コード例 #1
0
    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;
    }
コード例 #2
0
 public async Task RemoveTile()
 {
   await Stop();
   var bandClient = await GetBandClient();
   if (bandClient != null)
   {
     var buc = new BandUiController(_bandClient);
     await buc.RemoveTile();
   }
 }
コード例 #3
0
 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);
     }
   }
 }
コード例 #4
0
 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);
   }
 }