From b63b76abf8f0808c674d255c67e91d126e26aedb Mon Sep 17 00:00:00 2001 From: Nate Jiang Date: Thu, 12 Nov 2020 15:47:16 -0800 Subject: [PATCH] [Suggestion] Make suggestion equals and hashcode stable Make the equals and hashcode has same result for suggestion create by builder and get from franework. Bug: 142035508 Test: atest android.net.wifi Change-Id: Idbcced87aba940ec0159f892c92a582ab3670da5 --- wifi/java/android/net/wifi/WifiConfiguration.java | 6 +++++- wifi/java/android/net/wifi/WifiNetworkSuggestion.java | 11 ++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java index 84cd8184289b5..85b3170d59bde 100644 --- a/wifi/java/android/net/wifi/WifiConfiguration.java +++ b/wifi/java/android/net/wifi/WifiConfiguration.java @@ -3255,7 +3255,11 @@ public class WifiConfiguration implements Parcelable { return key; } - private String getDefaultSecurityType() { + /** + * Get the default security type string. + * @hide + */ + public String getDefaultSecurityType() { String key; if (allowedKeyManagement.get(KeyMgmt.WPA_PSK)) { key = KeyMgmt.strings[KeyMgmt.WPA_PSK]; diff --git a/wifi/java/android/net/wifi/WifiNetworkSuggestion.java b/wifi/java/android/net/wifi/WifiNetworkSuggestion.java index bd9a10308bae3..e606d533a5320 100644 --- a/wifi/java/android/net/wifi/WifiNetworkSuggestion.java +++ b/wifi/java/android/net/wifi/WifiNetworkSuggestion.java @@ -1180,7 +1180,8 @@ public final class WifiNetworkSuggestion implements Parcelable { @Override public int hashCode() { return Objects.hash(wifiConfiguration.SSID, wifiConfiguration.BSSID, - wifiConfiguration.allowedKeyManagement, wifiConfiguration.getKey(), + wifiConfiguration.getDefaultSecurityType(), + wifiConfiguration.getPasspointUniqueId(), wifiConfiguration.subscriptionId, wifiConfiguration.carrierId); } @@ -1202,10 +1203,10 @@ public final class WifiNetworkSuggestion implements Parcelable { return TextUtils.equals(this.wifiConfiguration.SSID, lhs.wifiConfiguration.SSID) && TextUtils.equals(this.wifiConfiguration.BSSID, lhs.wifiConfiguration.BSSID) - && Objects.equals(this.wifiConfiguration.allowedKeyManagement, - lhs.wifiConfiguration.allowedKeyManagement) - && TextUtils.equals(this.wifiConfiguration.getKey(), - lhs.wifiConfiguration.getKey()) + && TextUtils.equals(this.wifiConfiguration.getDefaultSecurityType(), + lhs.wifiConfiguration.getDefaultSecurityType()) + && TextUtils.equals(this.wifiConfiguration.getPasspointUniqueId(), + lhs.wifiConfiguration.getPasspointUniqueId()) && this.wifiConfiguration.carrierId == lhs.wifiConfiguration.carrierId && this.wifiConfiguration.subscriptionId == lhs.wifiConfiguration.subscriptionId; }