2019-02-07 22:39:33 +01:00
|
|
|
package com.beemdevelopment.aegis.helpers;
|
2018-06-05 19:03:02 +02:00
|
|
|
|
|
|
|
import android.os.Handler;
|
|
|
|
|
2018-06-06 16:15:31 +02:00
|
|
|
public class UiRefresher {
|
2018-06-05 19:03:02 +02:00
|
|
|
private boolean _running;
|
|
|
|
private Listener _listener;
|
|
|
|
private Handler _handler;
|
|
|
|
|
2018-06-06 16:15:31 +02:00
|
|
|
public UiRefresher(Listener listener) {
|
2018-06-05 19:03:02 +02:00
|
|
|
_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();
|
|
|
|
}
|
|
|
|
}
|