diff -r ed1d52c5aa94 -r 763d3961400b project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/TickHandler.java --- a/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/TickHandler.java Sat Aug 18 00:22:33 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -package org.hedgewars.hedgeroid.netplay; - -import android.os.Handler; -import android.os.Looper; -import android.os.Message; - -/** - * This class handles regularly calling a specified runnable - * on the looper provided in the constructor. The first call - * occurs without delay (though still via the looper), all - * following calls are delayed by (approximately) the interval. - * The interval can be changed at any time, which will cause - * an immediate execution of the runnable again. - */ -public class TickHandler extends Handler { - private final Runnable callback; - private int messageId; - private long interval; - private boolean running; - - public TickHandler(Looper looper, long interval, Runnable callback) { - super(looper); - this.callback = callback; - this.interval = interval; - } - - public synchronized void stop() { - messageId++; - running = false; - } - - public synchronized void start() { - messageId++; - sendMessage(obtainMessage(messageId)); - running = true; - } - - public synchronized void setInterval(long interval) { - this.interval = interval; - if(running) { - start(); - } - } - - @Override - public synchronized void handleMessage(Message msg) { - if(msg.what == messageId) { - callback.run(); - } - if(msg.what == messageId) { - sendMessageDelayed(obtainMessage(messageId), interval); - } - } -} \ No newline at end of file