From 41deff1bf3bb7812b361315eb0953fa18f378057 Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Wed, 5 Jun 2019 17:41:09 +0100 Subject: [PATCH] Suppress redundant enabled/disabled events. --- .../org/briarproject/bramble/plugin/PluginManagerImpl.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java index cbaac09430..d4d69ca565 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java @@ -250,6 +250,7 @@ class PluginManagerImpl implements PluginManager, Service { private class Callback implements PluginCallback { private final TransportId id; + private final AtomicBoolean enabled = new AtomicBoolean(false); private Callback(TransportId id) { this.id = id; @@ -295,12 +296,14 @@ class PluginManagerImpl implements PluginManager, Service { @Override public void transportEnabled() { - eventBus.broadcast(new TransportEnabledEvent(id)); + if (!enabled.getAndSet(true)) + eventBus.broadcast(new TransportEnabledEvent(id)); } @Override public void transportDisabled() { - eventBus.broadcast(new TransportDisabledEvent(id)); + if (enabled.getAndSet(false)) + eventBus.broadcast(new TransportDisabledEvent(id)); } @Override -- GitLab