IAsyncOperation <BandTheme> IBandPersonalizationManager.GetThemeAsync()
        {
            return(AsyncInfo.Run(
                       async cancellationToken =>
            {
                var bandTheme = await this.bandClient.PersonalizationManager.GetThemeAsync(cancellationToken);

                return BandTheme.FromBandTheme(bandTheme);
            }));
        }
示例#2
0
        internal static Band.BandTheme ToBandTheme(BandTheme theme)
        {
            if (theme == null)
            {
                return(null);
            }

            return(new Band.BandTheme
            {
                Base = theme.Base.ToBandColor(),
                HighContrast = theme.HighContrast.ToBandColor(),
                Highlight = theme.Highlight.ToBandColor(),
                Lowlight = theme.Lowlight.ToBandColor(),
                Muted = theme.Muted.ToBandColor(),
                SecondaryText = theme.SecondaryText.ToBandColor()
            });
        }
        private BandTile FromBandTile(Band.Tiles.BandTile tile)
        {
            var bandTile = new BandTile(tile.TileId)
            {
                IsBadgingEnabled        = tile.IsBadgingEnabled,
                IsScreenTimeoutDisabled = tile.IsScreenTimeoutDisabled,
                Name                                    = tile.Name,
                SmallIcon                               = tile.SmallIcon != null?tile.SmallIcon.ToWriteableBitmap() : null,
                                               Theme    = BandTheme.FromBandTheme(tile.Theme),
                                               TileIcon = tile.TileIcon != null?tile.TileIcon.ToWriteableBitmap() : null
            };

            foreach (var icon in tile.AdditionalIcons)
            {
                bandTile.AdditionalIcons.Add(icon.ToWriteableBitmap());
            }

            return(bandTile);
        }
        IAsyncOperation <bool> IBandTileManager.AddTileAsync(BandTile tile)
        {
            return(AsyncInfo.Run(
                       cancellationToken =>
            {
                var bandTile = new Band.Tiles.BandTile(tile.TileId)
                {
                    IsBadgingEnabled = tile.IsBadgingEnabled,
                    IsScreenTimeoutDisabled = tile.IsScreenTimeoutDisabled,
                    Name = tile.Name,
                    SmallIcon = tile.SmallIcon != null ? tile.SmallIcon.ToBandIcon() : null,
                    Theme = BandTheme.ToBandTheme(tile.Theme),
                    TileIcon = tile.TileIcon != null ? tile.TileIcon.ToBandIcon() : null
                };

                foreach (var icon in tile.AdditionalIcons)
                {
                    bandTile.AdditionalIcons.Add(icon.ToBandIcon());
                }

                return this.bandClient.TileManager.AddTileAsync(bandTile, cancellationToken);
            }));
        }
 IAsyncAction IBandPersonalizationManager.SetThemeAsync(BandTheme theme)
 {
     return(AsyncInfo.Run(cancellationToken => this.bandClient.PersonalizationManager.SetThemeAsync(BandTheme.ToBandTheme(theme), cancellationToken)));
 }