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 b098220a7..fcd62ad6c 100644 --- a/app/src/main/java/org/fdroid/fdroid/net/WifiStateChangeService.java +++ b/app/src/main/java/org/fdroid/fdroid/net/WifiStateChangeService.java @@ -101,7 +101,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; @@ -116,7 +116,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(); } } @@ -132,6 +132,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...");