commit | 78b8ff8493f37657aab5b7a297c0b510290f5cb5 | [log] [tgz] |
---|---|---|
author | Maciej Żenczykowski <maze@google.com> | Fri May 05 20:41:28 2023 +0000 |
committer | Cherrypicker Worker <android-build-cherrypicker-worker@google.com> | Mon May 15 17:48:20 2023 +0000 |
tree | 891be78ced92d5476a34ed196044442f3a4a5aa6 | |
parent | 2ccf315f7f081d6c8cba7a1d917587792e812e55 [diff] |
LinkProperties: use ordered comparison for P-CSCFs. P-CSCF list is ordered list. Two lists with same servers but in different order are not equal. Use proper comparison. The P-CSCF address is a kind of entry point (proxy) of Server for IMS transaction between device and IMS Server. It can have multiple addresses as a list. Even if the same addresses have different orders, it is assumed that the server order has changed. Bug: 268479036 Test: TreeHugger (cherry picked from https://android-review.googlesource.com/q/commit:b0fc6627a6f76c02f3e420bbdd0a86581c955234) Merged-In: Ia1884f37739a20d871dd0024cc72cb18c083dc8e Change-Id: Ia1884f37739a20d871dd0024cc72cb18c083dc8e
diff --git a/framework/src/android/net/LinkProperties.java b/framework/src/android/net/LinkProperties.java index e0926e9..4f7ac30 100644 --- a/framework/src/android/net/LinkProperties.java +++ b/framework/src/android/net/LinkProperties.java
@@ -1456,9 +1456,8 @@ * @hide */ public boolean isIdenticalPcscfs(@NonNull LinkProperties target) { - Collection<InetAddress> targetPcscfs = target.getPcscfServers(); - return (mPcscfs.size() == targetPcscfs.size()) ? - mPcscfs.containsAll(targetPcscfs) : false; + // list order is important, compare one by one + return target.getPcscfServers().equals(mPcscfs); } /**