summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/isode/stroke/presence/PresenceOracle.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/com/isode/stroke/presence/PresenceOracle.java b/src/com/isode/stroke/presence/PresenceOracle.java
index e983d51..f1710a6 100644
--- a/src/com/isode/stroke/presence/PresenceOracle.java
+++ b/src/com/isode/stroke/presence/PresenceOracle.java
@@ -199,10 +199,14 @@ public class PresenceOracle {
199 * @return The relevant presence. 199 * @return The relevant presence.
200 */ 200 */
201 public static Presence getActivePresence(Collection<? extends Presence> presences) { 201 public static Presence getActivePresence(Collection<? extends Presence> presences) {
202
203 PresenceAccountCmp comparator = new PresenceAccountCmp();
204 int size = presences.size();
205 if (size < 1) size = 1;
202 206
203 PriorityQueue<Presence> online = new PriorityQueue<Presence>(presences.size(),new PresenceAccountCmp()); 207 PriorityQueue<Presence> online = new PriorityQueue<Presence>(size, comparator);
204 PriorityQueue<Presence> away = new PriorityQueue<Presence>(presences.size(),new PresenceAccountCmp()); 208 PriorityQueue<Presence> away = new PriorityQueue<Presence>(size, comparator);
205 PriorityQueue<Presence> offline = new PriorityQueue<Presence>(presences.size(),new PresenceAccountCmp()); 209 PriorityQueue<Presence> offline = new PriorityQueue<Presence>(size, comparator);
206 210
207 for (Presence presence : presences) { 211 for (Presence presence : presences) {
208 switch (presence.getShow()) { 212 switch (presence.getShow()) {