Remove message listener when not used any more.

cusax-fix
Yana Stamcheva 18 years ago
parent ab814c0010
commit 155427646e

@ -58,8 +58,6 @@ public class MetaContactChatPanel
* new ImageIcon(ImageLoader.getImage(ImageLoader.SEND_SMS_ICON))
*/
private SmsMessageListener smsListener = new SmsMessageListener();
private ProtocolContactSelectorBox contactSelectorBox;
/**
@ -876,7 +874,7 @@ private void sendSmsMessage(String text)
return;
}
smsOpSet.addMessageListener(smsListener);
smsOpSet.addMessageListener(new SmsMessageListener(smsOpSet));
// Otherwise we create the message.
Message message = smsOpSet.createMessage(text);
@ -968,6 +966,13 @@ public void setSmsSelected(boolean isSmsSelected)
private class SmsMessageListener implements MessageListener
{
private OperationSetSmsMessaging smsOpSet;
public SmsMessageListener(OperationSetSmsMessaging smsOpSet)
{
this.smsOpSet = smsOpSet;
}
public void messageDelivered(MessageDeliveredEvent evt)
{
Message msg = evt.getSourceMessage();
@ -985,6 +990,8 @@ public void messageDelivered(MessageDeliveredEvent evt)
Constants.ACTION_MESSAGE,
Messages.getI18NString("smsSuccessfullySent")
.getText(), "text");
smsOpSet.removeMessageListener(this);
}
public void messageDeliveryFailed(MessageDeliveryFailedEvent evt)
@ -1039,6 +1046,8 @@ else if (evt.getErrorCode()
Constants.ERROR_MESSAGE,
errorMsg,
"text");
smsOpSet.removeMessageListener(this);
}
public void messageReceived(MessageReceivedEvent evt)

Loading…
Cancel
Save