Fixes to refactored notifications

A few things I managed to break in the recent refactor
This commit is contained in:
Richard van der Hoff 2016-04-14 19:52:57 +01:00
parent ff5dff45f5
commit 0996a0b140
3 changed files with 53 additions and 31 deletions

View File

@ -16,6 +16,8 @@ limitations under the License.
'use strict'; 'use strict';
var StandardActions = require('./StandardActions');
/** /**
* Enum for state of a push rule as defined by the Vector UI. * Enum for state of a push rule as defined by the Vector UI.
* @readonly * @readonly
@ -39,10 +41,10 @@ module.exports = {
*/ */
actionsFor: function(pushRuleVectorState) { actionsFor: function(pushRuleVectorState) {
if (pushRuleVectorState === this.ON) { if (pushRuleVectorState === this.ON) {
return ACTION_NOTIFY; return StandardActions.ACTION_NOTIFY;
} }
else if (pushRuleVectorState === this.LOUD) { else if (pushRuleVectorState === this.LOUD) {
return ACTION_HIGHLIGHT_DEFAULT_SOUND; return StandardActions.ACTION_HIGHLIGHT_DEFAULT_SOUND;
} }
}, },

View File

@ -0,0 +1,30 @@
/*
Copyright 2016 OpenMarket Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
'use strict';
var NotificationUtils = require('./NotificationUtils');
var encodeActions = NotificationUtils.encodeActions;
module.exports = {
ACTION_NOTIFY: encodeActions({notify: true}),
ACTION_NOTIFY_DEFAULT_SOUND: encodeActions({notify: true, sound: "default"}),
ACTION_NOTIFY_RING_SOUND: encodeActions({notify: true, sound: "ring"}),
ACTION_HIGHLIGHT_DEFAULT_SOUND: encodeActions({notify: true, sound: "default", highlight: true}),
ACTION_DONT_NOTIFY: encodeActions({notify: false}),
ACTION_DISABLED: null,
};

View File

@ -16,17 +16,7 @@ limitations under the License.
'use strict'; 'use strict';
var NotificationUtils = require('./NotificationUtils'); var StandardActions = require('./StandardActions');
var encodeActions = NotificationUtils.encodeActions;
var decodeActions = NotificationUtils.decodeActions;
const ACTION_NOTIFY = encodeActions({notify: true});
const ACTION_NOTIFY_DEFAULT_SOUND = encodeActions({notify: true, sound: "default"});
const ACTION_NOTIFY_RING_SOUND = encodeActions({notify: true, sound: "ring"});
const ACTION_HIGHLIGHT_DEFAULT_SOUND = encodeActions({notify: true, sound: "default", highlight: true});
const ACTION_DONT_NOTIFY = encodeActions({notify: false});
const ACTION_DISABLED = null;
/** /**
* The descriptions of rules managed by the Vector UI. * The descriptions of rules managed by the Vector UI.
@ -38,9 +28,9 @@ module.exports = {
kind: "underride", kind: "underride",
description: "Messages containing my name", description: "Messages containing my name",
vectorStateToActions: { // The actions for each vector state, or null to disable the rule. vectorStateToActions: { // The actions for each vector state, or null to disable the rule.
on: ACTION_NOTIFY, on: StandardActions.ACTION_NOTIFY,
loud: ACTION_HIGHLIGHT_DEFAULT_SOUND, loud: StandardActions.ACTION_HIGHLIGHT_DEFAULT_SOUND,
off: ACTION_DISABLED off: StandardActions.ACTION_DISABLED
} }
}, },
@ -49,9 +39,9 @@ module.exports = {
kind: "underride", kind: "underride",
description: "Messages in one-to-one chats", description: "Messages in one-to-one chats",
vectorStateToActions: { vectorStateToActions: {
on: ACTION_NOTIFY, on: StandardActions.ACTION_NOTIFY,
loud: ACTION_NOTIFY_DEFAULT_SOUND, loud: StandardActions.ACTION_NOTIFY_DEFAULT_SOUND,
off: ACTION_DONT_NOTIFY off: StandardActions.ACTION_DONT_NOTIFY
} }
}, },
@ -62,9 +52,9 @@ module.exports = {
kind: "underride", kind: "underride",
description: "Messages in group chats", description: "Messages in group chats",
vectorStateToActions: { vectorStateToActions: {
on: ACTION_NOTIFY, on: StandardActions.ACTION_NOTIFY,
loud: ACTION_NOTIFY_DEFAULT_SOUND, loud: StandardActions.ACTION_NOTIFY_DEFAULT_SOUND,
off: ACTION_DONT_NOTIFY off: StandardActions.ACTION_DONT_NOTIFY
} }
}, },
@ -73,9 +63,9 @@ module.exports = {
kind: "underride", kind: "underride",
description: "When I'm invited to a room", description: "When I'm invited to a room",
vectorStateToActions: { vectorStateToActions: {
on: ACTION_NOTIFY, on: StandardActions.ACTION_NOTIFY,
loud: ACTION_NOTIFY_DEFAULT_SOUND, loud: StandardActions.ACTION_NOTIFY_DEFAULT_SOUND,
off: ACTION_DISABLED off: StandardActions.ACTION_DISABLED
} }
}, },
@ -84,9 +74,9 @@ module.exports = {
kind: "underride", kind: "underride",
description: "Call invitation", description: "Call invitation",
vectorStateToActions: { vectorStateToActions: {
on: ACTION_NOTIFY, on: StandardActions.ACTION_NOTIFY,
loud: ACTION_NOTIFY_RING_SOUND, loud: StandardActions.ACTION_NOTIFY_RING_SOUND,
off: ACTION_DISABLED off: StandardActions.ACTION_DISABLED
} }
}, },
@ -96,9 +86,9 @@ module.exports = {
description: "Messages sent by bot", description: "Messages sent by bot",
vectorStateToActions: { vectorStateToActions: {
// .m.rule.suppress_notices is a "negative" rule, we have to invert its enabled value for vector UI // .m.rule.suppress_notices is a "negative" rule, we have to invert its enabled value for vector UI
on: ACTION_DISABLED, on: StandardActions.ACTION_DISABLED,
loud: ACTION_NOTIFY_DEFAULT_SOUND, loud: StandardActions.ACTION_NOTIFY_DEFAULT_SOUND,
off: ACTION_DONT_NOTIFY, off: StandardActions.ACTION_DONT_NOTIFY,
} }
} }
}; };