Example #1
0
        public override async void OnAppearing(object navigationContext)
        {
            BandClient = navigationContext as BandClient;
            _tileManager = BandClient.TileManager;

            // Load Remaining CApacity
            RemainingCapacity = await _tileManager.GetRemainingTileCapacityAsync();

            // Load Tiles
            await LoadTiles();

            base.OnAppearing(navigationContext);
        }
        public override async void OnAppearing(object navigationContext)
        {
            // Init
            BandClient = navigationContext as BandClient;
            _tileManager = BandClient.TileManager;

            TileId = Guid.NewGuid();
            TileName = "New Tile";
            TileIcon = await ResourcesHelper.LoadBandImageFromResourceAsync("Resources/tile.png");
            TileBadge = await ResourcesHelper.LoadBandImageFromResourceAsync("Resources/badge.png");
            DisableScreenTimeout = true;

            base.OnAppearing(navigationContext);
        }
        public AddTileViewModel(BandDeviceInfo info, BandClient bandClient)
            : base(info, bandClient)
        {
            tileManager = bandClient.TileManager;
            tileTheme = App.DefaultTheme;
            tileId = Guid.NewGuid();
            tileName = "New Tile";

            GenerateTileIdCommand = new Command(() =>
            {
                TileId = Guid.NewGuid().ToString("D");
            });

            DefaultTileIconCommand = new Command(async () =>
            {
                TileIcon = await App.LoadImageResourceAsync("Resources/tile.png");
            });
            SelectTileIconCommand = new Command(async () =>
            {
                var photo = await CrossMedia.Current.PickPhotoAsync();
                if (photo != null)
                {
                    TileIcon = await BandImage.FromStreamAsync(photo.GetStream());
                }
            }, () => CrossMedia.Current.IsPickPhotoSupported);

            DefaultTileBadgeCommand = new Command(async () =>
            {
                TileBadge = await App.LoadImageResourceAsync("Resources/badge.png");
            });
            SelectTileBadgeCommand = new Command(async () =>
            {
                var photo = await CrossMedia.Current.PickPhotoAsync();
                if (photo != null)
                {
                    TileBadge = await BandImage.FromStreamAsync(photo.GetStream());
                }
            }, () => CrossMedia.Current.IsPickPhotoSupported);

            DefaultThemeCommand = new Command(() => 
            {
                TileTheme = App.DefaultTheme;
            });

            AddTileCommand = new Command(async () =>
            {
                var tile = new BandTile(tileId)
                {
                    Icon = TileIcon,
                    Name = TileName,
                    SmallIcon = TileBadge,
                    IsScreenTimeoutDisabled = DisableScreenTimeout
                };
                if (UseCustomTheme)
                {
                    tile.Theme = TileTheme;
                }
                tile.PageImages.AddRange(new[]
                {
                    await App.LoadImageResourceAsync("Resources/star.png")
                });
                var layouts = CreatePageLayouts();
                tile.PageLayouts.AddRange(layouts);
                await tileManager.AddTileAsync(tile);
                var datas = CreatePageDatas();
                await tileManager.SetTilePageDataAsync(tile.Id, datas);
            });
            RemoveTileCommand = new Command(async () =>
            {
                await tileManager.RemoveTileAsync(tileId);
            });
        }
        public TileViewModel(BandTile tile, BandTileManager tiles)
        {
            tileManager = tiles;

            Tile = tile;
        }
 public TilesViewModel(BandDeviceInfo info, BandClient bandClient)
     : base(info, bandClient)
 {
     tileManager = bandClient.TileManager;
     Tiles = new ObservableCollection<TileViewModel>();
 }