From bdfab1de2665e48e3bc69bc6aac7679616476d0b Mon Sep 17 00:00:00 2001 From: Kohsuke Yatoh Date: Thu, 3 Aug 2023 08:34:58 +0000 Subject: [PATCH] Define "Add network" preference in XML. Move the definition from Java to XML, so that SearchIndexProvider can include it in the getXmlResourcesToIndex(). Also update getNonIndexableKeys() to return the corresponding key when the preference is hidden. If the Internet settings are restricted, "Add network" still appears on search. When clicked, it opens the Internet settings page in restricted mode, so that users can know that the settings are restricted. Bug: 224421762 Fix: 224421762 Test: atest SettingsRoboTests:NetworkProviderSettingsTest Change-Id: Ie9ea58070843a390844b461ce766f0ce29e64fab --- res/xml/network_provider_settings.xml | 8 ++++++- .../network/NetworkProviderSettings.java | 10 ++++++++- .../wifi/AddWifiNetworkPreference.java | 7 +++++- .../network/NetworkProviderSettingsTest.java | 22 +++++++++++++++++++ 4 files changed, 44 insertions(+), 3 deletions(-) diff --git a/res/xml/network_provider_settings.xml b/res/xml/network_provider_settings.xml index 1921ece9ca7..418bb8d6819 100644 --- a/res/xml/network_provider_settings.xml +++ b/res/xml/network_provider_settings.xml @@ -65,7 +65,13 @@ + android:layout="@layout/preference_category_no_label"> + + + keys = searchIndexProvider.getNonIndexableKeys(mContext); + + assertThat(keys).doesNotContain(NetworkProviderSettings.PREF_KEY_ADD_WIFI_NETWORK); + } + + @Test + public void getNonIndexableKeys_wifiStateDisabled_addWifiNetworkKeyReturned() { + when(mWifiManager.getWifiState()).thenReturn(WifiManager.WIFI_STATE_DISABLED); + NetworkProviderSettings.SearchIndexProvider searchIndexProvider = + new NetworkProviderSettings.SearchIndexProvider(XML_RES, mWifiRestriction); + + final List keys = searchIndexProvider.getNonIndexableKeys(mContext); + + assertThat(keys).contains(NetworkProviderSettings.PREF_KEY_ADD_WIFI_NETWORK); + } + @Test public void launchConfigNewNetworkFragment_fragmentIsRestricted_ignoreWifiEntry() { mNetworkProviderSettings.mIsRestricted = true;