Windows icon with higher resolution.

Filter duplicating events on message wiating indication.
Jabber sometimes shows "apos;" instead of "'", must be fixed now.
cusax-fix
Damian Minkov 15 years ago
parent 4feb099e8a
commit 4f646deee9

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 361 KiB

@ -498,7 +498,16 @@ public void registrationStateChanged(RegistrationStateChangeEvent evt)
OperationSetPersistentPresence.class);
if(smackMessageListener == null)
{
smackMessageListener = new SmackMessageListener();
}
else
{
// make sure this listener is not already installed in this
// connection
jabberProvider.getConnection()
.removePacketListener(smackMessageListener);
}
jabberProvider.getConnection().addPacketListener(
smackMessageListener,
@ -633,6 +642,12 @@ public void processPacket(Packet packet)
// removes body end tag
.replaceAll("\\</[bB][oO][dD][yY].*?>","");
// for some reason &apos; is not rendered correctly
// from our ui, lets use its equivalent. Other
// similar chars(< > & ") seem ok.
receivedMessage =
receivedMessage.replaceAll("&apos;", "&#39;");
newMessage =
createMessage(receivedMessage, HTML_MIME_TYPE);
}

@ -81,6 +81,22 @@ public class OperationSetMessageWaitingSipImpl
messageWaitingNotificationListeners
= new HashMap<MessageType,
List<MessageWaitingListener>>();
/**
* Number of unread messages, count so we don't duplicate events.
*/
private int unreadMessages = 0;
/**
* Number of old messages, count so we don't duplicate events.
*/
private int readMessages = 0;
/**
* Number of unread urgent messages, count so we don't duplicate events.
*/
private int unreadUrgentMessages = 0;
/**
* Number of old urgent messages, count so we don't duplicate events.
*/
private int readUrgentMessages = 0;
/**
* Creates this operation set.
@ -238,6 +254,25 @@ private void fireVoicemailNotificationEvent(
int unreadUrgentMessages,
int readUrgentMessages)
{
synchronized(this)
{
if(this.unreadMessages == unreadMessages
&& this.readMessages == readMessages
&& this.unreadUrgentMessages == unreadUrgentMessages
&& this.readUrgentMessages == readUrgentMessages)
{
// no new information skip event;
return;
}
else
{
this.unreadMessages = unreadMessages;
this.readMessages = readMessages;
this.unreadUrgentMessages = unreadUrgentMessages;
this.readUrgentMessages = readUrgentMessages;
}
}
MessageType msgType = MessageType.valueOfByType(msgTypeStr);
MessageWaitingEvent event =
new MessageWaitingEvent(

@ -2022,6 +2022,9 @@ void initOutboundProxy(SipAccountID accountID, int ix)
}
}
if(proxySocketAddress == null)
throw new UnknownHostException();
proxyAddress = proxySocketAddress.getAddress();
proxyPort = proxySocketAddress.getPort();

@ -1075,7 +1075,14 @@ private void dirtyHacks(RequestEvent event)
return;
}
}
}
catch(Throwable ex)
{
logger.warn("Cannot apply incoming request modification!", ex);
}
try
{
// using asterisk voice mail initial notify for messages
// is ok, but on the fly received messages their notify comes
// without subscription-state, so we add it in order to be able to

Loading…
Cancel
Save