Loading services/core/java/com/android/server/ConnectivityService.java +16 −8 Original line number Diff line number Diff line Loading @@ -756,10 +756,20 @@ public class ConnectivityService extends IConnectivityManager.Stub { return mNextNetworkRequestId++; } private synchronized int nextNetId() { private void assignNextNetId(NetworkAgentInfo nai) { synchronized (mNetworkForNetId) { for (int i = MIN_NET_ID; i <= MAX_NET_ID; i++) { int netId = mNextNetId; if (++mNextNetId > MAX_NET_ID) mNextNetId = MIN_NET_ID; return netId; // Make sure NetID unused. http://b/16815182 if (mNetworkForNetId.get(netId) == null) { nai.network = new Network(netId); mNetworkForNetId.put(netId, nai); return; } } } throw new IllegalStateException("No free netIds"); } private int getConnectivityChangeDelay() { Loading Loading @@ -4149,7 +4159,7 @@ public class ConnectivityService extends IConnectivityManager.Stub { int currentScore, NetworkMisc networkMisc) { enforceConnectivityInternalPermission(); NetworkAgentInfo nai = new NetworkAgentInfo(messenger, new AsyncChannel(), nextNetId(), NetworkAgentInfo nai = new NetworkAgentInfo(messenger, new AsyncChannel(), new NetworkInfo(networkInfo), new LinkProperties(linkProperties), new NetworkCapabilities(networkCapabilities), currentScore, mContext, mTrackerHandler, networkMisc); Loading @@ -4163,9 +4173,7 @@ public class ConnectivityService extends IConnectivityManager.Stub { private void handleRegisterNetworkAgent(NetworkAgentInfo na) { if (VDBG) log("Got NetworkAgent Messenger"); mNetworkAgentInfos.put(na.messenger, na); synchronized (mNetworkForNetId) { mNetworkForNetId.put(na.network.netId, na); } assignNextNetId(na); na.asyncChannel.connect(mContext, mTrackerHandler, na.messenger); NetworkInfo networkInfo = na.networkInfo; na.networkInfo = null; Loading services/core/java/com/android/server/connectivity/NetworkAgentInfo.java +5 −4 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ import java.util.ArrayList; */ public class NetworkAgentInfo { public NetworkInfo networkInfo; public final Network network; public Network network; public LinkProperties linkProperties; public NetworkCapabilities networkCapabilities; public int currentScore; Loading @@ -55,12 +55,12 @@ public class NetworkAgentInfo { public final Messenger messenger; public final AsyncChannel asyncChannel; public NetworkAgentInfo(Messenger messenger, AsyncChannel ac, int netId, NetworkInfo info, public NetworkAgentInfo(Messenger messenger, AsyncChannel ac, NetworkInfo info, LinkProperties lp, NetworkCapabilities nc, int score, Context context, Handler handler, NetworkMisc misc) { this.messenger = messenger; asyncChannel = ac; network = new Network(netId); network = null; networkInfo = info; linkProperties = lp; networkCapabilities = nc; Loading @@ -87,6 +87,7 @@ public class NetworkAgentInfo { public String name() { return "NetworkAgentInfo [" + networkInfo.getTypeName() + " (" + networkInfo.getSubtypeName() + ") - " + network.toString() + "]"; networkInfo.getSubtypeName() + ") - " + (network == null ? "null" : network.toString()) + "]"; } } Loading
services/core/java/com/android/server/ConnectivityService.java +16 −8 Original line number Diff line number Diff line Loading @@ -756,10 +756,20 @@ public class ConnectivityService extends IConnectivityManager.Stub { return mNextNetworkRequestId++; } private synchronized int nextNetId() { private void assignNextNetId(NetworkAgentInfo nai) { synchronized (mNetworkForNetId) { for (int i = MIN_NET_ID; i <= MAX_NET_ID; i++) { int netId = mNextNetId; if (++mNextNetId > MAX_NET_ID) mNextNetId = MIN_NET_ID; return netId; // Make sure NetID unused. http://b/16815182 if (mNetworkForNetId.get(netId) == null) { nai.network = new Network(netId); mNetworkForNetId.put(netId, nai); return; } } } throw new IllegalStateException("No free netIds"); } private int getConnectivityChangeDelay() { Loading Loading @@ -4149,7 +4159,7 @@ public class ConnectivityService extends IConnectivityManager.Stub { int currentScore, NetworkMisc networkMisc) { enforceConnectivityInternalPermission(); NetworkAgentInfo nai = new NetworkAgentInfo(messenger, new AsyncChannel(), nextNetId(), NetworkAgentInfo nai = new NetworkAgentInfo(messenger, new AsyncChannel(), new NetworkInfo(networkInfo), new LinkProperties(linkProperties), new NetworkCapabilities(networkCapabilities), currentScore, mContext, mTrackerHandler, networkMisc); Loading @@ -4163,9 +4173,7 @@ public class ConnectivityService extends IConnectivityManager.Stub { private void handleRegisterNetworkAgent(NetworkAgentInfo na) { if (VDBG) log("Got NetworkAgent Messenger"); mNetworkAgentInfos.put(na.messenger, na); synchronized (mNetworkForNetId) { mNetworkForNetId.put(na.network.netId, na); } assignNextNetId(na); na.asyncChannel.connect(mContext, mTrackerHandler, na.messenger); NetworkInfo networkInfo = na.networkInfo; na.networkInfo = null; Loading
services/core/java/com/android/server/connectivity/NetworkAgentInfo.java +5 −4 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ import java.util.ArrayList; */ public class NetworkAgentInfo { public NetworkInfo networkInfo; public final Network network; public Network network; public LinkProperties linkProperties; public NetworkCapabilities networkCapabilities; public int currentScore; Loading @@ -55,12 +55,12 @@ public class NetworkAgentInfo { public final Messenger messenger; public final AsyncChannel asyncChannel; public NetworkAgentInfo(Messenger messenger, AsyncChannel ac, int netId, NetworkInfo info, public NetworkAgentInfo(Messenger messenger, AsyncChannel ac, NetworkInfo info, LinkProperties lp, NetworkCapabilities nc, int score, Context context, Handler handler, NetworkMisc misc) { this.messenger = messenger; asyncChannel = ac; network = new Network(netId); network = null; networkInfo = info; linkProperties = lp; networkCapabilities = nc; Loading @@ -87,6 +87,7 @@ public class NetworkAgentInfo { public String name() { return "NetworkAgentInfo [" + networkInfo.getTypeName() + " (" + networkInfo.getSubtypeName() + ") - " + network.toString() + "]"; networkInfo.getSubtypeName() + ") - " + (network == null ? "null" : network.toString()) + "]"; } }