Mon, 30 Dec 2024 13:15:48 +0100
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 | } |