Commit 30e35884 by Sebastián Katzer

Merge branch 'master' of github.com:katzer/cordova-plugin-local-notifications

parents c3520580 f47e405b
...@@ -200,7 +200,9 @@ exports.core = { ...@@ -200,7 +200,9 @@ exports.core = {
clearLocalNotification: function (id) { clearLocalNotification: function (id) {
var notification = this.getAll([id])[0]; var notification = this.getAll([id])[0];
try {
this.getToastHistory().remove('Toast' + id); this.getToastHistory().remove('Toast' + id);
} catch (e) {/*Only Phones support the NotificationHistory*/ }
if (this.isRepeating(notification)) if (this.isRepeating(notification))
return; return;
...@@ -220,7 +222,9 @@ exports.core = { ...@@ -220,7 +222,9 @@ exports.core = {
this.clearLocalNotification(ids[i]); this.clearLocalNotification(ids[i]);
} }
try {
this.getToastHistory().clear(); this.getToastHistory().clear();
} catch (e) {/*Only Phones support the NotificationHistory*/ }
this.fireEvent('clearall'); this.fireEvent('clearall');
}, },
...@@ -251,7 +255,9 @@ exports.core = { ...@@ -251,7 +255,9 @@ exports.core = {
history = this.getToastHistory(), history = this.getToastHistory(),
toasts = this.getScheduledToasts(); toasts = this.getScheduledToasts();
try {
history.remove('Toast' + id); history.remove('Toast' + id);
} catch (e) {/*Only Phones support the NotificationHistory*/ }
for (var i = 0; i < toasts.length; i++) { for (var i = 0; i < toasts.length; i++) {
var toast = toasts[i]; var toast = toasts[i];
...@@ -272,7 +278,9 @@ exports.core = { ...@@ -272,7 +278,9 @@ exports.core = {
this.cancelLocalNotification(ids[i]); this.cancelLocalNotification(ids[i]);
} }
try {
this.getToastHistory().clear(); this.getToastHistory().clear();
} catch (e) {/*Only Phones support the NotificationHistory*/ }
this.fireEvent('cancelall'); this.fireEvent('cancelall');
}, },
......
...@@ -86,20 +86,52 @@ exports.isRepeating = function (notification) { ...@@ -86,20 +86,52 @@ exports.isRepeating = function (notification) {
* @param {String} path * @param {String} path
* Relative path to sound resource * Relative path to sound resource
* *
* @return {String} URI to Sound-File * @return {String} XML Tag for Sound-File
*/ */
exports.parseSound = function (path) { exports.parseSound = function (path) {
if (!path.match(/^file/))
return '';
var uri = this.parseUri(path),
audio = "<audio src=" + uri + " loop='false'/>";
return audio;
};
/**
* Parses image file path.
*
* @param {String} path
* Relative path to image resource
*
* @return {String} XML-Tag for Image-File
*/
exports.parseImage = function (path) {
if (!path.match(/^file/))
return '';
var uri = this.parseUri(path),
image = "<image id='1' src=" + uri + " />";
return image;
};
/**
* Parses file path to URI.
*
* @param {String} path
* Relative path to a resource
*
* @return {String} URI to File
*/
exports.parseUri = function (path) {
var pkg = Windows.ApplicationModel.Package.current, var pkg = Windows.ApplicationModel.Package.current,
pkgId = pkg.id, pkgId = pkg.id,
pkgName = pkgId.name; pkgName = pkgId.name;
if (!path.match(/^file/)) var uri = "'ms-appx://" + pkgName + "/www" + path.slice(6, path.length) + "'";
return;
var sound = "'ms-appx://" + pkgName + "/www/" + path.slice(6, path.length) + "'",
audio = "<audio src=" + sound + " loop='false'/>";
return audio; return uri;
}; };
/** /**
...@@ -150,28 +182,38 @@ exports.buildToastTemplate = function (options) { ...@@ -150,28 +182,38 @@ exports.buildToastTemplate = function (options) {
sound = this.parseSound(options.sound); sound = this.parseSound(options.sound);
} }
var templateName = "ToastText",
imageNode;
if (options.icon && options.icon !== '') {
imageNode = this.parseImage(options.icon);
// template with Image
if (imageNode !== '') {
templateName = "ToastImageAndText";
};
} else {
imageNode = "";
}
var bindingNode;
if (title && title !== '') { if (title && title !== '') {
return "<toast>" + bindingNode = "<binding template='" + templateName + "02'>" +
"<visual>" + imageNode +
"<binding template='ToastText02'>" +
"<text id='1'>" + title + "</text>" + "<text id='1'>" + title + "</text>" +
"<text id='2'>" + message + "</text>" + "<text id='2'>" + message + "</text>" +
"</binding>" + "</binding>";
"</visual>" +
sound +
"<json>" + json + "</json>" +
"</toast>";
} else { } else {
bindingNode = "<binding template='" + templateName + "01'>" +
imageNode +
"<text id='1'>" + message + "</text>" +
"</binding>";
}
return "<toast>" + return "<toast>" +
"<visual>" + "<visual>" +
"<binding template='ToastText01'>" + bindingNode +
"<text id='1'>" + message + "</text>" +
"</binding>" +
"</visual>" + "</visual>" +
sound + sound +
"<json>" + json + "</json>" + "<json>" + json + "</json>" +
"</toast>"; "</toast>";
}
}; };
/** /**
......
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