Aegis/app/src/main/java/com/beemdevelopment/aegis/helpers/UiRefresher.java

42 lines
959 B
Java
Raw Normal View History

package com.beemdevelopment.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();
}
}