Merge "Update #hashCode & #equals with mUnderlyingNetworkPriorities"

This commit is contained in:
Yan Yan
2021-12-08 20:15:08 +00:00
committed by Gerrit Code Review
7 changed files with 48 additions and 10 deletions

View File

@@ -151,7 +151,7 @@ public final class VcnCellUnderlyingNetworkPriority extends VcnUnderlyingNetwork
/** Retrieve the allowed PLMN IDs, or an empty set if any PLMN ID is acceptable. */
@NonNull
public Set<String> getAllowedPlmnIds() {
public Set<String> getAllowedOperatorPlmnIds() {
return Collections.unmodifiableSet(mAllowedNetworkPlmnIds);
}
@@ -211,7 +211,7 @@ public final class VcnCellUnderlyingNetworkPriority extends VcnUnderlyingNetwork
}
/** This class is used to incrementally build WifiNetworkPriority objects. */
public static class Builder extends VcnUnderlyingNetworkPriority.Builder<Builder> {
public static final class Builder extends VcnUnderlyingNetworkPriority.Builder<Builder> {
@NonNull private final Set<String> mAllowedNetworkPlmnIds = new ArraySet<>();
@NonNull private final Set<Integer> mAllowedSpecificCarrierIds = new ArraySet<>();
@@ -233,7 +233,7 @@ public final class VcnCellUnderlyingNetworkPriority extends VcnUnderlyingNetwork
* and {@link SubscriptionInfo#getMncString()}.
*/
@NonNull
public Builder setAllowedPlmnIds(@NonNull Set<String> allowedNetworkPlmnIds) {
public Builder setAllowedOperatorPlmnIds(@NonNull Set<String> allowedNetworkPlmnIds) {
validatePlmnIds(allowedNetworkPlmnIds);
mAllowedNetworkPlmnIds.clear();

View File

@@ -420,6 +420,7 @@ public final class VcnGatewayConnectionConfig {
mGatewayConnectionName,
mTunnelConnectionParams,
mExposedCapabilities,
mUnderlyingNetworkPriorities,
Arrays.hashCode(mRetryIntervalsMs),
mMaxMtu);
}
@@ -434,6 +435,7 @@ public final class VcnGatewayConnectionConfig {
return mGatewayConnectionName.equals(rhs.mGatewayConnectionName)
&& mTunnelConnectionParams.equals(rhs.mTunnelConnectionParams)
&& mExposedCapabilities.equals(rhs.mExposedCapabilities)
&& mUnderlyingNetworkPriorities.equals(rhs.mUnderlyingNetworkPriorities)
&& Arrays.equals(mRetryIntervalsMs, rhs.mRetryIntervalsMs)
&& mMaxMtu == rhs.mMaxMtu;
}

View File

@@ -79,7 +79,7 @@ public final class VcnWifiUnderlyingNetworkPriority extends VcnUnderlyingNetwork
}
final VcnWifiUnderlyingNetworkPriority rhs = (VcnWifiUnderlyingNetworkPriority) other;
return mSsid == rhs.mSsid;
return mSsid.equals(rhs.mSsid);
}
/** @hide */

View File

@@ -226,9 +226,9 @@ class NetworkPriorityClassifier {
.getSystemService(TelephonyManager.class)
.createForSubscriptionId(subId);
if (!networkPriority.getAllowedPlmnIds().isEmpty()) {
if (!networkPriority.getAllowedOperatorPlmnIds().isEmpty()) {
final String plmnId = subIdSpecificTelephonyMgr.getNetworkOperator();
if (!networkPriority.getAllowedPlmnIds().contains(plmnId)) {
if (!networkPriority.getAllowedOperatorPlmnIds().contains(plmnId)) {
return false;
}
}

View File

@@ -36,7 +36,7 @@ public class VcnCellUnderlyingNetworkPriorityTest {
return new VcnCellUnderlyingNetworkPriority.Builder()
.setNetworkQuality(NETWORK_QUALITY_OK)
.setAllowMetered(true /* allowMetered */)
.setAllowedPlmnIds(ALLOWED_PLMN_IDS)
.setAllowedOperatorPlmnIds(ALLOWED_PLMN_IDS)
.setAllowedSpecificCarrierIds(ALLOWED_CARRIER_IDS)
.setAllowRoaming(true /* allowRoaming */)
.setRequireOpportunistic(true /* requireOpportunistic */)
@@ -48,7 +48,7 @@ public class VcnCellUnderlyingNetworkPriorityTest {
final VcnCellUnderlyingNetworkPriority networkPriority = getTestNetworkPriority();
assertEquals(NETWORK_QUALITY_OK, networkPriority.getNetworkQuality());
assertTrue(networkPriority.allowMetered());
assertEquals(ALLOWED_PLMN_IDS, networkPriority.getAllowedPlmnIds());
assertEquals(ALLOWED_PLMN_IDS, networkPriority.getAllowedOperatorPlmnIds());
assertEquals(ALLOWED_CARRIER_IDS, networkPriority.getAllowedSpecificCarrierIds());
assertTrue(networkPriority.allowRoaming());
assertTrue(networkPriority.requireOpportunistic());
@@ -60,7 +60,7 @@ public class VcnCellUnderlyingNetworkPriorityTest {
new VcnCellUnderlyingNetworkPriority.Builder().build();
assertEquals(NETWORK_QUALITY_ANY, networkPriority.getNetworkQuality());
assertFalse(networkPriority.allowMetered());
assertEquals(new HashSet<String>(), networkPriority.getAllowedPlmnIds());
assertEquals(new HashSet<String>(), networkPriority.getAllowedOperatorPlmnIds());
assertEquals(new HashSet<Integer>(), networkPriority.getAllowedSpecificCarrierIds());
assertFalse(networkPriority.allowRoaming());
assertFalse(networkPriority.requireOpportunistic());

View File

@@ -271,4 +271,40 @@ public class VcnGatewayConnectionConfigTest {
assertNotEquals(tunnelParams, anotherTunnelParams);
assertNotEquals(config, anotherConfig);
}
private static VcnGatewayConnectionConfig buildTestConfigWithVcnUnderlyingNetworkPriorities(
LinkedHashSet<VcnUnderlyingNetworkPriority> networkPriorities) {
return buildTestConfigWithExposedCaps(
new VcnGatewayConnectionConfig.Builder(
"buildTestConfigWithVcnUnderlyingNetworkPriorities",
TUNNEL_CONNECTION_PARAMS)
.setVcnUnderlyingNetworkPriorities(networkPriorities),
EXPOSED_CAPS);
}
@Test
public void testVcnUnderlyingNetworkPrioritiesEquality() throws Exception {
final VcnGatewayConnectionConfig config =
buildTestConfigWithVcnUnderlyingNetworkPriorities(UNDERLYING_NETWORK_PRIORITIES);
final LinkedHashSet<VcnUnderlyingNetworkPriority> networkPrioritiesEqual =
new LinkedHashSet();
networkPrioritiesEqual.add(VcnCellUnderlyingNetworkPriorityTest.getTestNetworkPriority());
networkPrioritiesEqual.add(VcnWifiUnderlyingNetworkPriorityTest.getTestNetworkPriority());
final VcnGatewayConnectionConfig configEqual =
buildTestConfigWithVcnUnderlyingNetworkPriorities(networkPrioritiesEqual);
final LinkedHashSet<VcnUnderlyingNetworkPriority> networkPrioritiesNotEqual =
new LinkedHashSet();
networkPrioritiesNotEqual.add(
VcnWifiUnderlyingNetworkPriorityTest.getTestNetworkPriority());
final VcnGatewayConnectionConfig configNotEqual =
buildTestConfigWithVcnUnderlyingNetworkPriorities(networkPrioritiesNotEqual);
assertEquals(UNDERLYING_NETWORK_PRIORITIES, networkPrioritiesEqual);
assertEquals(config, configEqual);
assertNotEquals(UNDERLYING_NETWORK_PRIORITIES, networkPrioritiesNotEqual);
assertNotEquals(config, configNotEqual);
}
}

View File

@@ -279,7 +279,7 @@ public class NetworkPriorityClassifierTest {
final String networkPriorityPlmnId = useMatchedPlmnId ? PLMN_ID : PLMN_ID_OTHER;
final VcnCellUnderlyingNetworkPriority networkPriority =
getCellNetworkPriorityBuilder()
.setAllowedPlmnIds(Set.of(networkPriorityPlmnId))
.setAllowedOperatorPlmnIds(Set.of(networkPriorityPlmnId))
.build();
assertEquals(