From 1eae13592909894bc04db0cb4d88bd345215efa6 Mon Sep 17 00:00:00 2001 From: Peter Serwylo Date: Fri, 26 Feb 2016 09:13:33 +1100 Subject: [PATCH] Add user feedback for when WiFi is being disabled. On some devices this can take some time (i.e. a second) and the UI needs to be disabled for that time. This should stop users quickly stopping and starting regularly, queuing up many "start jmdns, stop jmdns, start jmdns" calls. --- F-Droid/res/values/strings.xml | 1 + F-Droid/src/org/fdroid/fdroid/localrepo/SwapService.java | 1 + F-Droid/src/org/fdroid/fdroid/localrepo/type/WifiSwap.java | 1 + .../src/org/fdroid/fdroid/views/swap/StartSwapView.java | 7 ++++++- 4 files changed, 9 insertions(+), 1 deletion(-) 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)) {