From 5517ac14edaf305b23808e75533ec3002ea11da6 Mon Sep 17 00:00:00 2001 From: akwizgran Date: Fri, 3 Jun 2022 17:09:51 +0100 Subject: [PATCH] Address review feedback. --- .../bramble/mailbox/TorReachabilityMonitor.java | 2 +- .../bramble/mailbox/TorReachabilityMonitorImpl.java | 5 +++-- .../bramble/mailbox/TorReachabilityMonitorImplTest.java | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/TorReachabilityMonitor.java b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/TorReachabilityMonitor.java index e9620c9bd..c6b86d88a 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/TorReachabilityMonitor.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/TorReachabilityMonitor.java @@ -36,7 +36,7 @@ interface TorReachabilityMonitor { * Observers are removed after being called, or when the monitor is * {@link #destroy() destroyed}. */ - void addObserver(TorReachabilityObserver o); + void addOneShotObserver(TorReachabilityObserver o); interface TorReachabilityObserver { diff --git a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/TorReachabilityMonitorImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/TorReachabilityMonitorImpl.java index a82d1a966..fa16682b3 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/TorReachabilityMonitorImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/TorReachabilityMonitorImpl.java @@ -70,13 +70,14 @@ class TorReachabilityMonitorImpl eventBus.removeListener(this); synchronized (lock) { destroyed = true; - onTorInactive(); + if (task != null) task.cancel(); + task = null; observers.clear(); } } @Override - public void addObserver(TorReachabilityObserver o) { + public void addOneShotObserver(TorReachabilityObserver o) { boolean callNow = false; synchronized (lock) { if (destroyed) return; diff --git a/bramble-core/src/test/java/org/briarproject/bramble/mailbox/TorReachabilityMonitorImplTest.java b/bramble-core/src/test/java/org/briarproject/bramble/mailbox/TorReachabilityMonitorImplTest.java index d9c800f8e..54e30db85 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/mailbox/TorReachabilityMonitorImplTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/mailbox/TorReachabilityMonitorImplTest.java @@ -156,7 +156,7 @@ public class TorReachabilityMonitorImplTest extends BrambleMockTestCase { monitor.start(); // Register an observer - monitor.addObserver(observer); + monitor.addOneShotObserver(observer); // When Tor becomes active, a task should be scheduled AtomicReference runnable = new AtomicReference<>(null); @@ -202,7 +202,7 @@ public class TorReachabilityMonitorImplTest extends BrambleMockTestCase { monitor.start(); // Register an observer - monitor.addObserver(observer); + monitor.addOneShotObserver(observer); // When the task runs, the observer should be called context.checking(new Expectations() {{ @@ -241,6 +241,6 @@ public class TorReachabilityMonitorImplTest extends BrambleMockTestCase { oneOf(observer).onTorReachable(); }}); - monitor.addObserver(observer); + monitor.addOneShotObserver(observer); } }