diff options
Diffstat (limited to 'src/main/java/de/pixart/messenger/entities')
-rw-r--r-- | src/main/java/de/pixart/messenger/entities/Presences.java | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/main/java/de/pixart/messenger/entities/Presences.java b/src/main/java/de/pixart/messenger/entities/Presences.java index d57515392..c82e733e9 100644 --- a/src/main/java/de/pixart/messenger/entities/Presences.java +++ b/src/main/java/de/pixart/messenger/entities/Presences.java @@ -139,11 +139,31 @@ public class Presences { typeMap.put(resource, type); } if (name != null) { - nameMap.put(resource, name); + nameMap.put(resource, nameWithoutVersion(name)); } } } } return new Pair<>(typeMap, nameMap); } + + private static String nameWithoutVersion(String name) { + String[] parts = name.split(" "); + if (parts.length <= 1) { + return name; + } else { + if (Character.isDigit(parts[parts.length - 1].charAt(0))) { + StringBuilder output = new StringBuilder(); + for (int i = 0; i < parts.length - 1; ++i) { + if (output.length() != 0) { + output.append(' '); + } + output.append(parts[i]); + } + return output.toString(); + } else { + return name; + } + } + } } |