mirror of
https://github.com/beemdevelopment/Aegis.git
synced 2025-05-02 03:24:27 +00:00
42 lines
947 B
Java
42 lines
947 B
Java
|
package me.impy.aegis.helpers;
|
||
|
|
||
|
import android.os.Handler;
|
||
|
|
||
|
public class UIRefresher {
|
||
|
private boolean _running;
|
||
|
private Listener _listener;
|
||
|
private Handler _handler;
|
||
|
|
||
|
public UIRefresher(Listener listener) {
|
||
|
_listener = listener;
|
||
|
_handler = new Handler();
|
||
|
}
|
||
|
|
||
|
public void start() {
|
||
|
if (_running) {
|
||
|
return;
|
||
|
}
|
||
|
_running = true;
|
||
|
|
||
|
_listener.onRefresh();
|
||
|
_handler.postDelayed(new Runnable() {
|
||
|
@Override
|
||
|
public void run() {
|
||
|
if (_running) {
|
||
|
_listener.onRefresh();
|
||
|
_handler.postDelayed(this, _listener.getMillisTillNextRefresh());
|
||
|
}
|
||
|
}
|
||
|
}, _listener.getMillisTillNextRefresh());
|
||
|
}
|
||
|
|
||
|
public void stop() {
|
||
|
_running = false;
|
||
|
}
|
||
|
|
||
|
public interface Listener {
|
||
|
void onRefresh();
|
||
|
long getMillisTillNextRefresh();
|
||
|
}
|
||
|
}
|