Address review feedback.

This commit is contained in:
akwizgran
2022-06-03 17:09:51 +01:00
parent 2672d82a40
commit 5517ac14ed
3 changed files with 7 additions and 6 deletions

View File

@@ -36,7 +36,7 @@ interface TorReachabilityMonitor {
* Observers are removed after being called, or when the monitor is * Observers are removed after being called, or when the monitor is
* {@link #destroy() destroyed}. * {@link #destroy() destroyed}.
*/ */
void addObserver(TorReachabilityObserver o); void addOneShotObserver(TorReachabilityObserver o);
interface TorReachabilityObserver { interface TorReachabilityObserver {

View File

@@ -70,13 +70,14 @@ class TorReachabilityMonitorImpl
eventBus.removeListener(this); eventBus.removeListener(this);
synchronized (lock) { synchronized (lock) {
destroyed = true; destroyed = true;
onTorInactive(); if (task != null) task.cancel();
task = null;
observers.clear(); observers.clear();
} }
} }
@Override @Override
public void addObserver(TorReachabilityObserver o) { public void addOneShotObserver(TorReachabilityObserver o) {
boolean callNow = false; boolean callNow = false;
synchronized (lock) { synchronized (lock) {
if (destroyed) return; if (destroyed) return;

View File

@@ -156,7 +156,7 @@ public class TorReachabilityMonitorImplTest extends BrambleMockTestCase {
monitor.start(); monitor.start();
// Register an observer // Register an observer
monitor.addObserver(observer); monitor.addOneShotObserver(observer);
// When Tor becomes active, a task should be scheduled // When Tor becomes active, a task should be scheduled
AtomicReference<Runnable> runnable = new AtomicReference<>(null); AtomicReference<Runnable> runnable = new AtomicReference<>(null);
@@ -202,7 +202,7 @@ public class TorReachabilityMonitorImplTest extends BrambleMockTestCase {
monitor.start(); monitor.start();
// Register an observer // Register an observer
monitor.addObserver(observer); monitor.addOneShotObserver(observer);
// When the task runs, the observer should be called // When the task runs, the observer should be called
context.checking(new Expectations() {{ context.checking(new Expectations() {{
@@ -241,6 +241,6 @@ public class TorReachabilityMonitorImplTest extends BrambleMockTestCase {
oneOf(observer).onTorReachable(); oneOf(observer).onTorReachable();
}}); }});
monitor.addObserver(observer); monitor.addOneShotObserver(observer);
} }
} }