Merge changes I7ea39b80,I6b9979f3 am: 310d1dac0d am: a27e14c240

Change-Id: If8cd7bd2c1fe4b698113eb761ed8e2b4f9580cf0
This commit is contained in:
Automerger Merge Worker
2020-01-13 04:34:10 +00:00
7 changed files with 94 additions and 101 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

View File

@@ -91,7 +91,7 @@ public class NetworkFactory extends Handler {
* with the same NetworkRequest but an updated score.
* Also, network conditions may change for this bearer
* allowing for a better score in the future.
* msg.arg2 = the serial number of the factory currently responsible for the
* msg.arg2 = the ID of the NetworkProvider currently responsible for the
* NetworkAgent handling this request, or NetworkProvider.ID_NONE if none.
*/
public static final int CMD_REQUEST_NETWORK = BASE;
@@ -156,8 +156,8 @@ public class NetworkFactory extends Handler {
mProvider = new NetworkProvider(mContext, NetworkFactory.this.getLooper(), LOG_TAG) {
@Override
public void onNetworkRequested(@NonNull NetworkRequest request, int score,
int servingFactoryProviderId) {
handleAddRequest((NetworkRequest) request, score, servingFactoryProviderId);
int servingProviderId) {
handleAddRequest((NetworkRequest) request, score, servingProviderId);
}
@Override
@@ -228,8 +228,6 @@ public class NetworkFactory extends Handler {
*
* @param request the request to handle.
* @param score the score of the NetworkAgent currently satisfying this request.
* @param servingProviderId the serial number of the NetworkFactory that
* created the NetworkAgent currently satisfying this request.
*/
// TODO : remove this method. It is a stopgap measure to help sheperding a number
// of dependent changes that would conflict throughout the automerger graph. Having this
@@ -237,7 +235,7 @@ public class NetworkFactory extends Handler {
// the entire tree.
@VisibleForTesting
protected void handleAddRequest(NetworkRequest request, int score) {
handleAddRequest(request, score, SerialNumber.NONE);
handleAddRequest(request, score, NetworkProvider.ID_NONE);
}
/**
@@ -246,24 +244,23 @@ public class NetworkFactory extends Handler {
*
* @param request the request to handle.
* @param score the score of the NetworkAgent currently satisfying this request.
* @param servingProviderId the serial number of the NetworkFactory that
* created the NetworkAgent currently satisfying this request.
* @param servingProviderId the ID of the NetworkProvider that created the NetworkAgent
* currently satisfying this request.
*/
@VisibleForTesting
protected void handleAddRequest(NetworkRequest request, int score,
int servingProviderId) {
protected void handleAddRequest(NetworkRequest request, int score, int servingProviderId) {
NetworkRequestInfo n = mNetworkRequests.get(request.requestId);
if (n == null) {
if (DBG) {
log("got request " + request + " with score " + score
+ " and serial " + servingProviderId);
+ " and providerId " + servingProviderId);
}
n = new NetworkRequestInfo(request, score, servingProviderId);
mNetworkRequests.put(n.request.requestId, n);
} else {
if (VDBG) {
log("new score " + score + " for exisiting request " + request
+ " with serial " + servingProviderId);
+ " and providerId " + servingProviderId);
}
n.score = score;
n.providerId = servingProviderId;