summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wifi/java/android/net/wifi/hotspot2/PasspointConfiguration.java4
-rw-r--r--wifi/java/android/net/wifi/hotspot2/pps/Credential.java22
-rw-r--r--wifi/java/android/net/wifi/hotspot2/pps/HomeSp.java14
3 files changed, 38 insertions, 2 deletions
diff --git a/wifi/java/android/net/wifi/hotspot2/PasspointConfiguration.java b/wifi/java/android/net/wifi/hotspot2/PasspointConfiguration.java
index 9f581849efca..7d56585b6b71 100644
--- a/wifi/java/android/net/wifi/hotspot2/PasspointConfiguration.java
+++ b/wifi/java/android/net/wifi/hotspot2/PasspointConfiguration.java
@@ -909,8 +909,8 @@ public final class PasspointConfiguration implements Parcelable {
}
StringBuilder sb = new StringBuilder();
- sb.append(String.format("%s_%x%x", mHomeSp.getFqdn(), mHomeSp.hashCode(),
- mCredential.hashCode()));
+ sb.append(String.format("%s_%x%x", mHomeSp.getFqdn(), mHomeSp.getUniqueId(),
+ mCredential.getUniqueId()));
return sb.toString();
}
}
diff --git a/wifi/java/android/net/wifi/hotspot2/pps/Credential.java b/wifi/java/android/net/wifi/hotspot2/pps/Credential.java
index b037703ca056..99901808ec3e 100644
--- a/wifi/java/android/net/wifi/hotspot2/pps/Credential.java
+++ b/wifi/java/android/net/wifi/hotspot2/pps/Credential.java
@@ -1020,6 +1020,28 @@ public final class Credential implements Parcelable {
Arrays.hashCode(mClientCertificateChain));
}
+ /**
+ * Get a unique identifier for Credential. This identifier depends only on items that remain
+ * constant throughout the lifetime of a subscription's credentials.
+ *
+ * @hide
+ * @return a Unique identifier for a Credential object
+ */
+ public int getUniqueId() {
+ int usedCredential;
+
+ // Initialize usedCredential based on the credential type of the profile
+ if (mUserCredential != null) {
+ usedCredential = 0;
+ } else if (mCertCredential != null) {
+ usedCredential = 1;
+ } else {
+ usedCredential = 2;
+ }
+
+ return Objects.hash(usedCredential, mRealm);
+ }
+
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
diff --git a/wifi/java/android/net/wifi/hotspot2/pps/HomeSp.java b/wifi/java/android/net/wifi/hotspot2/pps/HomeSp.java
index a5de3318f454..224c4bed9d5b 100644
--- a/wifi/java/android/net/wifi/hotspot2/pps/HomeSp.java
+++ b/wifi/java/android/net/wifi/hotspot2/pps/HomeSp.java
@@ -305,6 +305,20 @@ public final class HomeSp implements Parcelable {
Arrays.hashCode(mRoamingConsortiumOis));
}
+ /**
+ * Get a unique identifier for HomeSp. This identifier depends only on items that remain
+ * constant throughout the lifetime of a subscription.
+ *
+ * @hide
+ * @return a Unique identifier for a HomeSp object
+ */
+ public int getUniqueId() {
+ return Objects.hash(mFqdn, mFriendlyName, mHomeNetworkIds, Arrays.hashCode(mMatchAllOis),
+ Arrays.hashCode(mMatchAnyOis), Arrays.hashCode(mOtherHomePartners),
+ Arrays.hashCode(mRoamingConsortiumOis));
+ }
+
+
@Override
public String toString() {
StringBuilder builder = new StringBuilder();