package com.totsp.crossword;
import java.text.NumberFormat;
public class ImaginaryTimer {
private static final long SECONDS = 1000L;
private static final long MINUTES = 60L * SECONDS;
private final NumberFormat format = NumberFormat.getInstance();
private boolean running = false;
private long elapsed;
private long incept;
public ImaginaryTimer(long elapsed) {
this.elapsed = elapsed;
this.format.setMinimumIntegerDigits(2);
}
public long getElapsed() {
return this.running ? ((System.currentTimeMillis() - this.incept) + elapsed) : this.elapsed;
}
public void start() {
System.out.println("Timer Start!");
this.incept = System.currentTimeMillis();
running = true;
}
public void stop() {
System.out.println("Timer Stop!");
this.elapsed += (System.currentTimeMillis() - this.incept);
System.out.println("Elapsed: " + elapsed);
running = false;
}
public String time() {
long elapsed = this.getElapsed();
long mins = elapsed / MINUTES;
long secs = (elapsed - (MINUTES * mins)) / SECONDS;
return new StringBuilder(Long.toString(mins)).append(":")
.append(this.format.format(secs))
.toString();
}
}