diff options
author | Tarun Gupta <tarun1995gupta@gmail.com> | 2015-03-18 10:36:41 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2015-03-19 18:28:55 (GMT) |
commit | d62c9ba2dad0d9833c76452b5aa780a215548a5e (patch) | |
tree | ff0ad21e1394dc2202c1d1e14d169c577a313b96 /src/com/isode/stroke/serializer | |
parent | 07117577091cee230bb0da8245856e19a9c7da8c (diff) | |
download | stroke-d62c9ba2dad0d9833c76452b5aa780a215548a5e.zip stroke-d62c9ba2dad0d9833c76452b5aa780a215548a5e.tar.bz2 |
Add functionality for ChatState.
Adds the Element, Parser, Serializer, ChatStateTracker and ChatStateSerializerTest.
License:
This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
Test-Information:
Ported serializer test from Swiften, which passes.
Change-Id: I314eda2db0f2be0499f8aa74d043319fb5cf57a8
Diffstat (limited to 'src/com/isode/stroke/serializer')
-rw-r--r-- | src/com/isode/stroke/serializer/payloadserializers/ChatStateSerializer.java | 49 | ||||
-rw-r--r-- | src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java | 2 |
2 files changed, 50 insertions, 1 deletions
diff --git a/src/com/isode/stroke/serializer/payloadserializers/ChatStateSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/ChatStateSerializer.java new file mode 100644 index 0000000..f11ccea --- /dev/null +++ b/src/com/isode/stroke/serializer/payloadserializers/ChatStateSerializer.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2010 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ +/* + * Copyright (c) 2015 Tarun Gupta. + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +package com.isode.stroke.serializer.payloadserializers; + +import com.isode.stroke.serializer.GenericPayloadSerializer; +import com.isode.stroke.elements.ChatState; +import com.isode.stroke.base.NotNull; + +public class ChatStateSerializer extends GenericPayloadSerializer<ChatState> { + + /** + * CapsInfoSerializer(); + */ + public ChatStateSerializer() { + super(ChatState.class); + } + + /** + * @param chatState, notnull + */ + @Override + protected String serializePayload(ChatState chatState) { + NotNull.exceptIfNull(chatState, "chatState"); + String result = "<"; + ChatState.ChatStateType state = chatState.getChatState(); + if (state == ChatState.ChatStateType.Active) { + result = result.concat("active"); + } else if (state == ChatState.ChatStateType.Composing) { + result = result.concat("composing"); + } else if (state == ChatState.ChatStateType.Paused) { + result = result.concat("paused"); + } else if (state == ChatState.ChatStateType.Inactive) { + result = result.concat("inactive"); + } else if (state == ChatState.ChatStateType.Gone) { + result = result.concat("gone"); + } + result = result.concat(" xmlns=\"http://jabber.org/protocol/chatstates\"/>"); + return result; + } +}
\ No newline at end of file diff --git a/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java b/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java index 83a252f..0b62e0f 100644 --- a/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java +++ b/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java @@ -23,7 +23,7 @@ public class FullPayloadSerializerCollection extends PayloadSerializerCollection //addSerializer(new IBBSerializer()); addSerializer(new BodySerializer()); addSerializer(new SubjectSerializer()); - //addSerializer(new ChatStateSerializer()); + addSerializer(new ChatStateSerializer()); //addSerializer(new PrioritySerializer()); addSerializer(new ErrorSerializer()); addSerializer(new RosterSerializer()); |