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