2017-05-08 05:18:22 +08:00
|
|
|
/*
|
|
|
|
* vim: ts=4:sw=4:expandtab
|
|
|
|
*/
|
|
|
|
|
|
|
|
;(function () {
|
|
|
|
'use strict';
|
|
|
|
window.Whisper = window.Whisper || {};
|
|
|
|
|
|
|
|
Whisper.KeyChangeListener = {
|
|
|
|
init: function(signalProtocolStore) {
|
|
|
|
if (!(signalProtocolStore instanceof SignalProtocolStore)) {
|
|
|
|
throw new Error('KeyChangeListener requires a SignalProtocolStore');
|
|
|
|
}
|
|
|
|
|
|
|
|
signalProtocolStore.on('keychange', function(id) {
|
2017-09-02 00:10:41 +08:00
|
|
|
ConversationController.getOrCreateAndWait(id, 'private').then(function(conversation) {
|
2017-05-08 05:18:22 +08:00
|
|
|
conversation.addKeyChange(id);
|
2017-09-02 00:10:41 +08:00
|
|
|
|
|
|
|
ConversationController.getAllGroupsInvolvingId(id).then(function(groups) {
|
|
|
|
_.forEach(groups, function(group) {
|
|
|
|
group.addKeyChange(id);
|
|
|
|
});
|
2017-05-08 05:18:22 +08:00
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}());
|