X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fxdcc%2Fui%2Fstdin%2FListDownloadsCommand.java;h=8a19dffda7480d576bff87462f8cb7337ea6fc92;hb=5d31ca8229a8ad96822788015313bf5adada892e;hp=753b6774fa4a4558252983b6dd2747130242d109;hpb=1ca482cdf4956eb7dcdcfd75c4d0412cf0261fdf;p=xudocci.git diff --git a/src/main/java/net/pterodactylus/xdcc/ui/stdin/ListDownloadsCommand.java b/src/main/java/net/pterodactylus/xdcc/ui/stdin/ListDownloadsCommand.java index 753b677..8a19dff 100644 --- a/src/main/java/net/pterodactylus/xdcc/ui/stdin/ListDownloadsCommand.java +++ b/src/main/java/net/pterodactylus/xdcc/ui/stdin/ListDownloadsCommand.java @@ -22,7 +22,9 @@ import static com.google.common.collect.Lists.newArrayList; import static java.util.Arrays.asList; import static net.pterodactylus.xdcc.data.Download.BY_NAME; import static net.pterodactylus.xdcc.data.Download.BY_RUNNING; +import static net.pterodactylus.xdcc.data.Download.SECONDS_LEFT; import static net.pterodactylus.xdcc.ui.stdin.CommandReader.f; +import static net.pterodactylus.xdcc.ui.stdin.CommandReader.t; import java.io.IOException; import java.io.Writer; @@ -82,7 +84,7 @@ public class ListDownloadsCommand implements Command { } outputWriter.write(String.format("[%d] %s from %s (%s, ", counter++, dccReceiver.filename(), download.bot().name(), f(dccReceiver.size()))); if (dccReceiver.isRunning()) { - outputWriter.write(String.format("%.1f%%, %s/s, %s", dccReceiver.progress() * 100.0 / dccReceiver.size(), f(dccReceiver.currentRate()), getTimeLeft(dccReceiver))); + outputWriter.write(String.format("%.1f%%, %s/s, %s", dccReceiver.progress() * 100.0 / dccReceiver.size(), f(dccReceiver.currentRate()), t(SECONDS_LEFT.apply(download)))); } else { if (dccReceiver.progress() >= dccReceiver.size()) { outputWriter.write(String.format("complete, %s/s", f(dccReceiver.overallRate()))); @@ -97,27 +99,4 @@ public class ListDownloadsCommand implements Command { return state.setLastDownloads(downloads); } - // - // PRIVATE METHODS - // - - /** - * Returns the estimated time left for the given transfer. - * - * @param dccReceiver - * The DCC receiver to get the time left for - * @return The time left for the transfer, or “unknown” if the time can not be - * estimated - */ - private static String getTimeLeft(DccReceiver dccReceiver) { - if ((dccReceiver.size() == -1) || (dccReceiver.currentRate() == 0)) { - return "unknown"; - } - long secondsLeft = (dccReceiver.size() - dccReceiver.progress()) / dccReceiver.currentRate(); - if (secondsLeft > 3600) { - return String.format("%02d:%02d:%02d", secondsLeft / 3600, (secondsLeft / 60) % 60, secondsLeft % 60); - } - return String.format("%02d:%02d", (secondsLeft / 60) % 60, secondsLeft % 60); - } - }