diff --git a/framework/src/android/net/LinkProperties.java b/framework/src/android/net/LinkProperties.java index 4f7ac30b5e..9fb9bc667d 100644 --- a/framework/src/android/net/LinkProperties.java +++ b/framework/src/android/net/LinkProperties.java @@ -1456,8 +1456,13 @@ public final class LinkProperties implements Parcelable { * @hide */ public boolean isIdenticalPcscfs(@NonNull LinkProperties target) { - // list order is important, compare one by one - return target.getPcscfServers().equals(mPcscfs); + // Per 3GPP TS 24.229, B.2.2.1 PDP context activation and P-CSCF discovery + // list order is important, so on U+ compare one by one + if (SdkLevel.isAtLeastU()) return target.getPcscfServers().equals(mPcscfs); + // but for safety old behaviour on pre-U: + Collection targetPcscfs = target.getPcscfServers(); + return (mPcscfs.size() == targetPcscfs.size()) ? + mPcscfs.containsAll(targetPcscfs) : false; } /**