From 8fc61244ef938d31e9933e64ea3713c8db088602 Mon Sep 17 00:00:00 2001 From: Stephen Chen Date: Tue, 14 Feb 2017 13:56:03 -0800 Subject: [PATCH] Correctly restrict UI for WifiSettings in Guest profile. Makes sure the restricted user does not see Wifi Preferences or Saved Networks activity. Also fixes a bug where the progress bar is displayed starting the activity in Guest mode, and does not go away. LinkablePreference is changed to make sure titles can be multi-lined. Bug: 35317523 Bug: 35318292 Test: to be done in b/35324506 Change-Id: I4a07a2ab3a83c3adaf87226969fd6f16e41c9419 --- .../android/settings/wifi/LinkablePreference.java | 8 ++++++-- src/com/android/settings/wifi/WifiSettings.java | 12 +++++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/com/android/settings/wifi/LinkablePreference.java b/src/com/android/settings/wifi/LinkablePreference.java index 6b1b87de438..5bf51ed49d9 100644 --- a/src/com/android/settings/wifi/LinkablePreference.java +++ b/src/com/android/settings/wifi/LinkablePreference.java @@ -55,11 +55,15 @@ public class LinkablePreference extends Preference { super.onBindViewHolder(view); TextView textView = (TextView) view.findViewById(android.R.id.title); - if (textView == null || mContentTitle == null || mClickListener == null) { + if (textView == null) { + return; + } + textView.setSingleLine(false); + + if (mContentTitle == null || mClickListener == null) { return; } - textView.setSingleLine(false); StringBuilder contentBuilder = new StringBuilder().append(mContentTitle); if (mContentDescription != null) { contentBuilder.append("\n\n"); diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index 118d6ebd760..c4b90c78054 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -179,7 +179,9 @@ public class WifiSettings extends RestrictedSettingsFragment super.onViewCreated(view, savedInstanceState); final Activity activity = getActivity(); if (activity != null) { - mProgressHeader = (ProgressBar) setPinnedHeaderView(R.layout.wifi_progress_header); + if (!isUiRestricted()) { + mProgressHeader = (ProgressBar) setPinnedHeaderView(R.layout.wifi_progress_header); + } } } @@ -201,6 +203,10 @@ public class WifiSettings extends RestrictedSettingsFragment mConfigureWifiSettingsPreference = findPreference(PREF_KEY_CONFIGURE_WIFI_SETTINGS); mSavedNetworksPreference = findPreference(PREF_KEY_SAVED_NETWORKS); + if (isUiRestricted()) { + getPreferenceScreen().removePreference(mAdditionalSettingsPreferenceCategory); + } + Context prefContext = getPrefContext(); mAddPreference = new Preference(prefContext); mAddPreference.setIcon(R.drawable.ic_menu_add_inset); @@ -818,11 +824,11 @@ public class WifiSettings extends RestrictedSettingsFragment private void setOffMessage() { if (isUiRestricted()) { + removeConnectedAccessPointPreference(); + mAccessPointsPreferenceCategory.removeAll(); if (!isUiRestrictedByOnlyAdmin()) { addMessagePreference(R.string.wifi_empty_list_user_restricted); } - removeConnectedAccessPointPreference(); - mAccessPointsPreferenceCategory.removeAll(); return; }