diff --git a/app/src/main/java/com/limelight/computers/ComputerManagerService.java b/app/src/main/java/com/limelight/computers/ComputerManagerService.java index 95ed5381..f8d77f9f 100644 --- a/app/src/main/java/com/limelight/computers/ComputerManagerService.java +++ b/app/src/main/java/com/limelight/computers/ComputerManagerService.java @@ -431,11 +431,6 @@ public class ComputerManagerService extends Service { } } - @Override - public void notifyComputerRemoved(MdnsComputer computer) { - // Nothing to do here - } - @Override public void notifyDiscoveryFailure(Exception e) { LimeLog.severe("mDNS discovery failed"); diff --git a/app/src/main/java/com/limelight/discovery/DiscoveryService.java b/app/src/main/java/com/limelight/discovery/DiscoveryService.java index 4f62062f..07644ac1 100644 --- a/app/src/main/java/com/limelight/discovery/DiscoveryService.java +++ b/app/src/main/java/com/limelight/discovery/DiscoveryService.java @@ -54,13 +54,6 @@ public class DiscoveryService extends Service { } } - @Override - public void notifyComputerRemoved(MdnsComputer computer) { - if (boundListener != null) { - boundListener.notifyComputerRemoved(computer); - } - } - @Override public void notifyDiscoveryFailure(Exception e) { if (boundListener != null) { diff --git a/app/src/main/java/com/limelight/nvstream/mdns/MdnsDiscoveryAgent.java b/app/src/main/java/com/limelight/nvstream/mdns/MdnsDiscoveryAgent.java index 03141b51..b242297a 100644 --- a/app/src/main/java/com/limelight/nvstream/mdns/MdnsDiscoveryAgent.java +++ b/app/src/main/java/com/limelight/nvstream/mdns/MdnsDiscoveryAgent.java @@ -7,7 +7,6 @@ import java.net.Inet6Address; import java.net.InetAddress; import java.net.NetworkInterface; import java.util.ArrayList; -import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -25,13 +24,13 @@ public class MdnsDiscoveryAgent implements ServiceListener { private MdnsDiscoveryListener listener; private Thread discoveryThread; - private HashMap computers = new HashMap(); - private HashSet pendingResolution = new HashSet(); + private HashSet computers = new HashSet<>(); + private HashSet pendingResolution = new HashSet<>(); // The resolver factory's instance member has a static lifetime which // means our ref count and listener must be static also. private static int resolverRefCount = 0; - private static HashSet listeners = new HashSet(); + private static HashSet listeners = new HashSet<>(); private static ServiceListener nvstreamListener = new ServiceListener() { @Override public void serviceAdded(ServiceEvent event) { @@ -107,7 +106,7 @@ public class MdnsDiscoveryAgent implements ServiceListener { return false; } } - }; + } static { // Override jmDNS's default topology discovery class with ours @@ -261,7 +260,7 @@ public class MdnsDiscoveryAgent implements ServiceListener { for (Inet4Address v4Addr : v4Addrs) { synchronized (computers) { MdnsComputer computer = new MdnsComputer(info.getName(), v4Addr, v6GlobalAddr, info.getPort()); - if (computers.put(computer.getLocalAddress(), computer) == null) { + if (computers.add(computer)) { // This was a new entry listener.notifyComputerAdded(computer); } @@ -274,8 +273,7 @@ public class MdnsDiscoveryAgent implements ServiceListener { if (v6LocalAddr != null || v6GlobalAddr != null) { MdnsComputer computer = new MdnsComputer(info.getName(), v6LocalAddr, v6GlobalAddr, info.getPort()); - if (computers.put(v6LocalAddr != null ? - computer.getLocalAddress() : computer.getIpv6Address(), computer) == null) { + if (computers.add(computer)) { // This was a new entry listener.notifyComputerAdded(computer); } @@ -353,7 +351,7 @@ public class MdnsDiscoveryAgent implements ServiceListener { public List getComputerSet() { synchronized (computers) { - return new ArrayList(computers.values()); + return new ArrayList<>(computers); } } @@ -377,28 +375,6 @@ public class MdnsDiscoveryAgent implements ServiceListener { @Override public void serviceRemoved(ServiceEvent event) { LimeLog.info("mDNS: Machine disappeared: "+event.getInfo().getName()); - - Inet4Address v4Addrs[] = event.getInfo().getInet4Addresses(); - for (Inet4Address addr : v4Addrs) { - synchronized (computers) { - MdnsComputer computer = computers.remove(addr); - if (computer != null) { - listener.notifyComputerRemoved(computer); - break; - } - } - } - - Inet6Address v6Addrs[] = event.getInfo().getInet6Addresses(); - for (Inet6Address addr : v6Addrs) { - synchronized (computers) { - MdnsComputer computer = computers.remove(addr); - if (computer != null) { - listener.notifyComputerRemoved(computer); - break; - } - } - } } @Override diff --git a/app/src/main/java/com/limelight/nvstream/mdns/MdnsDiscoveryListener.java b/app/src/main/java/com/limelight/nvstream/mdns/MdnsDiscoveryListener.java index 3f69a120..fa4ce10c 100644 --- a/app/src/main/java/com/limelight/nvstream/mdns/MdnsDiscoveryListener.java +++ b/app/src/main/java/com/limelight/nvstream/mdns/MdnsDiscoveryListener.java @@ -2,6 +2,5 @@ package com.limelight.nvstream.mdns; public interface MdnsDiscoveryListener { void notifyComputerAdded(MdnsComputer computer); - void notifyComputerRemoved(MdnsComputer computer); void notifyDiscoveryFailure(Exception e); }