Improve notification contents

Include sensible descriptions of non-content messages. For group
messages, display the sender's name and avatar rather than the group's.
This commit is contained in:
lilia 2015-03-19 16:17:26 -07:00
parent 43ec4099c9
commit 718f1a5e3d
2 changed files with 20 additions and 7 deletions

View file

@ -43,6 +43,16 @@
isIncoming: function() {
return this.get('type') === 'incoming';
},
getDescription: function() {
if (this.isGroupUpdate()) {
return 'Updated the group';
}
if (this.isEndSession()) {
return 'Secure session ended';
}
return this.get('body');
},
getContact: function() {
if (this.collection) {
return this.collection.conversation.contactCollection.get(this.get('source'));

View file

@ -50,16 +50,19 @@
window.notifyConversation = function(message) {
if (Whisper.Notifications.isEnabled()) {
var conversation = getConversation({id: message.get('conversationId')});
var sender = getConversation({id: message.get('source')});
conversation.fetch().then(function() {
var notification = new Notification(conversation.getTitle(), {
body: message.get('body'),
icon: conversation.getAvatarUrl(),
sender.fetch().then(function() {
var notification = new Notification(sender.getTitle(), {
body: message.getDescription(),
icon: sender.getAvatarUrl(),
tag: conversation.id
});
notification.onclick = function() {
openConversation(conversation.id);
};
});
});
conversation.fetchMessages();
} else {
openConversation(message.get('conversationId'));