diff --git a/build/lib/merge/asterisk-im-client.jar b/build/lib/dist/asterisk-im-client.jar
similarity index 73%
rename from build/lib/merge/asterisk-im-client.jar
rename to build/lib/dist/asterisk-im-client.jar
index f678fa1b..387ba7ac 100644
Binary files a/build/lib/merge/asterisk-im-client.jar and b/build/lib/dist/asterisk-im-client.jar differ
diff --git a/build/lib/merge/systeminfo.jar b/build/lib/dist/systeminfo.jar
similarity index 100%
rename from build/lib/merge/systeminfo.jar
rename to build/lib/dist/systeminfo.jar
diff --git a/build/projects/Spark.iml b/build/projects/Spark.iml
index 3ed41ada..3bd370d5 100644
--- a/build/projects/Spark.iml
+++ b/build/projects/Spark.iml
@@ -82,15 +82,6 @@
-
-
-
-
-
-
-
-
-
@@ -100,15 +91,6 @@
-
-
-
-
-
-
-
-
-
@@ -203,6 +185,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build/projects/Spark.iws b/build/projects/Spark.iws
index b087c1cb..a7df2e6b 100644
--- a/build/projects/Spark.iws
+++ b/build/projects/Spark.iws
@@ -153,37 +153,73 @@
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -463,7 +499,7 @@
-
+
@@ -472,13 +508,7 @@
-
-
-
-
-
-
@@ -541,7 +571,7 @@
-
+
@@ -602,24 +632,24 @@
-
+
-
-
+
+
-
+
-
-
+
+
-
+
@@ -651,7 +681,6 @@
-
@@ -661,6 +690,7 @@
+
@@ -701,79 +731,9 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -785,23 +745,93 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
+
+
+
+
+
+
+
diff --git a/src/java/org/jivesoftware/AccountCreationWizard.java b/src/java/org/jivesoftware/AccountCreationWizard.java
index 67c807a8..db630362 100644
--- a/src/java/org/jivesoftware/AccountCreationWizard.java
+++ b/src/java/org/jivesoftware/AccountCreationWizard.java
@@ -279,6 +279,10 @@ public class AccountCreationWizard extends JPanel {
con = new XMPPConnection(localPref.getXmppHost(), port, serverName);
}
}
+
+ if(con != null){
+ con.connect();
+ }
return con;
}
diff --git a/src/java/org/jivesoftware/spark/ui/ContactList.java b/src/java/org/jivesoftware/spark/ui/ContactList.java
index bad7a5b1..0b9970e6 100644
--- a/src/java/org/jivesoftware/spark/ui/ContactList.java
+++ b/src/java/org/jivesoftware/spark/ui/ContactList.java
@@ -34,8 +34,8 @@ import org.jivesoftware.smackx.SharedGroupManager;
import org.jivesoftware.smackx.packet.LastActivity;
import org.jivesoftware.spark.ChatManager;
import org.jivesoftware.spark.SparkManager;
-import org.jivesoftware.spark.Workspace;
import org.jivesoftware.spark.UserManager;
+import org.jivesoftware.spark.Workspace;
import org.jivesoftware.spark.component.InputDialog;
import org.jivesoftware.spark.component.RolloverButton;
import org.jivesoftware.spark.component.VerticalFlowLayout;
@@ -216,7 +216,7 @@ public final class ContactList extends JPanel implements ActionListener, Contact
getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("control N"), "searchContacts");
getActionMap().put("searchContacts", new AbstractAction("searchContacts") {
public void actionPerformed(ActionEvent evt) {
- // searchContacts("");
+ // searchContacts("");
}
});
@@ -297,7 +297,10 @@ public final class ContactList extends JPanel implements ActionListener, Contact
// If not available, move to offline group.
else if (presence.getType() == Presence.Type.unavailable && !isPending) {
- moveToOfflineGroup(bareJID);
+ presence = roster.getPresence(bareJID);
+ if (presence == null) {
+ moveToOfflineGroup(bareJID);
+ }
}
}
diff --git a/src/java/org/jivesoftware/sparkimpl/plugin/phone/PhonePlugin.java b/src/java/org/jivesoftware/sparkimpl/plugin/phone/PhonePlugin.java
index e28f107d..761fa685 100644
--- a/src/java/org/jivesoftware/sparkimpl/plugin/phone/PhonePlugin.java
+++ b/src/java/org/jivesoftware/sparkimpl/plugin/phone/PhonePlugin.java
@@ -72,7 +72,7 @@ public class PhonePlugin implements Plugin {
}
catch (Exception e) {
// Ignore because the user does not have support.
- //Log.error(e);
+ Log.error(e);
}
return phoneClient;
}
diff --git a/src/java/org/jivesoftware/sparkimpl/preference/sounds/SoundPlugin.java b/src/java/org/jivesoftware/sparkimpl/preference/sounds/SoundPlugin.java
index eaebd35e..095e2a3b 100644
--- a/src/java/org/jivesoftware/sparkimpl/preference/sounds/SoundPlugin.java
+++ b/src/java/org/jivesoftware/sparkimpl/preference/sounds/SoundPlugin.java
@@ -11,10 +11,12 @@
package org.jivesoftware.sparkimpl.preference.sounds;
import org.jivesoftware.smack.PacketListener;
+import org.jivesoftware.smack.Roster;
import org.jivesoftware.smack.filter.PacketTypeFilter;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.packet.Packet;
import org.jivesoftware.smack.packet.Presence;
+import org.jivesoftware.smack.util.StringUtils;
import org.jivesoftware.smackx.packet.DelayInformation;
import org.jivesoftware.spark.SparkManager;
import org.jivesoftware.spark.plugin.Plugin;
@@ -39,9 +41,14 @@ public class SoundPlugin implements Plugin, MessageListener, ChatRoomListener {
if (presence != null && presence.getType() == Presence.Type.unavailable) {
SoundPreferences preferences = soundPreference.getPreferences();
if (preferences != null && preferences.isPlayOfflineSound()) {
- String offline = preferences.getOfflineSound();
- File offlineFile = new File(offline);
- SparkManager.getSoundManager().playClip(offlineFile);
+ Roster roster = SparkManager.getConnection().getRoster();
+ final String bareJID = StringUtils.parseBareAddress(presence.getFrom());
+ presence = roster.getPresence(bareJID);
+ if (presence == null) {
+ String offline = preferences.getOfflineSound();
+ File offlineFile = new File(offline);
+ SparkManager.getSoundManager().playClip(offlineFile);
+ }
}
}
}