Merge changes I7ea39b80,I6b9979f3 am: 310d1dac0d am: a27e14c240
Change-Id: If8cd7bd2c1fe4b698113eb761ed8e2b4f9580cf0
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user