Fixes mandatory security timer.

cusax-fix
Yana Stamcheva 14 years ago
parent f9a8da4458
commit 7194dbb55f

@ -21,6 +21,7 @@
import net.java.sip.communicator.service.neomedia.*;
import net.java.sip.communicator.service.protocol.*;
import net.java.sip.communicator.service.protocol.event.*;
import net.java.sip.communicator.service.protocol.media.*;
import net.java.sip.communicator.service.resources.*;
import net.java.sip.communicator.util.*;
import net.java.sip.communicator.util.skin.*;
@ -613,7 +614,14 @@ public void setPeerState(CallPeerState peerState, String state)
if(Boolean.parseBoolean(GuiActivator.getResources()
.getSettingsString("impl.gui.PARANOIA_UI")))
{
securityPanel = new ParanoiaTimerSecurityPanel();
SrtpControl srtpControl = null;
if (callPeer instanceof MediaAwareCallPeer)
srtpControl = ((MediaAwareCallPeer<?, ?, ?>) callPeer)
.getMediaHandler().getStream(MediaType.AUDIO)
.getSrtpControl();
securityPanel
= new ParanoiaTimerSecurityPanel<SrtpControl>(srtpControl);
setSecurityPanelVisible(true);
}
@ -708,7 +716,8 @@ public void securityOn(CallPeerSecurityOnEvent evt)
// if we have some other panel, using other control
if(!srtpControl.getClass().isInstance(
securityPanel.getSecurityControl()))
securityPanel.getSecurityControl())
|| (securityPanel instanceof ParanoiaTimerSecurityPanel))
{
setSecurityPanelVisible(false);

@ -21,7 +21,7 @@
* @author Damian Minkov
* @author Yana Stamcheva
*/
public class ParanoiaTimerSecurityPanel
public class ParanoiaTimerSecurityPanel<T extends SrtpControl>
extends SecurityPanel<SrtpControl>
{
/**
@ -32,9 +32,9 @@ public class ParanoiaTimerSecurityPanel
/**
* Creates an instance of this <tt>ParanoiaTimerSecurityPanel</tt>.
*/
ParanoiaTimerSecurityPanel()
ParanoiaTimerSecurityPanel(T securityControl)
{
super(null);
super(securityControl);
initComponents();
}
@ -79,14 +79,12 @@ private void initComponents()
if (securityControl instanceof ZrtpControl)
zrtpControl = (ZrtpControl) securityControl;
int initialSeconds = 0;
long initialSeconds = 0;
if (zrtpControl != null)
initialSeconds = (int) zrtpControl.getTimeoutValue()/1000;
initialSeconds = zrtpControl.getTimeoutValue();
c.set(Calendar.HOUR, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, initialSeconds);
c.setTimeInMillis(initialSeconds);
counter.setText(format.format(c.getTime()));
@ -96,10 +94,13 @@ private void initComponents()
@Override
public void run()
{
c.add(Calendar.SECOND, -1);
counter.setText(format.format(c.getTime()));
if (c.getTimeInMillis() - 1000 > 0)
{
c.add(Calendar.SECOND, -1);
counter.setText(format.format(c.getTime()));
}
}
}, 0, 1000);
}, 1000, 1000);
}
/**

Loading…
Cancel
Save