From 236d8b70303b420671c60c1987b5a09d1507b713 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Wed, 9 Nov 2022 20:31:58 -0600 Subject: [PATCH] Extend timeouts for the PC's active address --- .../com/limelight/computers/ComputerManagerService.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/limelight/computers/ComputerManagerService.java b/app/src/main/java/com/limelight/computers/ComputerManagerService.java index 6c25256e..8369a1f8 100644 --- a/app/src/main/java/com/limelight/computers/ComputerManagerService.java +++ b/app/src/main/java/com/limelight/computers/ComputerManagerService.java @@ -550,10 +550,14 @@ public class ComputerManagerService extends Service { private ComputerDetails tryPollIp(ComputerDetails details, ComputerDetails.AddressTuple address) { try { - NvHTTP http = new NvHTTP(address, 0, idManager.getUniqueId(), details.serverCert, + // If this PC is currently online at this address, provide the known HTTPS port number + // and extend the timeouts to allow more time for the PC to respond. + boolean isActiveAddress = details.state == ComputerDetails.State.ONLINE && address.equals(details.activeAddress); + + NvHTTP http = new NvHTTP(address, isActiveAddress ? details.httpsPort : 0, idManager.getUniqueId(), details.serverCert, PlatformBinding.getCryptoProvider(ComputerManagerService.this)); - ComputerDetails newDetails = http.getComputerDetails(false); + ComputerDetails newDetails = http.getComputerDetails(isActiveAddress); // Check if this is the PC we expected if (newDetails.uuid == null) {