From 0041fc1dabb7e48a79f5bfc5a50144a99a914462 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Mon, 24 Nov 2014 18:25:58 -0800 Subject: [PATCH] Fix broken de-duplication of computers --- .../com/limelight/computers/ComputerManagerService.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/limelight/computers/ComputerManagerService.java b/app/src/main/java/com/limelight/computers/ComputerManagerService.java index da125682..b38ff473 100644 --- a/app/src/main/java/com/limelight/computers/ComputerManagerService.java +++ b/app/src/main/java/com/limelight/computers/ComputerManagerService.java @@ -244,9 +244,12 @@ public class ComputerManagerService extends Service { for (PollingTuple tuple : pollingTuples) { // Check if this is the same computer if (tuple.computer == details || - tuple.computer.localIp.equals(details.localIp) || - tuple.computer.remoteIp.equals(details.remoteIp) || - tuple.computer.name.equals(details.name)) { + // If there's no name on one of these computers, compare with the local IP + ((details.name.isEmpty() || tuple.computer.name.isEmpty()) && + tuple.computer.localIp.equals(details.localIp)) || + // If there is a name on both computers, compare with name + ((!details.name.isEmpty() && !tuple.computer.name.isEmpty()) && + tuple.computer.name.equals(details.name))) { // Start a polling thread if polling is active if (pollingActive && tuple.thread == null) {