X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fxdcc%2Fui%2Fstdin%2FCommandReader.java;h=9cd2a12cc4b18d89ae07e6ee0da7cb14ddcfa80f;hb=2d0f3614a96b0d8f7d5666c65ab80b3cbf5349ec;hp=7b6e64fe96d858baea9b04ed1829dae5b7cd6c1f;hpb=2046535620b0b7594034471842086a47342e1f5a;p=xudocci.git diff --git a/src/main/java/net/pterodactylus/xdcc/ui/stdin/CommandReader.java b/src/main/java/net/pterodactylus/xdcc/ui/stdin/CommandReader.java index 7b6e64f..9cd2a12 100644 --- a/src/main/java/net/pterodactylus/xdcc/ui/stdin/CommandReader.java +++ b/src/main/java/net/pterodactylus/xdcc/ui/stdin/CommandReader.java @@ -43,6 +43,7 @@ import net.pterodactylus.xdcc.data.Download; import net.pterodactylus.xdcc.data.Pack; import com.google.common.base.Predicate; +import com.google.common.collect.ComparisonChain; import com.google.common.collect.Lists; import com.google.common.collect.Sets; import com.google.common.eventbus.Subscribe; @@ -439,14 +440,10 @@ public class CommandReader extends AbstractExecutionThreadService { @Override public int compareTo(Result result) { - if (isArchive.apply(this) && !isArchive.apply(result)) { - return 1; - } - if (!isArchive.apply(this) && isArchive.apply(result)) { - return -1; - } - /* sort by bot name. */ - return botNameComparator.compare(bot().name(), result.bot().name()); + return ComparisonChain.start() + .compare(this, result, packArchiveComparator) + .compare(this, result, botNameComparator) + .compare(this, result, packNameComparator).result(); } }