SysTrayPlugin: extract setIconByPresence()

This commit is contained in:
Sergey Ponomarev
2026-01-07 23:15:55 +02:00
committed by Guus der Kinderen
parent f5816166db
commit 2eb4a20d26

View File

@ -232,17 +232,7 @@ public class SysTrayPlugin implements Plugin, NativeHandler, ChatStateListener {
SparkManager.getSessionManager().addPresenceListener(
presence -> {
if (presence.getMode() == Presence.Mode.available) {
trayIcon.setImage(availableIcon.getImage());
} else if (presence.getMode() == Presence.Mode.away) {
trayIcon.setImage(awayIcon.getImage());
} else if (presence.getMode() == Presence.Mode.xa) {
trayIcon.setImage(xawayIcon.getImage());
} else if (presence.getMode() == Presence.Mode.dnd) {
trayIcon.setImage(dndIcon.getImage());
} else {
trayIcon.setImage(availableIcon.getImage());
}
setIconByPresence(presence, availableIcon);
});
try {
@ -443,17 +433,7 @@ public class SysTrayPlugin implements Plugin, NativeHandler, ChatStateListener {
@Override
public void flashWindowStopWhenFocused(Window window) {
presence = Workspace.getInstance().getStatusBar().getPresence();
if (presence.getMode() == Presence.Mode.available) {
trayIcon.setImage(availableIcon.getImage());
} else if (presence.getMode() == Presence.Mode.away) {
trayIcon.setImage(awayIcon.getImage());
} else if (presence.getMode() == Presence.Mode.xa) {
trayIcon.setImage(xawayIcon.getImage());
} else if (presence.getMode() == Presence.Mode.dnd) {
trayIcon.setImage(dndIcon.getImage());
} else {
trayIcon.setImage(availableIcon.getImage());
}
setIconByPresence(presence, availableIcon);
newMessage = false;
chatMessageHandler.clearUnreadMessages();
}
@ -466,17 +446,7 @@ public class SysTrayPlugin implements Plugin, NativeHandler, ChatStateListener {
@Override
public void stopFlashing(Window window) {
presence = Workspace.getInstance().getStatusBar().getPresence();
if (presence.getMode() == Presence.Mode.available) {
trayIcon.setImage(availableIcon.getImage());
} else if (presence.getMode() == Presence.Mode.away) {
trayIcon.setImage(awayIcon.getImage());
} else if (presence.getMode() == Presence.Mode.xa) {
trayIcon.setImage(xawayIcon.getImage());
} else if (presence.getMode() == Presence.Mode.dnd) {
trayIcon.setImage(dndIcon.getImage());
} else {
trayIcon.setImage(availableIcon.getImage());
}
setIconByPresence(presence, availableIcon);
newMessage = false;
chatMessageHandler.clearUnreadMessages();
}
@ -488,21 +458,25 @@ public class SysTrayPlugin implements Plugin, NativeHandler, ChatStateListener {
changeSysTrayIcon();
} else {
if (!newMessage) {
if (presence.getMode() == Presence.Mode.available) {
trayIcon.setImage(availableIcon.getImage());
} else if (presence.getMode() == Presence.Mode.away) {
trayIcon.setImage(awayIcon.getImage());
} else if (presence.getMode() == Presence.Mode.xa) {
trayIcon.setImage(xawayIcon.getImage());
} else if (presence.getMode() == Presence.Mode.dnd) {
trayIcon.setImage(dndIcon.getImage());
} else {
trayIcon.setImage(newMessageIcon.getImage());
}
setIconByPresence(presence, newMessageIcon);
}
}
}
private void setIconByPresence(Presence presence, ImageIcon newTrayIcon) {
if (presence.getMode() == Presence.Mode.available) {
trayIcon.setImage(newTrayIcon.getImage());
} else if (presence.getMode() == Presence.Mode.away) {
trayIcon.setImage(awayIcon.getImage());
} else if (presence.getMode() == Presence.Mode.xa) {
trayIcon.setImage(xawayIcon.getImage());
} else if (presence.getMode() == Presence.Mode.dnd) {
trayIcon.setImage(dndIcon.getImage());
} else {
trayIcon.setImage(newTrayIcon.getImage());
}
}
private void changeSysTrayIcon() {
if (pref.isTypingNotificationShown()) {
trayIcon.setImage(typingIcon.getImage());