1 package net.osdn.gokigen.joggingtimer.stopwatch;
7 class MyTimerTrigger implements ITimerStopTrigger
9 private final ITimeoutReceiver triggerReceiver;
10 private final long duration;
11 private final ITimerCounter timerCounter;
12 private boolean forceStop = false;
14 MyTimerTrigger(ITimeoutReceiver triggerReceiver, long duration, ITimerCounter timerCounter)
16 this.triggerReceiver = triggerReceiver;
17 this.duration = duration;
18 this.timerCounter = timerCounter;
23 Thread thread = new Thread(new Runnable() {
27 if (timerCounter != null)
31 Thread.sleep(duration);
32 } catch (Exception e) {
33 // timeout! (But, do nothing!)
35 if (triggerReceiver != null)
37 triggerReceiver.timeout();
39 } while ((timerCounter.isStarted())&&(!forceStop));
55 public void forceStop()
60 public interface ITimeoutReceiver