Commit 9f80dcbd by Sebastián Katzer

Better WP8 support with the ability to specify different kinds of tile images.

parent 8e8546c0
......@@ -29,7 +29,7 @@ namespace Cordova.Extension.Commands
/// <summary>
/// Sets application live tile
/// </summary>
public void add (string jsonArgs)
public void add(string jsonArgs)
{
string[] args = JsonHelper.Deserialize<string[]>(jsonArgs);
LocalNotificationOptions options = JsonHelper.Deserialize<LocalNotificationOptions>(args[0]);
......@@ -40,7 +40,7 @@ namespace Cordova.Extension.Commands
{
// Set the properties to update for the Application Tile
// Empty strings for the text values and URIs will result in the property being cleared.
StandardTileData TileData = CreateTileData(options);
FlipTileData TileData = CreateTileData(options);
// Update the Application Tile
AppTile.Update(TileData);
......@@ -59,7 +59,7 @@ namespace Cordova.Extension.Commands
/// <summary>
/// Clears the application live tile
/// </summary>
public void cancel (string jsonArgs)
public void cancel(string jsonArgs)
{
cancelAll(jsonArgs);
}
......@@ -67,7 +67,7 @@ namespace Cordova.Extension.Commands
/// <summary>
/// Clears the application live tile
/// </summary>
public void cancelAll (string jsonArgs)
public void cancelAll(string jsonArgs)
{
// Application Tile is always the first Tile, even if it is not pinned to Start.
ShellTile AppTile = ShellTile.ActiveTiles.First();
......@@ -76,10 +76,14 @@ namespace Cordova.Extension.Commands
{
// Set the properties to update for the Application Tile
// Empty strings for the text values and URIs will result in the property being cleared.
StandardTileData TileData = new StandardTileData
FlipTileData TileData = new FlipTileData
{
BackTitle = "",
BackContent = ""
BackContent = "",
WideBackContent = "",
SmallBackgroundImage = new Uri("appdata:Background.png"),
BackgroundImage = new Uri("appdata:Background.png"),
WideBackgroundImage = new Uri("/Assets/Tiles/FlipCycleTileLarge.png", UriKind.Relative),
};
// Update the Application Tile
......@@ -92,9 +96,9 @@ namespace Cordova.Extension.Commands
/// <summary>
/// Creates tile data
/// </summary>
private StandardTileData CreateTileData (LocalNotificationOptions options)
private FlipTileData CreateTileData(LocalNotificationOptions options)
{
StandardTileData tile = new StandardTileData();
FlipTileData tile = new FlipTileData();
// Badge sollte nur gelöscht werden, wenn expliziet eine `0` angegeben wurde
if (options.Badge != 0)
......@@ -103,7 +107,23 @@ namespace Cordova.Extension.Commands
}
tile.BackTitle = options.Title;
tile.BackContent = options.Message;
tile.BackContent = options.ShortMessage;
tile.WideBackContent = options.Message;
if (!String.IsNullOrEmpty(options.SmallImage))
{
tile.SmallBackgroundImage = new Uri(options.SmallImage, UriKind.RelativeOrAbsolute);
}
if (!String.IsNullOrEmpty(options.Image))
{
tile.BackgroundImage = new Uri(options.Image, UriKind.RelativeOrAbsolute);
}
if (!String.IsNullOrEmpty(options.WideImage))
{
tile.WideBackgroundImage = new Uri(options.WideImage, UriKind.RelativeOrAbsolute);
}
return tile;
}
......
using System;
using System.Linq;
using System.Runtime.Serialization;
namespace De.APPPlant.Cordova.Plugin.LocalNotification
......@@ -21,6 +23,19 @@ namespace De.APPPlant.Cordova.Plugin.LocalNotification
public string Message { get; set; }
/// <summary>
/// Gekürzte Nachricht (alles ab dem Zeilenumbruch entfernt)
/// </summary>
public string ShortMessage
{
get
{
string[] separator = new string[] { "\r\n", "\n" };
return Message.Split(separator, StringSplitOptions.RemoveEmptyEntries).First();
}
}
/// <summary>
/// Displays number badge to notification
/// </summary>
[DataMember(IsRequired = false, Name = "badge")]
......@@ -55,5 +70,23 @@ namespace De.APPPlant.Cordova.Plugin.LocalNotification
/// </summary>
[DataMember(IsRequired = false, Name = "foreground")]
public string Foreground { get; set; }
/// <summary>
/// The notification small background image to be displayed
/// </summary>
[DataMember(IsRequired = false, Name = "smallImage")]
public string SmallImage { get; set; }
/// <summary>
/// The notification background image to be displayed
/// </summary>
[DataMember(IsRequired = false, Name = "image")]
public string Image { get; set; }
/// <summary>
/// The notification wide background image to be displayed
/// </summary>
[DataMember(IsRequired = false, Name = "wideImage")]
public string WideImage { get; set; }
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment