mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-06-01 04:55:00 -04:00
Add disconnect/awake handlers (WIP)
This commit is contained in:
parent
3efca4101a
commit
ae6b95eed8
17 changed files with 1029 additions and 736 deletions
|
@ -26,7 +26,6 @@ import io.bitsquare.common.crypto.KeyRing;
|
|||
import io.bitsquare.common.crypto.KeyStorage;
|
||||
import io.bitsquare.crypto.EncryptionServiceModule;
|
||||
import io.bitsquare.gui.GuiModule;
|
||||
import io.bitsquare.gui.common.UIClock;
|
||||
import io.bitsquare.gui.common.view.CachingViewLoader;
|
||||
import io.bitsquare.gui.main.intructions.InstructionCenter;
|
||||
import io.bitsquare.gui.main.notifications.NotificationCenter;
|
||||
|
@ -64,7 +63,7 @@ class BitsquareAppModule extends AppModule {
|
|||
bind(Preferences.class).in(Singleton.class);
|
||||
bind(NotificationCenter.class).in(Singleton.class);
|
||||
bind(InstructionCenter.class).in(Singleton.class);
|
||||
bind(Clock.class).to(UIClock.class).in(Singleton.class);
|
||||
bind(Clock.class).in(Singleton.class);
|
||||
|
||||
File storageDir = new File(env.getRequiredProperty(Storage.DIR_KEY));
|
||||
bind(File.class).annotatedWith(named(Storage.DIR_KEY)).toInstance(storageDir);
|
||||
|
|
|
@ -1,79 +0,0 @@
|
|||
package io.bitsquare.gui.common;
|
||||
|
||||
import io.bitsquare.common.Clock;
|
||||
import io.bitsquare.common.Timer;
|
||||
import io.bitsquare.common.UserThread;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
public class UIClock implements Clock {
|
||||
private static final Logger log = LoggerFactory.getLogger(UIClock.class);
|
||||
private Timer timer;
|
||||
|
||||
private final List<Listener> listeners = new LinkedList<>();
|
||||
private long counter = 0;
|
||||
private long lastSecondTick;
|
||||
|
||||
public UIClock() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start() {
|
||||
if (timer == null) {
|
||||
lastSecondTick = System.currentTimeMillis();
|
||||
timer = UserThread.runPeriodically(() -> {
|
||||
listeners.stream().forEach(Listener::onSecondTick);
|
||||
counter++;
|
||||
if (counter >= 60) {
|
||||
counter = 0;
|
||||
listeners.stream().forEach(Listener::onMinuteTick);
|
||||
}
|
||||
|
||||
long currentTimeMillis = System.currentTimeMillis();
|
||||
long diff = currentTimeMillis - lastSecondTick;
|
||||
if (diff > 1000)
|
||||
listeners.stream().forEach(listener -> listener.onMissedSecondTick(diff - 1000));
|
||||
|
||||
lastSecondTick = currentTimeMillis;
|
||||
}, 1, TimeUnit.SECONDS);
|
||||
|
||||
/* timer = FxTimer.runPeriodically(Duration.ofSeconds(1), () -> {
|
||||
listeners.stream().forEach(Listener::onSecondTick);
|
||||
|
||||
counter++;
|
||||
if (counter >= 60) {
|
||||
counter = 0;
|
||||
listeners.stream().forEach(Listener::onMinuteTick);
|
||||
}
|
||||
|
||||
long currentTimeMillis = System.currentTimeMillis();
|
||||
long diff = currentTimeMillis - lastSecondTick;
|
||||
if (diff > 1000)
|
||||
listeners.stream().forEach(listener -> listener.onMissedSecondTick(diff - 1000));
|
||||
|
||||
lastSecondTick = currentTimeMillis;
|
||||
});*/
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop() {
|
||||
timer.stop();
|
||||
timer = null;
|
||||
counter = 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addListener(Listener listener) {
|
||||
listeners.add(listener);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeListener(Listener listener) {
|
||||
listeners.remove(listener);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue