From b0603bc91a999a5fd0e9feb0e040b8f7f892a20f Mon Sep 17 00:00:00 2001 From: lilia Date: Wed, 17 Jun 2015 11:30:29 -0700 Subject: [PATCH] Wrap message receiver for minimum api exposure Initializing a message receiver opens the socket and starts listening right away rather than requiring a separate call to connect. The only other publicly accessible method is to query the socket status. // FREEBIE --- js/background.js | 9 ++++----- js/libtextsecure.js | 11 ++++++++++- libtextsecure/message_receiver.js | 11 ++++++++++- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/js/background.js b/js/background.js index 55f2c5c730..da7c1e2270 100644 --- a/js/background.js +++ b/js/background.js @@ -43,15 +43,14 @@ function init() { if (!textsecure.registration.isDone()) { return; } - // initialize the socket and start listening for messages - messageReceiver = new textsecure.MessageReceiver(window); - window.addEventListener('contact', onContactReceived); - window.addEventListener('receipt', onDeliveryReceipt); window.addEventListener('message', onMessageReceived); + window.addEventListener('receipt', onDeliveryReceipt); + window.addEventListener('contact', onContactReceived); window.addEventListener('group', onGroupReceived); window.addEventListener('sent', onSentMessage); window.addEventListener('error', onError); - messageReceiver.connect(); + // initialize the socket and start listening for messages + messageReceiver = new textsecure.MessageReceiver(window); } function onContactReceived(contactInfo) { diff --git a/js/libtextsecure.js b/js/libtextsecure.js index ff4c8d7e14..c34b042599 100644 --- a/js/libtextsecure.js +++ b/js/libtextsecure.js @@ -39469,6 +39469,7 @@ function generateKeys(count, progressCallback) { } else { throw new TypeError('MessageReceiver expected an EventTarget'); } + this.connect(); } MessageReceiver.prototype = { @@ -39624,8 +39625,16 @@ function generateKeys(count, progressCallback) { } }; - textsecure.MessageReceiver = MessageReceiver; + textsecure.MessageReceiver = function (eventTarget) { + var messageReceiver = new MessageReceiver(eventTarget); + this.getStatus = function() { + return messageReceiver.getStatus(); + } + } + textsecure.MessageReceiver.prototype = { + constructor: textsecure.MessageReceiver + }; }()); diff --git a/libtextsecure/message_receiver.js b/libtextsecure/message_receiver.js index 7913d78d0c..7fcba694fe 100644 --- a/libtextsecure/message_receiver.js +++ b/libtextsecure/message_receiver.js @@ -24,6 +24,7 @@ } else { throw new TypeError('MessageReceiver expected an EventTarget'); } + this.connect(); } MessageReceiver.prototype = { @@ -179,7 +180,15 @@ } }; - textsecure.MessageReceiver = MessageReceiver; + textsecure.MessageReceiver = function (eventTarget) { + var messageReceiver = new MessageReceiver(eventTarget); + this.getStatus = function() { + return messageReceiver.getStatus(); + } + } + textsecure.MessageReceiver.prototype = { + constructor: textsecure.MessageReceiver + }; }());