refactor: use buildPresenceFrom()

This commit is contained in:
Sergey Ponomarev
2026-07-30 10:01:50 +03:00
parent cdc16bbc29
commit 81bd244b3e
14 changed files with 18 additions and 66 deletions

View File

@ -258,7 +258,6 @@ public final class MainWindow extends ChatFrame {
Presence byePresence = StanzaBuilder.buildPresence()
.ofType(Presence.Type.unavailable)
.setStatus(reason)
.setPriority(-1)
.build();
try
{

View File

@ -88,11 +88,7 @@ public class ConferenceServices implements InvitationListener {
}
GroupChatRoom groupChatRoom = (GroupChatRoom) room;
EntityBareJid jid = groupChatRoom.getMultiUserChat().getRoom();
final Presence p = StanzaBuilder.buildPresence()
.ofType(presence.getType())
.setStatus(presence.getStatus())
.setPriority(presence.getPriority())
.setMode(presence.getMode())
Presence p = StanzaBuilder.buildPresenceFrom(presence, (String) null)
.to(jid)
.build();
try {

View File

@ -491,11 +491,9 @@ public class CustomMessages {
StatusItem item = statusBar.getStatusItem(getType());
Presence oldPresence = item.getPresence();
Presence presence = StanzaBuilder.buildPresence()
.ofType(oldPresence.getType())
Presence presence = StanzaBuilder.buildPresenceFrom(oldPresence, (String) null)
.setStatus(getStatus())
.setPriority(getPriority())
.setMode(oldPresence.getMode())
.build();
SparkManager.getSessionManager().changePresence(presence);
@ -528,11 +526,9 @@ public class CustomMessages {
// Update current status.
StatusItem item = statusBar.getStatusItem(getType());
Presence oldPresence = item.getPresence();
Presence presence = StanzaBuilder.buildPresence()
.ofType(oldPresence.getType())
Presence presence = StanzaBuilder.buildPresenceFrom(oldPresence, (String) null)
.setStatus(getStatus())
.setPriority(getPriority())
.setMode(oldPresence.getMode())
.build();
SparkManager.getSessionManager().changePresence(presence);

View File

@ -110,11 +110,8 @@ public class StatusBar extends JPanel implements VCardListener {
//setBorder(BorderFactory.createLineBorder(new Color(197, 213, 230), 1));
SparkManager.getSessionManager().addPresenceListener(presence -> {
Presence statusPresence = StanzaBuilder.buildPresence()
.ofType(presence.getType())
Presence statusPresence = StanzaBuilder.buildPresenceFrom(presence, (String) null)
.setStatus(StringUtils.modifyWildcards(presence.getStatus()))
.setPriority(presence.getPriority())
.setMode(presence.getMode())
.build();
changeAvailability(statusPresence);
@ -247,11 +244,9 @@ public class StatusBar extends JPanel implements VCardListener {
SwingWorker worker = new SwingWorker() {
@Override
public Object construct() {
Presence presence = StanzaBuilder.buildPresence()
.ofType(si.getPresence().getType())
Presence presence = StanzaBuilder.buildPresenceFrom(si.getPresence(), (String) null)
.setStatus(customStatus)
.setPriority(customItem.getPriority())
.setMode(si.getPresence().getMode())
.build();
return changePresence(presence);
}
@ -575,11 +570,8 @@ public class StatusBar extends JPanel implements VCardListener {
JOptionPane.showMessageDialog(null, Res.getString("dialog.invisible.privacy.lists.not.supported"));
}
Presence copyPresence = StanzaBuilder.buildPresence()
.ofType(presence.getType())
Presence copyPresence = StanzaBuilder.buildPresenceFrom(presence, (String)null)
.setStatus(isNewPresenceInvisible ? null : presence.getStatus())
.setPriority(presence.getPriority())
.setMode(presence.getMode())
.build();
if (PresenceManager.areEqual(getCurrentPresence(), copyPresence)) {
return presence.getStatus();

View File

@ -77,11 +77,7 @@ public class GatewayButton extends JPanel implements GatewayItem {
boolean autoJoin = TransportUtils.autoJoinService(transport.getXMPPServiceDomain());
if (autoJoin) {
Presence oldPresence = statusBar.getPresence();
Presence presence = StanzaBuilder.buildPresence()
.ofType(oldPresence.getType())
.setStatus(oldPresence.getStatus())
.setPriority(oldPresence.getPriority())
.setMode(oldPresence.getMode())
Presence presence = StanzaBuilder.buildPresenceFrom(oldPresence, (String) null)
.to(transport.getXMPPServiceDomain())
.build();
try

View File

@ -289,11 +289,7 @@ public class GatewayPlugin implements Plugin, ContactItemHandler {
return;
}
// Create new presence
Presence p = StanzaBuilder.buildPresence()
.ofType(presence.getType())
.setStatus(presence.getStatus())
.setPriority(presence.getPriority())
.setMode(presence.getMode())
Presence p = StanzaBuilder.buildPresenceFrom(presence, (String) null)
.to(transport.getXMPPServiceDomain())
.build();
try

View File

@ -103,11 +103,7 @@ public class GatewayTabItem extends CollapsiblePane implements GatewayItem {
.getXMPPServiceDomain());
if (autoJoin) {
Presence oldPresence = statusBar.getPresence();
Presence presence = StanzaBuilder.buildPresence()
.ofType(oldPresence.getType())
.setStatus(oldPresence.getStatus())
.setPriority(oldPresence.getPriority())
.setMode(oldPresence.getMode())
Presence presence = StanzaBuilder.buildPresenceFrom(oldPresence, (String) null)
.to(transport.getXMPPServiceDomain())
.build();
try

View File

@ -51,11 +51,8 @@ public class PrivacyPresenceHandler implements SparkPrivacyItemListener {
public void sendRealPresenceTo(Jid jid) throws SmackException.NotConnectedException
{
Presence presence = SparkManager.getWorkspace().getStatusBar().getPresence();
Presence pack = StanzaBuilder.buildPresence()
.ofType(presence.getType())
.setStatus(presence.getStatus())
Presence pack = StanzaBuilder.buildPresenceFrom(presence, (String) null)
.setPriority(1)
.setMode(presence.getMode())
.to(jid)
.build();
try {

View File

@ -22,7 +22,6 @@ import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.AbstractAction;
import javax.swing.Action;
@ -229,11 +228,9 @@ public class SysTrayPlugin implements Plugin, NativeHandler, ChatStateListener {
@Override
public void actionPerformed(ActionEvent e) {
Presence oldPresence = statusItem.getPresence();
Presence presence = StanzaBuilder.buildPresence()
.ofType(oldPresence.getType())
Presence presence = StanzaBuilder.buildPresenceFrom(oldPresence, (String) null)
.setStatus(customItem.getStatus())
.setPriority(customItem.getPriority())
.setMode(oldPresence.getMode())
.build();
SparkManager.getSessionManager().changePresence(presence);

View File

@ -320,11 +320,7 @@ public class VCardEditor {
// Notify users on avatar change
if (avatarBytes != null) {
Presence presence = SparkManager.getWorkspace().getStatusBar().getPresence();
Presence newPresence = StanzaBuilder.buildPresence()
.ofType(presence.getType())
.setStatus(presence.getStatus())
.setPriority(presence.getPriority())
.setMode(presence.getMode())
Presence newPresence = StanzaBuilder.buildPresenceFrom(presence, (String) null)
.build();
// Change my own presence

View File

@ -257,7 +257,6 @@ public class ApplePlugin implements Plugin, NativeHandler {
.setPriority(0)
.setMode(p.getMode())
.build();
SparkManager.getSessionManager().changePresence(newPresence);
}
}
@ -281,11 +280,8 @@ public class ApplePlugin implements Plugin, NativeHandler {
Presence presence = workspace.getStatusBar().getStatusItem(Res.getString("available"))
.getPresence();
Presence newPresence = StanzaBuilder.buildPresence()
.ofType(presence.getType())
.setStatus(presence.getStatus())
Presence newPresence = StanzaBuilder.buildPresenceFrom(presence, (String) null)
.setPriority(previousPriority != -1 ? previousPriority : presence.getPriority())
.setMode(presence.getMode())
.build();
SparkManager.getSessionManager().changePresence(newPresence);

View File

@ -24,7 +24,6 @@ import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.Presence;
import org.jivesoftware.smack.packet.StanzaBuilder;
import org.jivesoftware.smackx.disco.packet.DiscoverItems;
import org.jivesoftware.smackx.workgroup.agent.Agent;
import org.jivesoftware.smackx.workgroup.agent.AgentSession;
import org.jivesoftware.smackx.workgroup.user.Workgroup;
@ -299,11 +298,7 @@ public class FastpathPlugin implements Plugin, ConnectionListener {
// Send actual presence to workgroup.
final Presence actualPresence = SparkManager.getWorkspace().getStatusBar().getPresence();
Presence toWorkgroupPresence = StanzaBuilder.buildPresence()
.ofType(actualPresence.getType())
.setStatus(actualPresence.getStatus())
.setPriority(actualPresence.getPriority())
.setMode(actualPresence.getMode())
Presence toWorkgroupPresence = StanzaBuilder.buildPresenceFrom(actualPresence, (String) null)
.to(workgroup)
.build();
try {

View File

@ -267,7 +267,7 @@ public class PhonePlugin implements Plugin {
// Send "on the phone" presence
onPhonePresence = StanzaBuilder.buildPresence()
.ofType(Presence.Type.available)
.setStatus("On the phone")
.setStatus(Res.getString("status.on.phone"))
.setPriority(1)
.setMode(Presence.Mode.away)
.build();

View File

@ -211,14 +211,14 @@ public class CallManager implements InterlocutorListener {
Presence current = SparkManager.getWorkspace().getStatusBar().getPresence();
// Set offline presence if necessary.
if (offPhonePresence == null || !(current.getType().equals(Presence.Type.available) && current.getStatus().equals("On the phone") && current.getMode().equals(Presence.Mode.away))) {
if (offPhonePresence == null || !(current.getType().equals(Presence.Type.available) && current.getStatus().equals(Res.getString("status.on.phone")) && current.getMode().equals(Presence.Mode.away))) {
offPhonePresence = current;
}
// Send on phone presence
Presence onPhonePresence = StanzaBuilder.buildPresence()
.ofType(Presence.Type.available)
.setStatus("On the phone")
.setStatus(Res.getString("status.on.phone"))
.setPriority(1)
.setMode(Presence.Mode.away)
.build();
@ -324,7 +324,7 @@ public class CallManager implements InterlocutorListener {
// Set user to available when all phone calls are hung up.
Presence availablePresence = StanzaBuilder.buildPresence()
.ofType(Presence.Type.available)
.setStatus("Online")
.setStatus(Res.getString("status.online"))
.setPriority(1)
.setMode(Presence.Mode.available)
.build();