private CycleTileData CreateCycleTileData(LiveTilesOptions liveTileOptions) { CycleTileData tileData = new CycleTileData(); if (!string.IsNullOrEmpty(liveTileOptions.Title)) { tileData.Title = liveTileOptions.Title; } if (liveTileOptions.Count > 0) { tileData.Count = liveTileOptions.Count; } if (!string.IsNullOrEmpty(liveTileOptions.Image)) { string[] imgs = liveTileOptions.Image.Split('|'); Uri[] imgUris = new Uri[imgs.Length]; for (int i = 0; i < imgs.Length; ++i) { imgUris[i] = new Uri(imgs[i], UriKind.Relative); } tileData.CycleImages = imgUris; tileData.SmallBackgroundImage = imgUris[0]; } return(tileData); }
/// <summary> /// Cerates tile data /// </summary> private StandardTileData CreateTileData(LiveTilesOptions liveTileOptions) { StandardTileData standardTile = new StandardTileData(); if (!string.IsNullOrEmpty(liveTileOptions.Title)) { standardTile.Title = liveTileOptions.Title; } if (!string.IsNullOrEmpty(liveTileOptions.Image)) { standardTile.BackgroundImage = new Uri(liveTileOptions.Image, UriKind.RelativeOrAbsolute); } if (liveTileOptions.Count > 0) { standardTile.Count = liveTileOptions.Count; } if (!string.IsNullOrEmpty(liveTileOptions.BackTitle)) { standardTile.BackTitle = liveTileOptions.BackTitle; } if (!string.IsNullOrEmpty(liveTileOptions.BackContent)) { standardTile.BackContent = liveTileOptions.BackContent; } if (!string.IsNullOrEmpty(liveTileOptions.BackImage)) { standardTile.BackBackgroundImage = new Uri(liveTileOptions.BackImage, UriKind.RelativeOrAbsolute); } return(standardTile); }
/// <summary> /// Creates flip tile data /// </summary> private IconicTileData CreateIconicTileData(LiveTilesOptions liveTileOptions) { IconicTileData TileData = new IconicTileData(); // Title if (!string.IsNullOrEmpty(liveTileOptions.Title)) { TileData.Title = liveTileOptions.Title; } // Count if (liveTileOptions.Count > 0) { TileData.Count = liveTileOptions.Count; } // WideContent1 if (!string.IsNullOrEmpty(liveTileOptions.WideContent1)) { TileData.WideContent1 = liveTileOptions.WideContent1; } // WideContent1 if (!string.IsNullOrEmpty(liveTileOptions.WideContent2)) { TileData.WideContent2 = liveTileOptions.WideContent2; } // WideContent3 if (!string.IsNullOrEmpty(liveTileOptions.WideContent3)) { TileData.WideContent3 = liveTileOptions.WideContent3; } // SmallIconImage if (!string.IsNullOrEmpty(liveTileOptions.SmallIconImage)) { TileData.SmallIconImage = new Uri(liveTileOptions.SmallIconImage, UriKind.RelativeOrAbsolute); } // IconImage if (!string.IsNullOrEmpty(liveTileOptions.IconImage)) { TileData.IconImage = new Uri(liveTileOptions.IconImage, UriKind.RelativeOrAbsolute); } // BackgroundColor if (!string.IsNullOrEmpty(liveTileOptions.BackgroundColor)) { Color realBackgroundColor = ConvertStringToColor(liveTileOptions.BackgroundColor); TileData.BackgroundColor = realBackgroundColor; } return(TileData); }
/// <summary> /// Creates tile /// </summary> private void CreateTile(LiveTilesOptions liveTileOptions) { if (string.IsNullOrEmpty(liveTileOptions.SecondaryTileUri)) { DispatchCommandResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION)); return; } try { ShellTile foundTile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains(liveTileOptions.SecondaryTileUri)); if (foundTile != null) { DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, "Tile already exist")); } else { Deployment.Current.Dispatcher.BeginInvoke(() => { ShellTileData liveTile; switch ((int)liveTileOptions.TileType) { case 1: liveTile = CreateCycleTileData(liveTileOptions); break; case 2: liveTile = CreateIconicTileData(liveTileOptions); break; default: liveTile = CreateFlipTileDate(liveTileOptions); break; } PhoneApplicationPage currentPage = ((PhoneApplicationFrame)Application.Current.RootVisual).Content as PhoneApplicationPage; string currentUri = currentPage.NavigationService.Source.ToString().Split('?')[0]; ShellTile.Create(new Uri(currentUri + "?Uri=" + liveTileOptions.SecondaryTileUri, UriKind.Relative), liveTile, true); tileTypes.Add(currentUri + "?Uri=" + liveTileOptions.SecondaryTileUri, liveTileOptions.TileType); AppSettings.StoreSetting(TileSettingsName, tileTypes); DispatchCommandResult(new PluginResult(PluginResult.Status.OK)); }); } } catch { DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, "Error creating iconic tile")); } }
/// <summary> /// Creates flip tile data /// </summary> private FlipTileData CreateFlipTileDate(LiveTilesOptions liveTileOptions) { FlipTileData flipTile = new FlipTileData(); if (!string.IsNullOrEmpty(liveTileOptions.Title)) { flipTile.Title = liveTileOptions.Title; } if (!string.IsNullOrEmpty(liveTileOptions.Image)) { flipTile.BackgroundImage = new Uri(liveTileOptions.Image, UriKind.RelativeOrAbsolute); } if (liveTileOptions.Count > 0) { flipTile.Count = liveTileOptions.Count; } if (!string.IsNullOrEmpty(liveTileOptions.BackTitle)) { flipTile.BackTitle = liveTileOptions.BackTitle; } if (!string.IsNullOrEmpty(liveTileOptions.BackContent)) { flipTile.BackContent = liveTileOptions.BackContent; } if (!string.IsNullOrEmpty(liveTileOptions.BackImage)) { flipTile.BackBackgroundImage = new Uri(liveTileOptions.BackImage, UriKind.RelativeOrAbsolute); } if (!string.IsNullOrEmpty(liveTileOptions.SmallImage)) { flipTile.SmallBackgroundImage = new Uri(liveTileOptions.SmallImage, UriKind.RelativeOrAbsolute); } if (!string.IsNullOrEmpty(liveTileOptions.WideImage)) { flipTile.WideBackgroundImage = new Uri(liveTileOptions.WideImage, UriKind.RelativeOrAbsolute); } if (!string.IsNullOrEmpty(liveTileOptions.WideContent)) { flipTile.WideBackContent = liveTileOptions.WideContent; } if (!string.IsNullOrEmpty(liveTileOptions.WideBackImage)) { flipTile.WideBackBackgroundImage = new Uri(liveTileOptions.WideBackImage, UriKind.RelativeOrAbsolute); } return(flipTile); }
/// <summary> /// Tries to parse options string /// </summary> /// <param name="options"></param> /// <param name="tileOptions"></param> /// <returns></returns> private bool TryGetTileOptions(string options, out LiveTilesOptions tileOptions) { bool result = false; try { tileOptions = JsonHelper.Deserialize <LiveTilesOptions>(options); result = true; } catch { tileOptions = null; DispatchCommandResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION)); } return(result); }
/// <summary> /// Creates iconic tile data. /// </summary> private IconicTileData CreateIconicTileData(LiveTilesOptions liveTileOptions) { IconicTileData tileData = new IconicTileData(); if (!string.IsNullOrEmpty(liveTileOptions.Title)) { tileData.Title = liveTileOptions.Title; } if (liveTileOptions.Count > 0) { tileData.Count = liveTileOptions.Count; } if (!string.IsNullOrEmpty(liveTileOptions.Image)) { tileData.IconImage = new Uri(liveTileOptions.Image, UriKind.RelativeOrAbsolute); } if (!string.IsNullOrEmpty(liveTileOptions.SmallImage)) { tileData.SmallIconImage = new Uri(liveTileOptions.SmallImage, UriKind.RelativeOrAbsolute); } if (!string.IsNullOrEmpty(liveTileOptions.BackgroundColor)) { tileData.BackgroundColor = LiveTiles.GetColorFromHexString(liveTileOptions.BackgroundColor); } if (!string.IsNullOrEmpty(liveTileOptions.WideContent)) { string[] content = liveTileOptions.WideContent.Split('|'); int length = content.Length; if (length >= 1) { tileData.WideContent1 = content[0]; } if (length >= 2) { tileData.WideContent2 = content[1]; } if (length >= 3) { tileData.WideContent3 = content[2]; } } return(tileData); }
/// <summary> /// Creates standard tile data /// </summary> private StandardTileData CreateStandardTileData(LiveTilesOptions liveTileOptions) { StandardTileData TileData = new StandardTileData(); // Title if (!string.IsNullOrEmpty(liveTileOptions.Title)) { TileData.Title = liveTileOptions.Title; } // BackTitle if (!string.IsNullOrEmpty(liveTileOptions.BackTitle)) { TileData.BackTitle = liveTileOptions.BackTitle; } // BackContent if (!string.IsNullOrEmpty(liveTileOptions.BackContent)) { TileData.BackContent = liveTileOptions.BackContent; } // Count if (liveTileOptions.Count > 0) { TileData.Count = liveTileOptions.Count; } // BackgroundImage if (!string.IsNullOrEmpty(liveTileOptions.BackgroundImage)) { TileData.BackgroundImage = new Uri(liveTileOptions.BackgroundImage, UriKind.RelativeOrAbsolute); } // BackBackgroundImage if (!string.IsNullOrEmpty(liveTileOptions.BackBackgroundImage)) { TileData.BackBackgroundImage = new Uri(liveTileOptions.BackBackgroundImage, UriKind.RelativeOrAbsolute); } return(TileData); }
/// <summary> /// Cerates tile data /// </summary> private StandardTileData CreateTileData(LiveTilesOptions liveTileOptions) { StandardTileData standardTile = new StandardTileData(); if (!string.IsNullOrEmpty(liveTileOptions.Title)) { standardTile.Title = liveTileOptions.Title; } if (!string.IsNullOrEmpty(liveTileOptions.Image)) { standardTile.BackgroundImage = new Uri(liveTileOptions.Image, UriKind.RelativeOrAbsolute); } if (liveTileOptions.Count > 0) { standardTile.Count = liveTileOptions.Count; } if (!string.IsNullOrEmpty(liveTileOptions.BackTitle)) { standardTile.BackTitle = liveTileOptions.BackTitle; } if (!string.IsNullOrEmpty(liveTileOptions.BackContent)) { standardTile.BackContent = liveTileOptions.BackContent; } if (!string.IsNullOrEmpty(liveTileOptions.BackImage)) { standardTile.BackBackgroundImage = new Uri(liveTileOptions.BackImage, UriKind.RelativeOrAbsolute); } return standardTile; }
/// <summary> /// Creates flip tile data /// </summary> private IconicTileData CreateIconicTileData(LiveTilesOptions liveTileOptions) { IconicTileData TileData = new IconicTileData(); // Title if (!string.IsNullOrEmpty(liveTileOptions.Title)) { TileData.Title = liveTileOptions.Title; } // Count if (liveTileOptions.Count > 0) { TileData.Count = liveTileOptions.Count; } // WideContent1 if (!string.IsNullOrEmpty(liveTileOptions.WideContent1)) { TileData.WideContent1 = liveTileOptions.WideContent1; } // WideContent1 if (!string.IsNullOrEmpty(liveTileOptions.WideContent2)) { TileData.WideContent2 = liveTileOptions.WideContent2; } // WideContent3 if (!string.IsNullOrEmpty(liveTileOptions.WideContent3)) { TileData.WideContent3 = liveTileOptions.WideContent3; } // SmallIconImage if (!string.IsNullOrEmpty(liveTileOptions.SmallIconImage)) { TileData.SmallIconImage = new Uri(liveTileOptions.SmallIconImage, UriKind.RelativeOrAbsolute); } // IconImage if (!string.IsNullOrEmpty(liveTileOptions.IconImage)) { TileData.IconImage = new Uri(liveTileOptions.IconImage, UriKind.RelativeOrAbsolute); } // BackgroundColor if (!string.IsNullOrEmpty(liveTileOptions.BackgroundColor)) { Color realBackgroundColor = ConvertStringToColor(liveTileOptions.BackgroundColor); TileData.BackgroundColor = realBackgroundColor; } return TileData; }
/// <summary> /// Creates flip tile data /// </summary> private FlipTileData CreateFlipTileData(LiveTilesOptions liveTileOptions) { FlipTileData TileData = new FlipTileData(); // Title if (!string.IsNullOrEmpty(liveTileOptions.Title)) { TileData.Title = liveTileOptions.Title; } // BackTitle if (!string.IsNullOrEmpty(liveTileOptions.BackTitle)) { TileData.BackTitle = liveTileOptions.BackTitle; } // BackContent if (!string.IsNullOrEmpty(liveTileOptions.BackContent)) { TileData.BackContent = liveTileOptions.BackContent; } // WideBackContent if (!string.IsNullOrEmpty(liveTileOptions.WideBackContent)) { TileData.WideBackContent = liveTileOptions.WideBackContent; } // Count if (liveTileOptions.Count > 0) { TileData.Count = liveTileOptions.Count; } // SmallBackgroundImage if (!string.IsNullOrEmpty(liveTileOptions.SmallBackgroundImage)) { TileData.SmallBackgroundImage = new Uri(liveTileOptions.SmallBackgroundImage, UriKind.RelativeOrAbsolute); } // BackgroundImage if (!string.IsNullOrEmpty(liveTileOptions.BackgroundImage)) { TileData.BackgroundImage = new Uri(liveTileOptions.BackgroundImage, UriKind.RelativeOrAbsolute); } // BackBackgroundImage if (!string.IsNullOrEmpty(liveTileOptions.BackBackgroundImage)) { TileData.BackBackgroundImage = new Uri(liveTileOptions.BackBackgroundImage, UriKind.RelativeOrAbsolute); } // WideBackgroundImage if (!string.IsNullOrEmpty(liveTileOptions.WideBackgroundImage)) { TileData.WideBackgroundImage = new Uri(liveTileOptions.WideBackgroundImage, UriKind.RelativeOrAbsolute); } // WideBackBackgroundImage if (!string.IsNullOrEmpty(liveTileOptions.WideBackBackgroundImage)) { TileData.WideBackBackgroundImage = new Uri(liveTileOptions.WideBackBackgroundImage, UriKind.RelativeOrAbsolute); } return TileData; }
private CycleTileData CreateCycleTileData(LiveTilesOptions liveTileOptions) { CycleTileData tileData = new CycleTileData(); if (!string.IsNullOrEmpty(liveTileOptions.Title)) { tileData.Title = liveTileOptions.Title; } if (liveTileOptions.Count > 0) { tileData.Count = liveTileOptions.Count; } if (!string.IsNullOrEmpty(liveTileOptions.Image)) { string[] imgs = liveTileOptions.Image.Split('|'); Uri[] imgUris = new Uri[imgs.Length]; for (int i = 0; i < imgs.Length; ++i) { imgUris[i] = new Uri(imgs[i], UriKind.Relative); } tileData.CycleImages = imgUris; tileData.SmallBackgroundImage = imgUris[0]; } return tileData; }