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) {