Kart:Android:Timer

From FSI
Revision as of 14:55, 19 August 2015 by Michael.clausen (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
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);
            }
        }
    };
}
Personal tools
Namespaces
Variants
Actions
Navigation
Modules / Projects
Browse
Toolbox