diff --git a/G-Earth/src/main/java/gearth/misc/packet_info/providers/implementations/HarblePacketInfoProvider.java b/G-Earth/src/main/java/gearth/misc/packet_info/providers/implementations/HarblePacketInfoProvider.java index 26d0e62..b8c4b9f 100644 --- a/G-Earth/src/main/java/gearth/misc/packet_info/providers/implementations/HarblePacketInfoProvider.java +++ b/G-Earth/src/main/java/gearth/misc/packet_info/providers/implementations/HarblePacketInfoProvider.java @@ -35,7 +35,10 @@ public class HarblePacketInfoProvider extends RemotePacketInfoProvider { String name; String hash; String structure; - try { name = object.getString("Name"); } + try { + name = object.getString("Name") + .replaceAll("Composer$", ""); + } catch (Exception e) { name = null; } try { hash = object.getString("Hash"); } catch (Exception e) { hash = null; } diff --git a/G-Earth/src/main/java/gearth/ui/logger/loggerdisplays/uilogger/UiLoggerController.java b/G-Earth/src/main/java/gearth/ui/logger/loggerdisplays/uilogger/UiLoggerController.java index c2567fc..ba863c7 100644 --- a/G-Earth/src/main/java/gearth/ui/logger/loggerdisplays/uilogger/UiLoggerController.java +++ b/G-Earth/src/main/java/gearth/ui/logger/loggerdisplays/uilogger/UiLoggerController.java @@ -19,6 +19,7 @@ import org.fxmisc.richtext.model.StyleSpansBuilder; import java.net.URL; import java.util.*; + import java.util.stream.Collectors; public class UiLoggerController implements Initializable { public FlowPane flowPane; @@ -33,7 +34,7 @@ public class UiLoggerController implements Initializable { public CheckMenuItem chkSkipBigPackets; public CheckMenuItem chkMessageName; public CheckMenuItem chkMessageHash; - public Label lblHarbleAPI; + public Label lblPacketInfo; private StyleClassedTextArea area; @@ -95,23 +96,32 @@ public class UiLoggerController implements Initializable { boolean packetInfoAvailable = packetInfoManager.getPacketInfoList().size() > 0; - lblHarbleAPI.setText("Packet info: " + (packetInfoAvailable ? "True" : "False")); + lblPacketInfo.setText("Packet info: " + (packetInfoAvailable ? "True" : "False")); if ((viewMessageName || viewMessageHash) && packetInfoAvailable) { - PacketInfo message = packetInfoManager.getPacketInfoFromHeaderId( + List messages = packetInfoManager.getAllPacketInfoFromHeaderId( (isIncoming ? HMessage.Direction.TOCLIENT : HMessage.Direction.TOSERVER), packet.headerId() ); + List names = messages.stream().map(PacketInfo::getName) + .filter(Objects::nonNull).distinct().collect(Collectors.toList()); + List hashes = messages.stream().map(PacketInfo::getHash) + .filter(Objects::nonNull).distinct().collect(Collectors.toList()); - if (message != null && !(viewMessageName && !viewMessageHash && message.getName() == null)) { - if (viewMessageName && message.getName() != null) { - elements.add(new Element("["+message.getName()+"]", "messageinfo")); - } - if (viewMessageHash && message.getHash() != null) { - elements.add(new Element("["+message.getHash()+"]", "messageinfo")); - } + boolean addedSomething = false; + if (viewMessageName && names.size() > 0) { + for (String name : names) {elements.add(new Element("["+name+"]", "messageinfo")); } + addedSomething = true; + } + if (viewMessageHash && hashes.size() > 0) { + for (String hash : hashes) {elements.add(new Element("["+hash+"]", "messageinfo")); } + addedSomething = true; + } + + if (addedSomething) { elements.add(new Element("\n", "")); } + } if (isBlocked) elements.add(new Element("[Blocked]\n", "blocked")); diff --git a/G-Earth/src/main/resources/gearth/ui/logger/uilogger/UiLogger.fxml b/G-Earth/src/main/resources/gearth/ui/logger/uilogger/UiLogger.fxml index 1299ca7..cc7e3e1 100644 --- a/G-Earth/src/main/resources/gearth/ui/logger/uilogger/UiLogger.fxml +++ b/G-Earth/src/main/resources/gearth/ui/logger/uilogger/UiLogger.fxml @@ -1,15 +1,11 @@ - - - - - - - - + + + + - + @@ -75,7 +71,7 @@ -