Restrict Wi-Fi configuration if settings UI is restricted
- Don't launch W-Fi configuration settings if the settings UI is restricted (including guest users).
Bug: 246301667
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=NetworkProviderSettingsTest
Merged-In: Id82498f41765f955e01bb311bb221d26f9574f31
Change-Id: Id82498f41765f955e01bb311bb221d26f9574f31
(cherry picked from commit aaa65fc6f04679889f5959c33c670fd7c9a5db1e)
diff --git a/src/com/android/settings/network/NetworkProviderSettings.java b/src/com/android/settings/network/NetworkProviderSettings.java
index ec17dd3..1c480e0 100644
--- a/src/com/android/settings/network/NetworkProviderSettings.java
+++ b/src/com/android/settings/network/NetworkProviderSettings.java
@@ -1324,6 +1324,12 @@
@VisibleForTesting
void launchConfigNewNetworkFragment(WifiEntry wifiEntry) {
+ if (mIsRestricted) {
+ Log.e(TAG, "Can't configure Wi-Fi because NetworkProviderSettings is restricted.");
+ EventLog.writeEvent(0x534e4554, "246301667", -1 /* UID */, "Fragment is restricted.");
+ return;
+ }
+
final Bundle bundle = new Bundle();
bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY,
wifiEntry.getKey());
diff --git a/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java b/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
index 1424d0e..5122def 100644
--- a/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
@@ -751,6 +751,15 @@
assertThat(keys).contains(NetworkProviderSettings.PREF_KEY_WIFI_TOGGLE);
}
+ @Test
+ public void launchConfigNewNetworkFragment_fragmentIsRestricted_ignoreWifiEntry() {
+ mNetworkProviderSettings.mIsRestricted = true;
+
+ mNetworkProviderSettings.launchConfigNewNetworkFragment(mWifiEntry);
+
+ verify(mWifiEntry, never()).getKey();
+ }
+
@Implements(PreferenceFragmentCompat.class)
public static class ShadowPreferenceFragmentCompat {