account index starts from 0 instead of 1

cusax-fix
Yana Stamcheva 20 years ago
parent 73fbe64dc1
commit 769a06a03f

@ -116,6 +116,59 @@ public void startConnecting(ProtocolProviderService protocolProvider) {
selectorBox.repaint();
}
/**
*
* @param protocolProvider
* @return
*/
public PresenceStatus getProtocolProviderLastStatus(
ProtocolProviderService protocolProvider)
{
ConfigurationService configService
= GuiActivator.getConfigurationService();
//find the last contact status saved in the configuration.
String lastStatus = null;
Iterator i = mainFrame.getProtocolPresence(protocolProvider)
.getSupportedStatusSet();
String prefix = "net.java.sip.communicator.impl.ui.accounts";
List accounts = configService
.getPropertyNamesByPrefix(prefix, true);
Iterator accountsIter = accounts.iterator();
while(accountsIter.hasNext()) {
String accountRootPropName
= (String) accountsIter.next();
String accountUID
= configService.getString(accountRootPropName);
if(accountUID.equals(protocolProvider
.getAccountID().getAccountUniqueID())) {
lastStatus = configService.getString(
accountRootPropName + ".lastAccountStatus");
if(lastStatus != null)
break;
}
}
if(lastStatus != null) {
PresenceStatus status;
while(i.hasNext()) {
status = (PresenceStatus)i.next();
if(status.getStatusName().equals(lastStatus)) {
return status;
}
}
}
return null;
}
/**
* Updates the status for this protocol provider.
*
@ -123,7 +176,6 @@ public void startConnecting(ProtocolProviderService protocolProvider) {
* update.
*/
public void updateStatus(ProtocolProviderService protocolProvider) {
StatusSelectorBox selectorBox
= (StatusSelectorBox) protocolStatusCombos
.get(protocolProvider);
@ -135,52 +187,15 @@ public void updateStatus(ProtocolProviderService protocolProvider) {
if(selectorBox.getLastSelectedStatus() != null) {
selectorBox.updateStatus(selectorBox.getLastSelectedStatus());
}
else {
ConfigurationService configService
= GuiActivator.getConfigurationService();
//find the last contact status saved in the configuration.
String lastStatus = null;
Iterator i = mainFrame.getProtocolPresence(protocolProvider)
.getSupportedStatusSet();
String prefix = "net.java.sip.communicator.impl.ui.accounts";
List accounts = configService
.getPropertyNamesByPrefix(prefix, true);
Iterator accountsIter = accounts.iterator();
while(accountsIter.hasNext()) {
String accountRootPropName
= (String) accountsIter.next();
String accountUID
= configService.getString(accountRootPropName);
if(accountUID.equals(protocolProvider
.getAccountID().getAccountUniqueID())) {
lastStatus = configService.getString(
accountRootPropName + ".lastAccountStatus");
if(lastStatus != null)
break;
}
}
else {
PresenceStatus lastStatus
= getProtocolProviderLastStatus(protocolProvider);
if(lastStatus == null) {
selectorBox.updateStatus(selectorBox.getOnlineStatus());
}
else {
PresenceStatus status;
while(i.hasNext()) {
status = (PresenceStatus)i.next();
if(status.getStatusName().equals(lastStatus)) {
selectorBox.updateStatus(status);
break;
}
}
selectorBox.updateStatus(lastStatus);
}
}
}

Loading…
Cancel
Save