Kart:Android:Timer
From FSI
Revision as of 14:55, 19 August 2015 by Michael.clausen (Talk | contribs)
package ch.hevs.utils.timer; import android.os.Handler; public abstract class Timer { public abstract void onTimeout(); public void scheduleOnce(final int delayMs) { if (interval == 0) { continuously = false; interval = 0; handler.postDelayed(runnable, delayMs); } } public void schedulePeriodically(final int intervalMs) { if (interval == 0) { continuously = true; interval = intervalMs; handler.post(runnable); } } public void stop() { interval = 0; } private boolean continuously = false; private int interval = 0; private final Handler handler = new Handler(); private final Runnable runnable = new Runnable() { @Override public void run() { onTimeout(); if (continuously && interval != 0) { handler.postDelayed(runnable, interval); } } }; }