diff options
author | Quang Luong <qal@google.com> | 2022-04-07 16:26:10 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2022-04-07 16:26:10 +0000 |
commit | 87deb1a9138a61c3bd8702bcf0f4c2275369ae4a (patch) | |
tree | 8c79f1e25809335cef446b2fd7288cb9b64be91b | |
parent | cbd0461005c822f9a8133fea5f7a3abb9ee24578 (diff) | |
parent | 372dc6bd1df6bc82c903fb12891f02deedf071e9 (diff) | |
download | wifi-87deb1a9138a61c3bd8702bcf0f4c2275369ae4a.tar.gz |
Merge "Add MLO info to Wifi picker verbose summary" into tm-dev
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())); |