src/main/java/de/unixwork/im/PresenceInfo.java

Mon, 30 Dec 2024 13:15:48 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Mon, 30 Dec 2024 13:15:48 +0100
changeset 5
d05262580576
parent 3
25a32e2dfde5
permissions
-rw-r--r--

add exec maven plugin

3
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
1 package de.unixwork.im;
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
2
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
3 import java.util.HashMap;
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
4 import java.util.Map;
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
5 import org.jivesoftware.smack.packet.Presence;
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
6
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
7
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
8 public class PresenceInfo {
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
9 private final Map<String, Presence.Type> presence = new HashMap<>(4);
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
10
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
11 public PresenceInfo() {
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
12
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
13 }
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
14
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
15 public void setStatus(String resource, Presence.Type type) {
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
16 presence.put(resource, type);
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
17 }
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
18
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
19 public String getOnlineStatus() {
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
20 String status = "<offline> ";
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
21 for (Map.Entry<String, Presence.Type> entry : presence.entrySet()) {
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
22 Presence.Type type = entry.getValue();
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
23 if(type == Presence.Type.available) {
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
24 status = "<online> ";
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
25 break;
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
26 }
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
27 }
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
28
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
29 return status;
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
30 }
25a32e2dfde5 update status in contact list and conversations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
31 }

mercurial