diff --git a/res/values/strings.xml b/res/values/strings.xml index ecd5403f34a..379443f679e 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -2014,10 +2014,12 @@ Listen channel Operating channel - + 2.4 GHz - + 5 GHz + + 6 GHz Sign in diff --git a/src/com/android/settings/network/NetworkProviderSettings.java b/src/com/android/settings/network/NetworkProviderSettings.java index b1611cdae7f..22b9bccc52f 100644 --- a/src/com/android/settings/network/NetworkProviderSettings.java +++ b/src/com/android/settings/network/NetworkProviderSettings.java @@ -169,6 +169,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment return WifiPickerTracker.isVerboseLoggingEnabled(); } + private boolean mIsWifiEntryListStale = true; private final Runnable mUpdateWifiEntryPreferencesRunnable = () -> { updateWifiEntryPreferences(); }; @@ -437,6 +438,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment @Override public void onStop() { + mIsWifiEntryListStale = true; getView().removeCallbacks(mUpdateWifiEntryPreferencesRunnable); getView().removeCallbacks(mHideProgressBarRunnable); mAirplaneModeEnabler.stop(); @@ -698,7 +700,12 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment @Override public void onWifiEntriesChanged() { - updateWifiEntryPreferencesDelayed(); + if (mIsWifiEntryListStale) { + mIsWifiEntryListStale = false; + updateWifiEntryPreferences(); + } else { + updateWifiEntryPreferencesDelayed(); + } changeNextButtonState(mWifiPickerTracker.getConnectedWifiEntry() != null); // Edit the Wi-Fi network of specified SSID. diff --git a/src/com/android/settings/wifi/WifiConfigController2.java b/src/com/android/settings/wifi/WifiConfigController2.java index 65ac451c849..e8f2384d5cd 100644 --- a/src/com/android/settings/wifi/WifiConfigController2.java +++ b/src/com/android/settings/wifi/WifiConfigController2.java @@ -16,7 +16,6 @@ package com.android.settings.wifi; -import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.Intent; @@ -35,7 +34,6 @@ import android.net.wifi.WifiEnterpriseConfig.Eap; import android.net.wifi.WifiEnterpriseConfig.Phase2; import android.net.wifi.WifiManager; import android.os.IBinder; -import android.os.UserHandle; import android.security.keystore.KeyProperties; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; @@ -402,6 +400,9 @@ public class WifiConfigController2 implements TextWatcher, } else if (frequency >= WifiEntry.MIN_FREQ_5GHZ && frequency < WifiEntry.MAX_FREQ_5GHZ) { band = res.getString(R.string.wifi_band_5ghz); + } else if (frequency >= WifiEntry.MIN_FREQ_6GHZ + && frequency < WifiEntry.MAX_FREQ_6GHZ) { + band = res.getString(R.string.wifi_band_6ghz); } else { Log.e(TAG, "Unexpected frequency " + frequency); } diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index dac65c6ec64..75e63079fba 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -160,6 +160,7 @@ public class WifiSettings extends RestrictedSettingsFragment return WifiPickerTracker.isVerboseLoggingEnabled(); } + private boolean mIsWifiEntryListStale = true; private final Runnable mUpdateWifiEntryPreferencesRunnable = () -> { updateWifiEntryPreferences(); }; @@ -421,6 +422,7 @@ public class WifiSettings extends RestrictedSettingsFragment public void onStop() { getView().removeCallbacks(mUpdateWifiEntryPreferencesRunnable); getView().removeCallbacks(mHideProgressBarRunnable); + mIsWifiEntryListStale = true; super.onStop(); } @@ -678,7 +680,12 @@ public class WifiSettings extends RestrictedSettingsFragment @Override public void onWifiEntriesChanged() { - updateWifiEntryPreferencesDelayed(); + if (mIsWifiEntryListStale) { + mIsWifiEntryListStale = false; + updateWifiEntryPreferences(); + } else { + updateWifiEntryPreferencesDelayed(); + } changeNextButtonState(mWifiPickerTracker.getConnectedWifiEntry() != null); // Edit the Wi-Fi network of specified SSID. diff --git a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java index e47dfe7b12a..ced198bb887 100644 --- a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java +++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java @@ -623,12 +623,16 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle return; } + // TODO(b/190390803): We should get the band string directly from WifiEntry.ConnectedInfo + // instead of doing the frequency -> band conversion here. final int frequency = connectedInfo.frequencyMhz; String band = null; if (frequency >= WifiEntry.MIN_FREQ_24GHZ && frequency < WifiEntry.MAX_FREQ_24GHZ) { band = mContext.getResources().getString(R.string.wifi_band_24ghz); } else if (frequency >= WifiEntry.MIN_FREQ_5GHZ && frequency < WifiEntry.MAX_FREQ_5GHZ) { band = mContext.getResources().getString(R.string.wifi_band_5ghz); + } else if (frequency >= WifiEntry.MIN_FREQ_6GHZ && frequency < WifiEntry.MAX_FREQ_6GHZ) { + band = mContext.getResources().getString(R.string.wifi_band_6ghz); } else { // Connecting state is unstable, make it disappeared if unexpected if (mWifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTING) {