diff --git a/src/UserSettingsStore.js b/src/UserSettingsStore.js
deleted file mode 100644
index c9ba1956ad..0000000000
--- a/src/UserSettingsStore.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright 2015, 2016 OpenMarket Ltd
-Copyright 2017, 2019 New Vector 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.
-*/
-
-import MatrixClientPeg from './MatrixClientPeg';
-
-// TODO: Decommission.
-// Ref: https://github.com/vector-im/riot-web/issues/8424
-export default {
- /*
- * Returns the email pusher (pusher of type 'email') for a given
- * email address. Email pushers all have the same app ID, so since
- * pushers are unique over (app ID, pushkey), there will be at most
- * one such pusher.
- */
- getEmailPusher: function(pushers, address) {
- if (pushers === undefined) {
- return undefined;
- }
- for (let i = 0; i < pushers.length; ++i) {
- if (pushers[i].kind === 'email' && pushers[i].pushkey === address) {
- return pushers[i];
- }
- }
- return undefined;
- },
-
- addEmailPusher: function(address, data) {
- return MatrixClientPeg.get().setPusher({
- kind: 'email',
- app_id: 'm.email',
- pushkey: address,
- app_display_name: 'Email Notifications',
- device_display_name: address,
- lang: navigator.language,
- data: data,
- append: true, // We always append for email pushers since we don't want to stop other accounts notifying to the same email address
- });
- },
-};
diff --git a/src/components/views/settings/Notifications.js b/src/components/views/settings/Notifications.js
index 42c981fa03..b8f8279bb0 100644
--- a/src/components/views/settings/Notifications.js
+++ b/src/components/views/settings/Notifications.js
@@ -19,7 +19,6 @@ import Promise from 'bluebird';
import sdk from '../../../index';
import { _t } from '../../../languageHandler';
import MatrixClientPeg from '../../../MatrixClientPeg';
-import UserSettingsStore from '../../../UserSettingsStore';
import SettingsStore, {SettingLevel} from '../../../settings/SettingsStore';
import Modal from '../../../Modal';
import {
@@ -132,14 +131,41 @@ module.exports = React.createClass({
});
},
+ /*
+ * Returns the email pusher (pusher of type 'email') for a given
+ * email address. Email pushers all have the same app ID, so since
+ * pushers are unique over (app ID, pushkey), there will be at most
+ * one such pusher.
+ */
+ getEmailPusher: function(pushers, address) {
+ if (pushers === undefined) {
+ return undefined;
+ }
+ for (let i = 0; i < pushers.length; ++i) {
+ if (pushers[i].kind === 'email' && pushers[i].pushkey === address) {
+ return pushers[i];
+ }
+ }
+ return undefined;
+ },
+
onEnableEmailNotificationsChange: function(address, checked) {
let emailPusherPromise;
if (checked) {
const data = {};
data['brand'] = SdkConfig.get().brand || 'Riot';
- emailPusherPromise = UserSettingsStore.addEmailPusher(address, data);
+ emailPusherPromise = MatrixClientPeg.get().setPusher({
+ kind: 'email',
+ app_id: 'm.email',
+ pushkey: address,
+ app_display_name: 'Email Notifications',
+ device_display_name: address,
+ lang: navigator.language,
+ data: data,
+ append: true, // We always append for email pushers since we don't want to stop other accounts notifying to the same email address
+ });
} else {
- const emailPusher = UserSettingsStore.getEmailPusher(this.state.pushers, address);
+ const emailPusher = this.getEmailPusher(this.state.pushers, address);
emailPusher.kind = null;
emailPusherPromise = MatrixClientPeg.get().setPusher(emailPusher);
}
@@ -697,7 +723,7 @@ module.exports = React.createClass({
emailNotificationsRow: function(address, label) {
return