summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuang Luong <qal@google.com>2022-03-24 16:14:32 -0700
committerQuang Luong <qal@google.com>2022-03-31 10:39:43 -0700
commit372dc6bd1df6bc82c903fb12891f02deedf071e9 (patch)
tree2b2fa6290198585c1fa2d17a4bbaae6b725c1399
parentc476311b49f837f5633bcedad72860cb27f6e371 (diff)
downloadwifi-372dc6bd1df6bc82c903fb12891f02deedf071e9.tar.gz
Add MLO info to Wifi picker verbose summary
Add the wifi standard, MLD MAC, MLO link id, and MLO affiliated links to the verbose summary of networks in the Wifi picker. Bug: 222337006 Test: manual build and visual verification of Wifi picker Change-Id: I6cfa8876234e21058b6b5e804a0c5c0fef6f7ea6
-rw-r--r--libs/WifiTrackerLib/res/values/strings.xml15
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java16
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java21
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java23
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java7
5 files changed, 81 insertions, 1 deletions
diff --git a/libs/WifiTrackerLib/res/values/strings.xml b/libs/WifiTrackerLib/res/values/strings.xml
index ead431aaf..1d16e9833 100644
--- a/libs/WifiTrackerLib/res/values/strings.xml
+++ b/libs/WifiTrackerLib/res/values/strings.xml
@@ -204,4 +204,19 @@
<!-- [DO NOT TRANSLATE] Comma-separated list of packages whose saved networks should show no attribution annotation. -->
<string name="wifitrackerlib_no_attribution_annotation_packages">com.google.android.setupwizard,com.google.android.gms</string>
+
+ <!-- Summary for the Wi-Fi standard WIFI_STANDARD_UNKNOWN [CHAR LIMIT=50]-->
+ <string name="wifitrackerlib_wifi_standard_unknown">Unknown</string>
+ <!-- Summary for the Wi-Fi standard WIFI_STANDARD_LEGACY [CHAR LIMIT=50]-->
+ <string name="wifitrackerlib_wifi_standard_legacy">Legacy</string>
+ <!-- Summary for the Wi-Fi standard WIFI_STANDARD_11N [CHAR LIMIT=50]-->
+ <string name="wifitrackerlib_wifi_standard_11n">Wi\u2011Fi 4</string>
+ <!-- Summary for the Wi-Fi standard WIFI_STANDARD_11AC [CHAR LIMIT=50]-->
+ <string name="wifitrackerlib_wifi_standard_11ac">Wi\u2011Fi 5</string>
+ <!-- Summary for the Wi-Fi standard WIFI_STANDARD_11AX [CHAR LIMIT=50]-->
+ <string name="wifitrackerlib_wifi_standard_11ax">Wi\u2011Fi 6</string>
+ <!-- Summary for the Wi-Fi standard WIFI_STANDARD_11AD [CHAR LIMIT=50]-->
+ <string name="wifitrackerlib_wifi_standard_11ad">WiGig</string>
+ <!-- Summary for the Wi-Fi standard WIFI_STANDARD_11BE [CHAR LIMIT=50]-->
+ <string name="wifitrackerlib_wifi_standard_11be">Wi\u2011Fi 7</string>
</resources>
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java
index 49ddb399c..1125bd303 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java
@@ -458,6 +458,22 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
}
@Override
+ public synchronized String getStandardString() {
+ if (mWifiInfo != null) {
+ return Utils.getStandardString(mContext, mWifiInfo.getWifiStandard());
+ }
+ if (!mCurrentHomeScanResults.isEmpty()) {
+ return Utils.getStandardString(
+ mContext, mCurrentHomeScanResults.get(0).getWifiStandard());
+ }
+ if (!mCurrentRoamingScanResults.isEmpty()) {
+ return Utils.getStandardString(
+ mContext, mCurrentRoamingScanResults.get(0).getWifiStandard());
+ }
+ return "";
+ }
+
+ @Override
public synchronized boolean isExpired() {
if (mSubscriptionExpirationTimeInMillis <= 0) {
// Expiration time not specified.
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java
index 2928967d0..4c86668a2 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java
@@ -668,6 +668,17 @@ public class StandardWifiEntry extends WifiEntry {
}
@Override
+ public synchronized String getStandardString() {
+ if (mWifiInfo != null) {
+ return Utils.getStandardString(mContext, mWifiInfo.getWifiStandard());
+ }
+ if (!mTargetScanResults.isEmpty()) {
+ return Utils.getStandardString(mContext, mTargetScanResults.get(0).getWifiStandard());
+ }
+ return "";
+ }
+
+ @Override
public synchronized boolean shouldEditBeforeConnect() {
WifiConfiguration wifiConfig = getWifiConfiguration();
if (wifiConfig == null) {
@@ -936,6 +947,8 @@ public class StandardWifiEntry extends WifiEntry {
return description.toString();
}
+ // TODO(b/227622961): Remove the suppression once the linter recognizes BuildCompat.isAtLeastT()
+ @SuppressLint("NewApi")
private synchronized String getScanResultDescription(ScanResult scanResult, long nowMs) {
final StringBuilder description = new StringBuilder();
description.append(" \n{");
@@ -945,6 +958,13 @@ public class StandardWifiEntry extends WifiEntry {
}
description.append("=").append(scanResult.frequency);
description.append(",").append(scanResult.level);
+ int wifiStandard = scanResult.getWifiStandard();
+ description.append(",").append(Utils.getStandardString(mContext, wifiStandard));
+ if (BuildCompat.isAtLeastT() && wifiStandard == ScanResult.WIFI_STANDARD_11BE) {
+ description.append(",mldMac=").append(scanResult.getApMldMacAddress());
+ description.append(",linkId=").append(scanResult.getApMloLinkId());
+ description.append(",affLinks=").append(scanResult.getAffiliatedMloLinks());
+ }
final int ageSeconds = (int) (nowMs - scanResult.timestamp / 1000) / 1000;
description.append(",").append(ageSeconds).append("s");
description.append("}");
@@ -956,6 +976,7 @@ public class StandardWifiEntry extends WifiEntry {
return Utils.getNetworkSelectionDescription(getWifiConfiguration());
}
+ // TODO(b/227622961): Remove the suppression once the linter recognizes BuildCompat.isAtLeastT()
@SuppressLint("NewApi")
private void updateAdminRestrictions() {
if (mUserManager != null) {
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java
index 1877139dc..f46229f8e 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java
@@ -1005,4 +1005,27 @@ public class Utils {
return DPM_SECURITY_TYPE_UNKNOWN;
}
}
+
+ /**
+ * Converts a ScanResult.WIFI_STANDARD_ value to a display string if available, or an
+ * empty string if there is no corresponding display string.
+ */
+ public static String getStandardString(@NonNull Context context, int standard) {
+ switch (standard) {
+ case ScanResult.WIFI_STANDARD_LEGACY:
+ return context.getString(R.string.wifitrackerlib_wifi_standard_legacy);
+ case ScanResult.WIFI_STANDARD_11N:
+ return context.getString(R.string.wifitrackerlib_wifi_standard_11n);
+ case ScanResult.WIFI_STANDARD_11AC:
+ return context.getString(R.string.wifitrackerlib_wifi_standard_11ac);
+ case ScanResult.WIFI_STANDARD_11AX:
+ return context.getString(R.string.wifitrackerlib_wifi_standard_11ax);
+ case ScanResult.WIFI_STANDARD_11AD:
+ return context.getString(R.string.wifitrackerlib_wifi_standard_11ad);
+ case ScanResult.WIFI_STANDARD_11BE:
+ return context.getString(R.string.wifitrackerlib_wifi_standard_11be);
+ default:
+ return context.getString(R.string.wifitrackerlib_wifi_standard_unknown);
+ }
+ }
}
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java
index 103de030e..f346c6179 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java
@@ -602,6 +602,11 @@ public class WifiEntry {
return "";
}
+ /** Returns the string displayed for the Wi-Fi standard */
+ public String getStandardString() {
+ return "";
+ }
+
/** Returns whether subscription of the entry is expired */
public boolean isExpired() {
return false;
@@ -957,7 +962,7 @@ public class WifiEntry {
if (bssid != null) {
sj.add(bssid);
}
- sj.add("standard = " + mWifiInfo.getWifiStandard());
+ sj.add("standard = " + getStandardString());
sj.add("rssi = " + mWifiInfo.getRssi());
sj.add("score = " + mWifiInfo.getScore());
sj.add(String.format(" tx=%.1f,", mWifiInfo.getSuccessfulTxPacketsPerSecond()));