Loading res/values/strings.xml +2 −0 Original line number Diff line number Diff line Loading @@ -2309,6 +2309,8 @@ <!-- Used in the Wi-Fi settings screen to control turning on/off Wi-Fi entirely [CHAR LIMIT=30]--> <string name="wifi_settings_primary_switch_title">Use Wi\u2011Fi</string> <!-- Category name of Wi-fi networks [CHAR LIMIT=60] --> <string name="wifi_networks_category">Networks</string> <!-- Title of the Wi-fi settings screen --> <string name="wifi_settings_category">Wi\u2011Fi settings</string> <!-- Used by Account creation for turning on Wi-Fi [CHAR LIMIT=60] --> res/xml/network_provider_settings.xml +10 −17 Original line number Diff line number Diff line Loading @@ -54,30 +54,23 @@ <PreferenceCategory android:key="provider_model_mobile_network" android:title="@string/summary_placeholder" android:layout="@layout/preference_category_no_label" android:title="@string/mobile_data_settings_title" settings:isPreferenceVisible="@bool/config_show_sim_info" settings:controller="com.android.settings.network.NetworkMobileProviderController"/> <PreferenceCategory android:key="wifi_category" android:title="@string/wifi_settings"> <com.android.settingslib.RestrictedSwitchPreference android:key="main_toggle_wifi" android:title="@string/wifi" android:title="@string/wifi_settings_primary_switch_title" settings:keywords="@string/keywords_wifi" settings:restrictedSwitchSummary="@string/not_allowed_by_ent" settings:allowDividerAbove="true"/> <PreferenceCategory android:key="connected_access_point" android:layout="@layout/preference_category_no_label"/> <PreferenceCategory android:key="first_access_points" android:layout="@layout/preference_category_no_label"/> settings:restrictedSwitchSummary="@string/not_allowed_by_ent"/> </PreferenceCategory> <PreferenceCategory android:key="access_points" android:layout="@layout/preference_category_no_label"> android:title="@string/wifi_networks_category"> <com.android.settings.wifi.AddWifiNetworkPreference android:key="add_wifi_network" android:title="@string/wifi_add_network" Loading src/com/android/settings/network/InternetResetHelper.java +0 −4 Original line number Diff line number Diff line Loading @@ -74,15 +74,11 @@ public class InternetResetHelper implements LifecycleObserver { public InternetResetHelper(Context context, Lifecycle lifecycle, NetworkMobileProviderController mobileNetworkController, Preference wifiTogglePreferences, PreferenceCategory connectedWifiEntryPreferenceCategory, PreferenceCategory firstWifiEntryPreferenceCategory, PreferenceCategory wifiEntryPreferenceCategory, Preference resettingPreference) { mContext = context; mMobileNetworkController = mobileNetworkController; mWifiTogglePreferences = wifiTogglePreferences; mWifiNetworkPreferences.add(connectedWifiEntryPreferenceCategory); mWifiNetworkPreferences.add(firstWifiEntryPreferenceCategory); mWifiNetworkPreferences.add(wifiEntryPreferenceCategory); mResettingPreference = resettingPreference; Loading src/com/android/settings/network/NetworkProviderSettings.java +9 −37 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ import com.android.settings.wifi.AddWifiNetworkPreference; import com.android.settings.wifi.ConfigureWifiEntryFragment; import com.android.settings.wifi.ConnectedWifiEntryPreference; import com.android.settings.wifi.LongPressWifiEntryPreference; import com.android.settings.wifi.WifiCategory; import com.android.settings.wifi.WifiConfigUiBase2; import com.android.settings.wifi.WifiDialog2; import com.android.settings.wifi.WifiPickerTrackerHelper; Loading Loading @@ -232,10 +233,7 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment private WifiDialog2 mDialog; @VisibleForTesting PreferenceCategory mConnectedWifiEntryPreferenceCategory; @VisibleForTesting PreferenceCategory mFirstWifiEntryPreferenceCategory; private WifiCategory mWifiCategory; @VisibleForTesting PreferenceCategory mWifiEntryPreferenceCategory; @VisibleForTesting Loading Loading @@ -388,8 +386,7 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment private void addPreferences() { mAirplaneModeMsgPreference = findPreference(PREF_KEY_AIRPLANE_MODE_MSG); updateAirplaneModeMsgPreference(mAirplaneModeEnabler.isAirplaneModeOn() /* visible */); mConnectedWifiEntryPreferenceCategory = findPreference(PREF_KEY_CONNECTED_ACCESS_POINTS); mFirstWifiEntryPreferenceCategory = findPreference(PREF_KEY_FIRST_ACCESS_POINTS); mWifiCategory = new WifiCategory(this); mWifiEntryPreferenceCategory = findPreference(PREF_KEY_ACCESS_POINTS); mConfigureWifiSettingsPreference = findPreference(PREF_KEY_CONFIGURE_NETWORK_SETTINGS); mSavedNetworksPreference = findPreference(PREF_KEY_SAVED_NETWORKS); Loading Loading @@ -479,8 +476,6 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment mInternetResetHelper = new InternetResetHelper(getContext(), getLifecycle(), mNetworkMobileProviderController, findPreference(WifiSwitchPreferenceController.KEY), mConnectedWifiEntryPreferenceCategory, mFirstWifiEntryPreferenceCategory, mWifiEntryPreferenceCategory, mResetInternetPreference); mInternetResetHelper.checkRecovering(); Loading Loading @@ -917,19 +912,19 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment break; case WifiManager.WIFI_STATE_ENABLING: removeConnectedWifiEntryPreference(); mWifiCategory.removeWifiEntryPreferences(); removeWifiEntryPreference(); setProgressBarVisible(true); break; case WifiManager.WIFI_STATE_DISABLING: removeConnectedWifiEntryPreference(); mWifiCategory.removeWifiEntryPreferences(); removeWifiEntryPreference(); break; case WifiManager.WIFI_STATE_DISABLED: setWifiScanMessage(/* isWifiEnabled */ false); removeConnectedWifiEntryPreference(); mWifiCategory.removeWifiEntryPreferences(); removeWifiEntryPreference(); setAdditionalSettingsSummaries(); setProgressBarVisible(false); Loading Loading @@ -1031,13 +1026,12 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment mWifiEntryPreferenceCategory.setVisible(true); final WifiEntry connectedEntry = mWifiPickerTracker.getConnectedWifiEntry(); PreferenceCategory connectedWifiPreferenceCategory = getConnectedWifiPreferenceCategory(); connectedWifiPreferenceCategory.setVisible(connectedEntry != null); PreferenceCategory connectedWifiPreferenceCategory = mWifiCategory.getPreferenceCategory(); if (connectedEntry != null) { final LongPressWifiEntryPreference connectedPref = connectedWifiPreferenceCategory.findPreference(connectedEntry.getKey()); if (connectedPref == null || connectedPref.getWifiEntry() != connectedEntry) { connectedWifiPreferenceCategory.removeAll(); mWifiCategory.removeWifiEntryPreferences(); final ConnectedWifiEntryPreference pref = createConnectedWifiEntryPreference(connectedEntry); pref.setKey(connectedEntry.getKey()); Loading @@ -1061,7 +1055,7 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment } } } else { connectedWifiPreferenceCategory.removeAll(); mWifiCategory.removeWifiEntryPreferences(); } int index = 0; Loading Loading @@ -1136,19 +1130,6 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment } } @VisibleForTesting PreferenceCategory getConnectedWifiPreferenceCategory() { if (mInternetUpdater.getInternetType() == InternetUpdater.INTERNET_WIFI) { mFirstWifiEntryPreferenceCategory.setVisible(false); mFirstWifiEntryPreferenceCategory.removeAll(); return mConnectedWifiEntryPreferenceCategory; } mConnectedWifiEntryPreferenceCategory.setVisible(false); mConnectedWifiEntryPreferenceCategory.removeAll(); return mFirstWifiEntryPreferenceCategory; } @VisibleForTesting ConnectedWifiEntryPreference createConnectedWifiEntryPreference(WifiEntry wifiEntry) { if (mInternetUpdater.getInternetType() == InternetUpdater.INTERNET_WIFI) { Loading Loading @@ -1205,15 +1186,6 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment .launch(); } /** Removes all preferences and hide the {@link #mConnectedWifiEntryPreferenceCategory} and * {@link #mFirstWifiEntryPreferenceCategory}. */ private void removeConnectedWifiEntryPreference() { mConnectedWifiEntryPreferenceCategory.removeAll(); mConnectedWifiEntryPreferenceCategory.setVisible(false); mFirstWifiEntryPreferenceCategory.setVisible(false); mFirstWifiEntryPreferenceCategory.removeAll(); } private void removeWifiEntryPreference() { mWifiEntryPreferenceCategory.removeAll(); mWifiEntryPreferenceCategory.setVisible(false); Loading src/com/android/settings/wifi/WifiCategory.kt 0 → 100644 +45 −0 Original line number Diff line number Diff line /* * Copyright (C) 2025 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.wifi import android.util.Log import androidx.preference.PreferenceCategory import com.android.settings.dashboard.RestrictedDashboardFragment class WifiCategory( private val fragment: RestrictedDashboardFragment, ) { val preferenceCategory: PreferenceCategory? get() = fragment.findPreference(KEY) fun removeWifiEntryPreferences() { val category = preferenceCategory ?: run { Log.w(TAG, "Can't find PreferenceCategory to remove WifiEntryPreference!") return } for (i in category.preferenceCount - 1 downTo 0) { val preference = category.getPreference(i) if (preference is WifiEntryPreference) category.removePreference(preference) } } companion object { const val TAG = "WifiCategory" const val KEY = "wifi_category" } } No newline at end of file Loading
res/values/strings.xml +2 −0 Original line number Diff line number Diff line Loading @@ -2309,6 +2309,8 @@ <!-- Used in the Wi-Fi settings screen to control turning on/off Wi-Fi entirely [CHAR LIMIT=30]--> <string name="wifi_settings_primary_switch_title">Use Wi\u2011Fi</string> <!-- Category name of Wi-fi networks [CHAR LIMIT=60] --> <string name="wifi_networks_category">Networks</string> <!-- Title of the Wi-fi settings screen --> <string name="wifi_settings_category">Wi\u2011Fi settings</string> <!-- Used by Account creation for turning on Wi-Fi [CHAR LIMIT=60] -->
res/xml/network_provider_settings.xml +10 −17 Original line number Diff line number Diff line Loading @@ -54,30 +54,23 @@ <PreferenceCategory android:key="provider_model_mobile_network" android:title="@string/summary_placeholder" android:layout="@layout/preference_category_no_label" android:title="@string/mobile_data_settings_title" settings:isPreferenceVisible="@bool/config_show_sim_info" settings:controller="com.android.settings.network.NetworkMobileProviderController"/> <PreferenceCategory android:key="wifi_category" android:title="@string/wifi_settings"> <com.android.settingslib.RestrictedSwitchPreference android:key="main_toggle_wifi" android:title="@string/wifi" android:title="@string/wifi_settings_primary_switch_title" settings:keywords="@string/keywords_wifi" settings:restrictedSwitchSummary="@string/not_allowed_by_ent" settings:allowDividerAbove="true"/> <PreferenceCategory android:key="connected_access_point" android:layout="@layout/preference_category_no_label"/> <PreferenceCategory android:key="first_access_points" android:layout="@layout/preference_category_no_label"/> settings:restrictedSwitchSummary="@string/not_allowed_by_ent"/> </PreferenceCategory> <PreferenceCategory android:key="access_points" android:layout="@layout/preference_category_no_label"> android:title="@string/wifi_networks_category"> <com.android.settings.wifi.AddWifiNetworkPreference android:key="add_wifi_network" android:title="@string/wifi_add_network" Loading
src/com/android/settings/network/InternetResetHelper.java +0 −4 Original line number Diff line number Diff line Loading @@ -74,15 +74,11 @@ public class InternetResetHelper implements LifecycleObserver { public InternetResetHelper(Context context, Lifecycle lifecycle, NetworkMobileProviderController mobileNetworkController, Preference wifiTogglePreferences, PreferenceCategory connectedWifiEntryPreferenceCategory, PreferenceCategory firstWifiEntryPreferenceCategory, PreferenceCategory wifiEntryPreferenceCategory, Preference resettingPreference) { mContext = context; mMobileNetworkController = mobileNetworkController; mWifiTogglePreferences = wifiTogglePreferences; mWifiNetworkPreferences.add(connectedWifiEntryPreferenceCategory); mWifiNetworkPreferences.add(firstWifiEntryPreferenceCategory); mWifiNetworkPreferences.add(wifiEntryPreferenceCategory); mResettingPreference = resettingPreference; Loading
src/com/android/settings/network/NetworkProviderSettings.java +9 −37 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ import com.android.settings.wifi.AddWifiNetworkPreference; import com.android.settings.wifi.ConfigureWifiEntryFragment; import com.android.settings.wifi.ConnectedWifiEntryPreference; import com.android.settings.wifi.LongPressWifiEntryPreference; import com.android.settings.wifi.WifiCategory; import com.android.settings.wifi.WifiConfigUiBase2; import com.android.settings.wifi.WifiDialog2; import com.android.settings.wifi.WifiPickerTrackerHelper; Loading Loading @@ -232,10 +233,7 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment private WifiDialog2 mDialog; @VisibleForTesting PreferenceCategory mConnectedWifiEntryPreferenceCategory; @VisibleForTesting PreferenceCategory mFirstWifiEntryPreferenceCategory; private WifiCategory mWifiCategory; @VisibleForTesting PreferenceCategory mWifiEntryPreferenceCategory; @VisibleForTesting Loading Loading @@ -388,8 +386,7 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment private void addPreferences() { mAirplaneModeMsgPreference = findPreference(PREF_KEY_AIRPLANE_MODE_MSG); updateAirplaneModeMsgPreference(mAirplaneModeEnabler.isAirplaneModeOn() /* visible */); mConnectedWifiEntryPreferenceCategory = findPreference(PREF_KEY_CONNECTED_ACCESS_POINTS); mFirstWifiEntryPreferenceCategory = findPreference(PREF_KEY_FIRST_ACCESS_POINTS); mWifiCategory = new WifiCategory(this); mWifiEntryPreferenceCategory = findPreference(PREF_KEY_ACCESS_POINTS); mConfigureWifiSettingsPreference = findPreference(PREF_KEY_CONFIGURE_NETWORK_SETTINGS); mSavedNetworksPreference = findPreference(PREF_KEY_SAVED_NETWORKS); Loading Loading @@ -479,8 +476,6 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment mInternetResetHelper = new InternetResetHelper(getContext(), getLifecycle(), mNetworkMobileProviderController, findPreference(WifiSwitchPreferenceController.KEY), mConnectedWifiEntryPreferenceCategory, mFirstWifiEntryPreferenceCategory, mWifiEntryPreferenceCategory, mResetInternetPreference); mInternetResetHelper.checkRecovering(); Loading Loading @@ -917,19 +912,19 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment break; case WifiManager.WIFI_STATE_ENABLING: removeConnectedWifiEntryPreference(); mWifiCategory.removeWifiEntryPreferences(); removeWifiEntryPreference(); setProgressBarVisible(true); break; case WifiManager.WIFI_STATE_DISABLING: removeConnectedWifiEntryPreference(); mWifiCategory.removeWifiEntryPreferences(); removeWifiEntryPreference(); break; case WifiManager.WIFI_STATE_DISABLED: setWifiScanMessage(/* isWifiEnabled */ false); removeConnectedWifiEntryPreference(); mWifiCategory.removeWifiEntryPreferences(); removeWifiEntryPreference(); setAdditionalSettingsSummaries(); setProgressBarVisible(false); Loading Loading @@ -1031,13 +1026,12 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment mWifiEntryPreferenceCategory.setVisible(true); final WifiEntry connectedEntry = mWifiPickerTracker.getConnectedWifiEntry(); PreferenceCategory connectedWifiPreferenceCategory = getConnectedWifiPreferenceCategory(); connectedWifiPreferenceCategory.setVisible(connectedEntry != null); PreferenceCategory connectedWifiPreferenceCategory = mWifiCategory.getPreferenceCategory(); if (connectedEntry != null) { final LongPressWifiEntryPreference connectedPref = connectedWifiPreferenceCategory.findPreference(connectedEntry.getKey()); if (connectedPref == null || connectedPref.getWifiEntry() != connectedEntry) { connectedWifiPreferenceCategory.removeAll(); mWifiCategory.removeWifiEntryPreferences(); final ConnectedWifiEntryPreference pref = createConnectedWifiEntryPreference(connectedEntry); pref.setKey(connectedEntry.getKey()); Loading @@ -1061,7 +1055,7 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment } } } else { connectedWifiPreferenceCategory.removeAll(); mWifiCategory.removeWifiEntryPreferences(); } int index = 0; Loading Loading @@ -1136,19 +1130,6 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment } } @VisibleForTesting PreferenceCategory getConnectedWifiPreferenceCategory() { if (mInternetUpdater.getInternetType() == InternetUpdater.INTERNET_WIFI) { mFirstWifiEntryPreferenceCategory.setVisible(false); mFirstWifiEntryPreferenceCategory.removeAll(); return mConnectedWifiEntryPreferenceCategory; } mConnectedWifiEntryPreferenceCategory.setVisible(false); mConnectedWifiEntryPreferenceCategory.removeAll(); return mFirstWifiEntryPreferenceCategory; } @VisibleForTesting ConnectedWifiEntryPreference createConnectedWifiEntryPreference(WifiEntry wifiEntry) { if (mInternetUpdater.getInternetType() == InternetUpdater.INTERNET_WIFI) { Loading Loading @@ -1205,15 +1186,6 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment .launch(); } /** Removes all preferences and hide the {@link #mConnectedWifiEntryPreferenceCategory} and * {@link #mFirstWifiEntryPreferenceCategory}. */ private void removeConnectedWifiEntryPreference() { mConnectedWifiEntryPreferenceCategory.removeAll(); mConnectedWifiEntryPreferenceCategory.setVisible(false); mFirstWifiEntryPreferenceCategory.setVisible(false); mFirstWifiEntryPreferenceCategory.removeAll(); } private void removeWifiEntryPreference() { mWifiEntryPreferenceCategory.removeAll(); mWifiEntryPreferenceCategory.setVisible(false); Loading
src/com/android/settings/wifi/WifiCategory.kt 0 → 100644 +45 −0 Original line number Diff line number Diff line /* * Copyright (C) 2025 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.wifi import android.util.Log import androidx.preference.PreferenceCategory import com.android.settings.dashboard.RestrictedDashboardFragment class WifiCategory( private val fragment: RestrictedDashboardFragment, ) { val preferenceCategory: PreferenceCategory? get() = fragment.findPreference(KEY) fun removeWifiEntryPreferences() { val category = preferenceCategory ?: run { Log.w(TAG, "Can't find PreferenceCategory to remove WifiEntryPreference!") return } for (i in category.preferenceCount - 1 downTo 0) { val preference = category.getPreference(i) if (preference is WifiEntryPreference) category.removePreference(preference) } } companion object { const val TAG = "WifiCategory" const val KEY = "wifi_category" } } No newline at end of file