From b77cbe5bb288b6814d57d18ad3a00b8414fbdab7 Mon Sep 17 00:00:00 2001 From: Stephen Chen Date: Tue, 14 Mar 2017 19:28:04 -0700 Subject: [PATCH] Fix Wi-Fi Settings Guest mode UI. Progress bar should not show in guest mode when onViewCreated. When Wi-Fi is off, Wi-Fi OFF tip should be shown even in guest mode to be consistent with Wi-Fi status. Bug: 35627922 Test: tracked in b/35324506 Change-Id: If89728e293721cea45dcd717316d87f6df17ea7c --- .../android/settings/wifi/WifiSettings.java | 26 +++++++------------ 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index 320819b338f..dd17a64a676 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -178,9 +178,8 @@ public class WifiSettings extends RestrictedSettingsFragment super.onViewCreated(view, savedInstanceState); final Activity activity = getActivity(); if (activity != null) { - if (!isUiRestricted()) { - mProgressHeader = (ProgressBar) setPinnedHeaderView(R.layout.wifi_progress_header); - } + mProgressHeader = (ProgressBar) setPinnedHeaderView(R.layout.wifi_progress_header); + setProgressBarVisible(false); } } @@ -614,15 +613,19 @@ public class WifiSettings extends RestrictedSettingsFragment public void onAccessPointsChanged() { // Safeguard from some delayed event handling if (getActivity() == null) return; + final int wifiState = mWifiManager.getWifiState(); if (isUiRestricted()) { removeConnectedAccessPointPreference(); mAccessPointsPreferenceCategory.removeAll(); if (!isUiRestrictedByOnlyAdmin()) { - addMessagePreference(R.string.wifi_empty_list_user_restricted); + if (wifiState == WifiManager.WIFI_AP_STATE_DISABLED) { + setOffMessage(); + } else { + addMessagePreference(R.string.wifi_empty_list_user_restricted); + } } return; } - final int wifiState = mWifiManager.getWifiState(); switch (wifiState) { case WifiManager.WIFI_STATE_ENABLED: @@ -801,22 +804,13 @@ public class WifiSettings extends RestrictedSettingsFragment } private void setOffMessage() { - if (isUiRestricted()) { - removeConnectedAccessPointPreference(); - mAccessPointsPreferenceCategory.removeAll(); - if (!isUiRestrictedByOnlyAdmin()) { - addMessagePreference(R.string.wifi_empty_list_user_restricted); - } - return; - } - final CharSequence briefText = getText(R.string.wifi_empty_list_wifi_off); // Don't use WifiManager.isScanAlwaysAvailable() to check the Wi-Fi scanning mode. Instead, // read the system settings directly. Because when the device is in Airplane mode, even if // Wi-Fi scanning mode is on, WifiManager.isScanAlwaysAvailable() still returns "off". final ContentResolver resolver = getActivity().getContentResolver(); - final boolean wifiScanningMode = Settings.Global.getInt( + final boolean wifiScanningMode = !isUiRestricted() && Settings.Global.getInt( resolver, Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1; if (!wifiScanningMode) { @@ -850,7 +844,7 @@ public class WifiSettings extends RestrictedSettingsFragment protected void setProgressBarVisible(boolean visible) { if (mProgressHeader != null) { - mProgressHeader.setVisibility(visible ? View.VISIBLE : View.GONE); + mProgressHeader.setVisibility(visible && !isUiRestricted() ? View.VISIBLE : View.GONE); } }