@Override public void prepare() { super.prepare(); transfer.start(); listener.transferDidStart(transfer); timerPool = new ScheduledThreadPool(); progressTimer = timerPool.repeat(new Runnable() { @Override public void run() { if(transfer.isReset()) { listener.transferDidProgress(transfer, meter.getStatus()); } } }, 100L, TimeUnit.MILLISECONDS); }