Sort messenger search results

This commit is contained in:
Alejandro 2019-08-05 19:47:13 +03:00
parent cb8df7ce6e
commit 85831a9df3

View File

@ -7,11 +7,17 @@ import com.eu.habbo.messages.outgoing.MessageComposer;
import com.eu.habbo.messages.outgoing.Outgoing;
import gnu.trove.set.hash.THashSet;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class UserSearchResultComposer extends MessageComposer {
private final THashSet<MessengerBuddy> users;
private final THashSet<MessengerBuddy> friends;
private final Habbo habbo;
private static Comparator COMPARATOR = Comparator.comparing((MessengerBuddy b) -> b.getUsername().length()).thenComparing((MessengerBuddy b, MessengerBuddy b2) -> b.getUsername().compareToIgnoreCase(b2.getUsername()));
public UserSearchResultComposer(THashSet<MessengerBuddy> users, THashSet<MessengerBuddy> friends, Habbo habbo) {
this.users = users;
this.friends = friends;
@ -21,7 +27,7 @@ public class UserSearchResultComposer extends MessageComposer {
@Override
public ServerMessage compose() {
this.response.init(Outgoing.UserSearchResultComposer);
THashSet<MessengerBuddy> u = new THashSet<>();
List<MessengerBuddy> u = new ArrayList<>();
for (MessengerBuddy buddy : this.users) {
if (!buddy.getUsername().equals(this.habbo.getHabboInfo().getUsername()) && !this.inFriendList(buddy)) {
@ -29,6 +35,11 @@ public class UserSearchResultComposer extends MessageComposer {
}
}
List<MessengerBuddy> friends = new ArrayList<>(this.friends);
u.sort(UserSearchResultComposer.COMPARATOR);
friends.sort(UserSearchResultComposer.COMPARATOR);
this.response.appendInt(this.friends.size());
for (MessengerBuddy buddy : this.friends) {
this.response.appendInt(buddy.getId());