package com.github.donkirkby.vograbulary;
import java.util.HashMap;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
public class AndroidScheduler implements Scheduler {
private Timer timer;
private Map<Runnable, TimerTask> timerTasks = new HashMap<>();
public AndroidScheduler() {
boolean isDaemon = true;
timer = new Timer(isDaemon);
}
@Override
public void scheduleRepeating(final Runnable task, int periodMilliseconds) {
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
task.run();
}
};
timerTasks.put(task, timerTask);
timer.scheduleAtFixedRate(
timerTask,
periodMilliseconds,
periodMilliseconds);
}
@Override
public void cancel(Runnable task) {
TimerTask timerTask = timerTasks.remove(task);
if (timerTask != null) {
timerTask.cancel();
}
}
}