diff --git a/app/src/main/java/org/fdroid/fdroid/FDroidApp.java b/app/src/main/java/org/fdroid/fdroid/FDroidApp.java index 882654abd..9d9c19eed 100644 --- a/app/src/main/java/org/fdroid/fdroid/FDroidApp.java +++ b/app/src/main/java/org/fdroid/fdroid/FDroidApp.java @@ -139,7 +139,9 @@ public class FDroidApp extends Application { } /** - * Initialize the settings needed to run a local swap repo. + * Initialize the settings needed to run a local swap repo. This should + * only ever be called in {@link org.fdroid.fdroid.net.WifiStateChangeService.WifiInfoThread}, + * after the single init call in {@link FDroidApp#onCreate()}. */ public static void initWifiSettings() { port = 8888; 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 dda912c58..bd624427d 100644 --- a/app/src/main/java/org/fdroid/fdroid/net/WifiStateChangeService.java +++ b/app/src/main/java/org/fdroid/fdroid/net/WifiStateChangeService.java @@ -53,7 +53,6 @@ public class WifiStateChangeService extends IntentService { protected void onHandleIntent(Intent intent) { android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_LOWEST); Utils.debugLog(TAG, "WiFi change service started, clearing info about wifi state until we have figured it out again."); - FDroidApp.initWifiSettings(); NetworkInfo ni = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO); wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); int wifiState = wifiManager.getWifiState(); @@ -79,6 +78,7 @@ public class WifiStateChangeService extends IntentService { public void run() { android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_LOWEST); try { + FDroidApp.initWifiSettings(); Utils.debugLog(TAG, "Checking wifi state (in background thread)."); WifiInfo wifiInfo = null;