From b25b9d5d7cacca47f94001d433eb67b5f23e9c97 Mon Sep 17 00:00:00 2001 From: Matt Tucker Date: Mon, 12 Feb 2007 01:11:09 +0000 Subject: [PATCH] Default to null presence mode (SMACK-193). git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@7072 b35dd754-fafc-0310-a699-88a17e54d16e --- source/org/jivesoftware/smack/Roster.java | 12 +++++++++++- source/org/jivesoftware/smack/packet/Presence.java | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/source/org/jivesoftware/smack/Roster.java b/source/org/jivesoftware/smack/Roster.java index ec8adc885..d233eb2dd 100644 --- a/source/org/jivesoftware/smack/Roster.java +++ b/source/org/jivesoftware/smack/Roster.java @@ -447,7 +447,17 @@ public class Roster implements ConnectionListener { } // If equal priority, choose "most available" by the mode value. else if (p.getPriority() == presence.getPriority()) { - if (p.getMode().compareTo(presence.getMode()) < 0) { + Presence.Mode pMode = p.getMode(); + // Default to presence mode of available. + if (pMode == null) { + pMode = Presence.Mode.available; + } + Presence.Mode presenceMode = presence.getMode(); + // Default to presence mode of available. + if (presenceMode == null) { + presenceMode = Presence.Mode.available; + } + if (pMode.compareTo(presenceMode) < 0) { presence = p; } } diff --git a/source/org/jivesoftware/smack/packet/Presence.java b/source/org/jivesoftware/smack/packet/Presence.java index 09f3d9aed..d7448601c 100644 --- a/source/org/jivesoftware/smack/packet/Presence.java +++ b/source/org/jivesoftware/smack/packet/Presence.java @@ -61,7 +61,7 @@ public class Presence extends Packet { private Type type = Type.available; private String status = null; private int priority = -1; - private Mode mode = Mode.available; + private Mode mode = null; /** * Creates a new presence update. Status, priority, and mode are left un-set.