From 6629b12a08c6b256b208fc52c3da248f05beb3a3 Mon Sep 17 00:00:00 2001 From: Weng Su Date: Mon, 26 Sep 2022 03:35:12 +0800 Subject: [PATCH] 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) --- .../settings/network/NetworkProviderSettings.java | 6 ++++++ .../settings/network/NetworkProviderSettingsTest.java | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/src/com/android/settings/network/NetworkProviderSettings.java b/src/com/android/settings/network/NetworkProviderSettings.java index ec17dd371b1..1c480e05735 100644 --- a/src/com/android/settings/network/NetworkProviderSettings.java +++ b/src/com/android/settings/network/NetworkProviderSettings.java @@ -1324,6 +1324,12 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment @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 1424d0eced1..5122def9843 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 @@ public class NetworkProviderSettingsTest { 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 {