diff --git a/app/src/main/java/org/fdroid/fdroid/net/WifiStateChangeService.java b/app/src/main/java/org/fdroid/fdroid/net/WifiStateChangeService.java index 1b41743ff..ee67d6781 100644 --- a/app/src/main/java/org/fdroid/fdroid/net/WifiStateChangeService.java +++ b/app/src/main/java/org/fdroid/fdroid/net/WifiStateChangeService.java @@ -92,7 +92,7 @@ public class WifiStateChangeService extends IntentService { WifiInfo wifiInfo = null; int wifiState = wifiManager.getWifiState(); - + int retryCount = 0; while (FDroidApp.ipAddressString == null) { if (isInterrupted()) { // can be canceled by a change via WifiStateChangeReceiver return; @@ -107,7 +107,7 @@ public class WifiStateChangeService extends IntentService { try { FDroidApp.subnetInfo = new SubnetUtils(FDroidApp.ipAddressString, netmask).getInfo(); } catch (IllegalArgumentException e) { - // catch this mystery error: "java.lang.IllegalArgumentException: Could not parse [null/24]" + // catch mystery: "java.lang.IllegalArgumentException: Could not parse [null/24]" e.printStackTrace(); } } @@ -123,6 +123,11 @@ public class WifiStateChangeService extends IntentService { setIpInfoFromNetworkInterface(); } + if (retryCount > 120) { + return; + } + retryCount++; + if (FDroidApp.ipAddressString == null) { Thread.sleep(1000); Utils.debugLog(TAG, "waiting for an IP address...");