Replace StringNetworkSpecifier & subId with TelephonyNetworkSpecifer
StringNetworkSpecifier is widely used to specify subscription id for
the NetworkRequest. The raw string field introduce ambiguity and leave
large space for bugs. With TelephonyNetworkSpecifer, we are able to
settle down the type and value of the fields (although currently only
one) and introduce validation to detect the bug in the beginning.
Bug: 145993724
Test: atest FrameworksNetTests FrameworksTelephonyTests &
make offline-sdk-docs
Change-Id: Iefbad9b1deb3de2c0b262d9ce5ae0704a50d08a6
This commit is contained in:
@@ -51,6 +51,7 @@ import android.net.NetworkPolicy;
|
||||
import android.net.NetworkPolicyManager;
|
||||
import android.net.NetworkTemplate;
|
||||
import android.net.StringNetworkSpecifier;
|
||||
import android.net.TelephonyNetworkSpecifier;
|
||||
import android.os.Handler;
|
||||
import android.provider.Settings;
|
||||
import android.telephony.TelephonyManager;
|
||||
@@ -229,7 +230,7 @@ public class MultipathPolicyTrackerTest {
|
||||
verify(mCM).registerNetworkCallback(any(), networkCallback.capture(), any());
|
||||
|
||||
// Simulate callback after capability changes
|
||||
final NetworkCapabilities capabilities = new NetworkCapabilities()
|
||||
NetworkCapabilities capabilities = new NetworkCapabilities()
|
||||
.addCapability(NET_CAPABILITY_INTERNET)
|
||||
.addTransportType(TRANSPORT_CELLULAR)
|
||||
.setNetworkSpecifier(new StringNetworkSpecifier("234"));
|
||||
@@ -239,6 +240,19 @@ public class MultipathPolicyTrackerTest {
|
||||
networkCallback.getValue().onCapabilitiesChanged(
|
||||
TEST_NETWORK,
|
||||
capabilities);
|
||||
|
||||
// make sure it also works with the new introduced TelephonyNetworkSpecifier
|
||||
capabilities = new NetworkCapabilities()
|
||||
.addCapability(NET_CAPABILITY_INTERNET)
|
||||
.addTransportType(TRANSPORT_CELLULAR)
|
||||
.setNetworkSpecifier(new TelephonyNetworkSpecifier.Builder()
|
||||
.setSubscriptionId(234).build());
|
||||
if (!roaming) {
|
||||
capabilities.addCapability(NET_CAPABILITY_NOT_ROAMING);
|
||||
}
|
||||
networkCallback.getValue().onCapabilitiesChanged(
|
||||
TEST_NETWORK,
|
||||
capabilities);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user