summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuang Luong <qal@google.com>2022-04-07 16:26:10 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2022-04-07 16:26:10 +0000
commit87deb1a9138a61c3bd8702bcf0f4c2275369ae4a (patch)
tree8c79f1e25809335cef446b2fd7288cb9b64be91b
parentcbd0461005c822f9a8133fea5f7a3abb9ee24578 (diff)
parent372dc6bd1df6bc82c903fb12891f02deedf071e9 (diff)
downloadwifi-87deb1a9138a61c3bd8702bcf0f4c2275369ae4a.tar.gz
Merge "Add MLO info to Wifi picker verbose summary" into tm-dev
-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 6b3e041c8..f7e0dac9c 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java
@@ -666,6 +666,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) {
@@ -934,6 +945,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{");
@@ -943,6 +956,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("}");
@@ -954,6 +974,7 @@ public class StandardWifiEntry extends WifiEntry {
return Utils.getNetworkSelectionDescription(getWifiConfiguration());
}
+ // TODO(b/227622961): Remove the suppression once the linter recognizes BuildCompat.isAtLeastT()
@SuppressLint("NewApi")
void updateAdminRestrictions() {
if (!BuildCompat.isAtLeastT()) {
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()));