Skip to content

Commit

Permalink
Add an option to play audio notifications
Browse files Browse the repository at this point in the history
  • Loading branch information
AsaAyers committed Feb 2, 2017
1 parent b9c8b4a commit bda0430
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 0 deletions.
4 changes: 4 additions & 0 deletions _locales/en/messages.json
Expand Up @@ -453,6 +453,10 @@
}
}
},
"audioNotificationDescription": {
"message": "Play audio notification",
"description": "Description for audio notification setting"
},
"safetyNumbersSettingHeader": {
"message": "Safety numbers approval",
"description": "Header for safety numbers setting"
Expand Down
Binary file added audio/NewMessage.mp3
Binary file not shown.
5 changes: 5 additions & 0 deletions background.html
Expand Up @@ -463,6 +463,11 @@ <h3>{{ notifications }}</h3>
<label for='notification-setting-off'>{{ disableNotifications }} </label>
</div>
</div>
<br />
<div class='audio-notification-setting'>
<input type='checkbox' name='audio-notification' id='audio-notification'/>
<label for='audio-notification'>{{ audioNotificationDescription }}</label>
</div>
<hr>
<div class='safety-numbers-settings'>
<h3>{{ safetyNumbersSettingHeader }}</h3>
Expand Down
7 changes: 7 additions & 0 deletions js/notifications.js
Expand Up @@ -12,6 +12,8 @@
MESSAGE : 'message'
};

var sound = new Audio('/audio/NewMessage.mp3');

Whisper.Notifications = new (Backbone.Collection.extend({
initialize: function() {
this.on('add', _.debounce(this.update.bind(this), 1000));
Expand All @@ -35,6 +37,11 @@
if (this.length === 0) {
return;
}
var audioNotification = storage.get('audio-notification') || false;
if (audioNotification) {
sound.play();
}

var setting = storage.get('notification-setting') || 'message';
if (setting === SETTINGS.OFF) {
return;
Expand Down
6 changes: 6 additions & 0 deletions js/views/settings_view.js
Expand Up @@ -59,6 +59,11 @@
defaultValue: 'android',
name: 'theme-setting'
});
new CheckboxView({
el: this.$('.audio-notification-setting'),
defaultValue: false,
name: 'audio-notification'
});
new CheckboxView({
el: this.$('.safety-numbers-settings'),
defaultValue: true,
Expand All @@ -84,6 +89,7 @@
nameOnly: i18n('nameOnly'),
safetyNumbersSettingDescription: i18n('safetyNumbersSettingDescription'),
safetyNumbersSettingHeader: i18n('safetyNumbersSettingHeader'),
audioNotificationDescription: i18n('audioNotificationDescription'),
themeAndroidDark: i18n('themeAndroidDark'),
};
}
Expand Down

0 comments on commit bda0430

Please sign in to comment.