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

View File

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

View File

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

View File

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

View File

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

View File

@@ -271,4 +271,40 @@ public class VcnGatewayConnectionConfigTest {
assertNotEquals(tunnelParams, anotherTunnelParams); assertNotEquals(tunnelParams, anotherTunnelParams);
assertNotEquals(config, anotherConfig); 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 String networkPriorityPlmnId = useMatchedPlmnId ? PLMN_ID : PLMN_ID_OTHER;
final VcnCellUnderlyingNetworkPriority networkPriority = final VcnCellUnderlyingNetworkPriority networkPriority =
getCellNetworkPriorityBuilder() getCellNetworkPriorityBuilder()
.setAllowedPlmnIds(Set.of(networkPriorityPlmnId)) .setAllowedOperatorPlmnIds(Set.of(networkPriorityPlmnId))
.build(); .build();
assertEquals( assertEquals(