diff --git a/src/net/java/sip/communicator/impl/gui/main/MainFrame.java b/src/net/java/sip/communicator/impl/gui/main/MainFrame.java
index d9df04e7e..c4cd63397 100755
--- a/src/net/java/sip/communicator/impl/gui/main/MainFrame.java
+++ b/src/net/java/sip/communicator/impl/gui/main/MainFrame.java
@@ -546,15 +546,16 @@ public String getAccount(ProtocolProviderService protocolProvider)
* presence operation set is searched.
* @return the presence operation set for the given protocol provider.
*/
- public OperationSetPresence getProtocolPresenceOpSet(
+ public static OperationSetPresence getProtocolPresenceOpSet(
ProtocolProviderService protocolProvider)
{
OperationSet opSet
= protocolProvider.getOperationSet(OperationSetPresence.class);
- return (opSet instanceof OperationSetPresence)
- ? (OperationSetPresence) opSet
- : null;
+ return
+ (opSet instanceof OperationSetPresence)
+ ? (OperationSetPresence) opSet
+ : null;
}
/**
@@ -875,8 +876,7 @@ public Object getProtocolProviderLastStatus(
ProtocolProviderService protocolProvider)
{
if(getProtocolPresenceOpSet(protocolProvider) != null)
- return accountStatusPanel
- .getLastPresenceStatus(protocolProvider);
+ return accountStatusPanel.getLastPresenceStatus(protocolProvider);
else
return accountStatusPanel.getLastStatusString(protocolProvider);
}
diff --git a/src/net/java/sip/communicator/impl/gui/main/login/LoginManager.java b/src/net/java/sip/communicator/impl/gui/main/login/LoginManager.java
index ae142d2aa..819cab93d 100644
--- a/src/net/java/sip/communicator/impl/gui/main/login/LoginManager.java
+++ b/src/net/java/sip/communicator/impl/gui/main/login/LoginManager.java
@@ -137,8 +137,8 @@ public void registrationStateChanged(RegistrationStateChangeEvent evt)
if (newState.equals(RegistrationState.REGISTERED))
{
- OperationSetPresence presence = mainFrame
- .getProtocolPresenceOpSet(protocolProvider);
+ OperationSetPresence presence
+ = MainFrame.getProtocolPresenceOpSet(protocolProvider);
OperationSetMultiUserChat multiUserChat =
mainFrame.getMultiUserChatOpSet(protocolProvider);
diff --git a/src/net/java/sip/communicator/impl/gui/main/presence/GlobalStatusSelectorBox.java b/src/net/java/sip/communicator/impl/gui/main/presence/GlobalStatusSelectorBox.java
index 203b14922..8bf39315e 100644
--- a/src/net/java/sip/communicator/impl/gui/main/presence/GlobalStatusSelectorBox.java
+++ b/src/net/java/sip/communicator/impl/gui/main/presence/GlobalStatusSelectorBox.java
@@ -154,7 +154,7 @@ public void addAccount(ProtocolProviderService protocolProvider)
protocolProvider.getOperationSet(OperationSetPresence.class);
StatusSelectorMenu statusSelectorMenu
= (presenceOpSet != null)
- ? new PresenceStatusMenu(mainFrame, protocolProvider)
+ ? new PresenceStatusMenu(protocolProvider)
: new SimpleStatusMenu(protocolProvider);
this.add(statusSelectorMenu);
@@ -436,7 +436,7 @@ public void updateStatus(ProtocolProviderService protocolProvider)
}
public void updateStatus(ProtocolProviderService protocolProvider,
- PresenceStatus presenceStatus)
+ PresenceStatus presenceStatus)
{
StatusSelectorMenu accountMenu = accountMenus.get(protocolProvider);
@@ -444,12 +444,7 @@ public void updateStatus(ProtocolProviderService protocolProvider,
return;
if (accountMenu instanceof PresenceStatusMenu)
- {
- PresenceStatusMenu presenceStatusMenu
- = (PresenceStatusMenu) accountMenu;
-
- presenceStatusMenu.updateStatus(presenceStatus);
- }
+ ((PresenceStatusMenu) accountMenu).updateStatus(presenceStatus);
this.updateGlobalStatus();
}
diff --git a/src/net/java/sip/communicator/impl/gui/main/presence/PresenceStatusMenu.java b/src/net/java/sip/communicator/impl/gui/main/presence/PresenceStatusMenu.java
index bb9ab97be..2727a8d54 100644
--- a/src/net/java/sip/communicator/impl/gui/main/presence/PresenceStatusMenu.java
+++ b/src/net/java/sip/communicator/impl/gui/main/presence/PresenceStatusMenu.java
@@ -32,10 +32,13 @@ public class PresenceStatusMenu
extends StatusSelectorMenu
implements ActionListener
{
- private final Logger logger =
- Logger.getLogger(PresenceStatusMenu.class);
+ private final Logger logger = Logger.getLogger(PresenceStatusMenu.class);
- private ProtocolProviderService protocolProvider;
+ /**
+ * The ProtocolProviderService which has its presence status
+ * depicted and changed by this instance.
+ */
+ private final ProtocolProviderService protocolProvider;
private Iterator statusIterator;
@@ -49,25 +52,21 @@ public class PresenceStatusMenu
private JLabel titleLabel;
- private MainFrame mainFrame;
-
/**
- * Creates an instance of StatusSelectorBox and initializes the
- * selector box with data.
+ * Initializes a new PresenceStatusMenu instance which is to
+ * depict and change the presence status of a specific
+ * ProtocolProviderService.
*
- * @param mainFrame The main application window.
- * @param protocolProvider The protocol provider.
+ * @param protocolProvider the ProtocolProviderService which is to
+ * have its presence status depicted and changed by the new instance
*/
- public PresenceStatusMenu( MainFrame mainFrame,
- ProtocolProviderService protocolProvider)
+ public PresenceStatusMenu(ProtocolProviderService protocolProvider)
{
super(protocolProvider.getAccountID().getDisplayName(),
ImageLoader.getAccountStatusImage(protocolProvider));
this.protocolProvider = protocolProvider;
- this.mainFrame = mainFrame;
-
this.presence
= (OperationSetPresence) protocolProvider
.getOperationSet(OperationSetPresence.class);
@@ -191,26 +190,26 @@ else if (!status.isOnline()
}
/**
- * Stops the timer that manages the connecting animated icon.
+ * Selects a specific PresenceStatus in this instance and the
+ * ProtocolProviderService it depicts.
+ *
+ * @param presenceStatus the PresenceStatus to be selected in this
+ * instance and the ProtocolProviderService it depicts
*/
- public void updateStatus(Object presenceStatus)
+ public void updateStatus(PresenceStatus presenceStatus)
{
- PresenceStatus status = (PresenceStatus) presenceStatus;
-
- OperationSetPresence presence =
- mainFrame.getProtocolPresenceOpSet(protocolProvider);
+ OperationSetPresence presence
+ = MainFrame.getProtocolPresenceOpSet(protocolProvider);
logger.trace("Update status for provider: "
+ protocolProvider.getAccountID().getAccountAddress()
- + ". The new status will be: " + status.getStatusName());
+ + ". The new status will be: " + presenceStatus.getStatusName());
- this.setSelectedStatus(status);
+ this.setSelectedStatus(presenceStatus);
if (protocolProvider.isRegistered()
- && !presence.getPresenceStatus().equals(status))
- {
- new PublishPresenceStatusThread(status).start();
- }
+ && !presence.getPresenceStatus().equals(presenceStatus))
+ new PublishPresenceStatusThread(presenceStatus).start();
}
/**