package edu.washington.cs.oneswarm.ui.gwt.client.newui;
import com.google.gwt.widgetideas.client.ProgressBar;
import com.google.gwt.widgetideas.client.ProgressBar.TextFormatter;
import edu.washington.cs.oneswarm.ui.gwt.rpc.StringTools;
import edu.washington.cs.oneswarm.ui.gwt.rpc.TorrentInfo;
public class SwarmRateTextFormatter extends TextFormatter {
TorrentInfo swarm;
public SwarmRateTextFormatter(TorrentInfo swarm) {
this.swarm = swarm;
}
protected String getText(ProgressBar bar, double curProgress) {
if (swarm.isStarted()) {
// * 1024 since these are denominated in KBps
String rate;
if (swarm.getExtraSourceSpeed() > 0) {
rate = " ("
+ StringTools.formatRate((int) swarm.getDownloadRate() * 1024
+ swarm.getExtraSourceSpeed()) + "/s)*";
} else {
rate = " (" + StringTools.formatRate((int) swarm.getDownloadRate() * 1024) + "/s"
+ ")";
}
return (int) (100 * bar.getPercent()) + "%" + rate;
} else {
return (int) (100 * bar.getPercent()) + "%" + " (stopped)";
}
}
}