Stop using NetworkFactory in connectivity code.

Bug: 138306002
Test: builds, boots
Test: atest FrameworksNetTests
Change-Id: I6b9979f343108c0c077abd86ae1c21e5ece0cccc
This commit is contained in:
Lorenzo Colitti 2020-01-10 00:40:28 +09:00
commit 94c9314065
2 changed files with 83 additions and 87 deletions

View file

@ -3121,8 +3121,6 @@ public class ConnectivityManager {
@RequiresPermission(android.Manifest.permission.NETWORK_FACTORY)
public int registerNetworkProvider(@NonNull NetworkProvider provider) {
if (provider.getProviderId() != NetworkProvider.ID_NONE) {
// TODO: Provide a better method for checking this by moving NetworkFactory.SerialNumber
// out of NetworkFactory.
throw new IllegalStateException("NetworkProviders can only be registered once");
}
@ -3176,8 +3174,7 @@ public class ConnectivityManager {
@RequiresPermission(android.Manifest.permission.NETWORK_FACTORY)
public int registerNetworkAgent(Messenger messenger, NetworkInfo ni, LinkProperties lp,
NetworkCapabilities nc, int score, NetworkMisc misc) {
return registerNetworkAgent(messenger, ni, lp, nc, score, misc,
NetworkFactory.SerialNumber.NONE);
return registerNetworkAgent(messenger, ni, lp, nc, score, misc, NetworkProvider.ID_NONE);
}
/**
@ -3187,10 +3184,9 @@ public class ConnectivityManager {
*/
@RequiresPermission(android.Manifest.permission.NETWORK_FACTORY)
public int registerNetworkAgent(Messenger messenger, NetworkInfo ni, LinkProperties lp,
NetworkCapabilities nc, int score, NetworkMisc misc, int factorySerialNumber) {
NetworkCapabilities nc, int score, NetworkMisc misc, int providerId) {
try {
return mService.registerNetworkAgent(messenger, ni, lp, nc, score, misc,
factorySerialNumber);
return mService.registerNetworkAgent(messenger, ni, lp, nc, score, misc, providerId);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}

View file

@ -58,7 +58,7 @@ public abstract class NetworkAgent extends Handler {
private static final long BW_REFRESH_MIN_WIN_MS = 500;
private boolean mPollLceScheduled = false;
private AtomicBoolean mPollLcePending = new AtomicBoolean(false);
public final int mFactorySerialNumber;
public final int mProviderId;
private static final int BASE = Protocol.BASE_NETWORK_AGENT;
@ -219,25 +219,25 @@ public abstract class NetworkAgent extends Handler {
// the entire tree.
public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni,
NetworkCapabilities nc, LinkProperties lp, int score) {
this(looper, context, logTag, ni, nc, lp, score, null, NetworkFactory.SerialNumber.NONE);
this(looper, context, logTag, ni, nc, lp, score, null, NetworkProvider.ID_NONE);
}
public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni,
NetworkCapabilities nc, LinkProperties lp, int score, NetworkMisc misc) {
this(looper, context, logTag, ni, nc, lp, score, misc, NetworkFactory.SerialNumber.NONE);
this(looper, context, logTag, ni, nc, lp, score, misc, NetworkProvider.ID_NONE);
}
public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni,
NetworkCapabilities nc, LinkProperties lp, int score, int factorySerialNumber) {
this(looper, context, logTag, ni, nc, lp, score, null, factorySerialNumber);
NetworkCapabilities nc, LinkProperties lp, int score, int providerId) {
this(looper, context, logTag, ni, nc, lp, score, null, providerId);
}
public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni,
NetworkCapabilities nc, LinkProperties lp, int score, NetworkMisc misc,
int factorySerialNumber) {
int providerId) {
super(looper);
LOG_TAG = logTag;
mContext = context;
mFactorySerialNumber = factorySerialNumber;
mProviderId = providerId;
if (ni == null || nc == null || lp == null) {
throw new IllegalArgumentException();
}
@ -246,8 +246,7 @@ public abstract class NetworkAgent extends Handler {
ConnectivityManager cm = (ConnectivityManager)mContext.getSystemService(
Context.CONNECTIVITY_SERVICE);
netId = cm.registerNetworkAgent(new Messenger(this), new NetworkInfo(ni),
new LinkProperties(lp), new NetworkCapabilities(nc), score, misc,
factorySerialNumber);
new LinkProperties(lp), new NetworkCapabilities(nc), score, misc, providerId);
}
@Override