diff --git a/F-Droid/res/values/strings.xml b/F-Droid/res/values/strings.xml
index 861112c1c..bd55734cb 100644
--- a/F-Droid/res/values/strings.xml
+++ b/F-Droid/res/values/strings.xml
@@ -322,6 +322,7 @@
Not visible via Bluetooth
Visible via Wi-Fi
Setting up Wi-Fi…
+ Stopping Wi-Fi…
Not visible via Wi-Fi
Device Name
Can\'t find who you\'re looking for?
diff --git a/F-Droid/src/org/fdroid/fdroid/localrepo/SwapService.java b/F-Droid/src/org/fdroid/fdroid/localrepo/SwapService.java
index d82934152..7203aefa5 100644
--- a/F-Droid/src/org/fdroid/fdroid/localrepo/SwapService.java
+++ b/F-Droid/src/org/fdroid/fdroid/localrepo/SwapService.java
@@ -487,6 +487,7 @@ public class SwapService extends Service {
public static final String WIFI_STATE_CHANGE = "org.fdroid.fdroid.WIFI_STATE_CHANGE";
public static final String EXTRA_STARTING = "STARTING";
public static final String EXTRA_STARTED = "STARTED";
+ public static final String EXTRA_STOPPING = "STOPPING";
public static final String EXTRA_STOPPED = "STOPPED";
private static final int NOTIFICATION = 1;
diff --git a/F-Droid/src/org/fdroid/fdroid/localrepo/type/WifiSwap.java b/F-Droid/src/org/fdroid/fdroid/localrepo/type/WifiSwap.java
index d66e5ed33..70634d28e 100644
--- a/F-Droid/src/org/fdroid/fdroid/localrepo/type/WifiSwap.java
+++ b/F-Droid/src/org/fdroid/fdroid/localrepo/type/WifiSwap.java
@@ -91,6 +91,7 @@ public class WifiSwap extends SwapType {
@Override
public void stop() {
+ sendBroadcast(SwapService.EXTRA_STOPPING);
if (webServerThreadHandler == null) {
Log.i(TAG, "null handler in stopWebServer");
} else {
diff --git a/F-Droid/src/org/fdroid/fdroid/views/swap/StartSwapView.java b/F-Droid/src/org/fdroid/fdroid/views/swap/StartSwapView.java
index bbc17b184..f653e1944 100644
--- a/F-Droid/src/org/fdroid/fdroid/views/swap/StartSwapView.java
+++ b/F-Droid/src/org/fdroid/fdroid/views/swap/StartSwapView.java
@@ -323,10 +323,15 @@ public class StartSwapView extends ScrollView implements SwapWorkflowActivity.In
@Override
public void onReceive(Context context, Intent intent) {
if (intent.hasExtra(SwapService.EXTRA_STARTING)) {
- Utils.debugLog(TAG, "WiFi service is starting (setting toggle to visible, but disabled).");
+ Utils.debugLog(TAG, "WiFi service is starting (setting toggle to checked, but disabled).");
textWifiVisible.setText(R.string.swap_setting_up_wifi);
wifiSwitch.setEnabled(false);
wifiSwitch.setChecked(true);
+ } else if (intent.hasExtra(SwapService.EXTRA_STOPPING)) {
+ Utils.debugLog(TAG, "WiFi service is stopping (setting toggle to unchecked and disabled).");
+ textWifiVisible.setText(R.string.swap_stopping_wifi);
+ wifiSwitch.setEnabled(false);
+ wifiSwitch.setChecked(false);
} else {
wifiSwitch.setEnabled(true);
if (intent.hasExtra(SwapService.EXTRA_STARTED)) {