Log NetworkRequestInfo to get more detailed history
Bug: 21641983 Bug: 22235775 Bug: 22299819 Bug: 22358164 Change-Id: I48a2d162dd499a3590f06d805267a63822856969
This commit is contained in:
@@ -407,6 +407,10 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
// sequence number of NetworkRequests
|
// sequence number of NetworkRequests
|
||||||
private int mNextNetworkRequestId = 1;
|
private int mNextNetworkRequestId = 1;
|
||||||
|
|
||||||
|
// NetworkRequest activity String log entries.
|
||||||
|
private static final int MAX_NETWORK_REQUEST_LOGS = 20;
|
||||||
|
private final LocalLog mNetworkRequestInfoLogs = new LocalLog(MAX_NETWORK_REQUEST_LOGS);
|
||||||
|
|
||||||
// Array of <Network,ReadOnlyLocalLogs> tracking network validation and results
|
// Array of <Network,ReadOnlyLocalLogs> tracking network validation and results
|
||||||
private static final int MAX_VALIDATION_LOGS = 10;
|
private static final int MAX_VALIDATION_LOGS = 10;
|
||||||
private final ArrayDeque<Pair<Network,ReadOnlyLocalLog>> mValidationLogs =
|
private final ArrayDeque<Pair<Network,ReadOnlyLocalLog>> mValidationLogs =
|
||||||
@@ -609,8 +613,10 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
if (DBG) log("ConnectivityService starting up");
|
if (DBG) log("ConnectivityService starting up");
|
||||||
|
|
||||||
mDefaultRequest = createInternetRequestForTransport(-1);
|
mDefaultRequest = createInternetRequestForTransport(-1);
|
||||||
mNetworkRequests.put(mDefaultRequest, new NetworkRequestInfo(
|
NetworkRequestInfo defaultNRI = new NetworkRequestInfo(null, mDefaultRequest,
|
||||||
null, mDefaultRequest, new Binder(), NetworkRequestInfo.REQUEST));
|
new Binder(), NetworkRequestInfo.REQUEST);
|
||||||
|
mNetworkRequests.put(mDefaultRequest, defaultNRI);
|
||||||
|
mNetworkRequestInfoLogs.log("REGISTER " + defaultNRI);
|
||||||
|
|
||||||
mDefaultMobileDataRequest = createInternetRequestForTransport(
|
mDefaultMobileDataRequest = createInternetRequestForTransport(
|
||||||
NetworkCapabilities.TRANSPORT_CELLULAR);
|
NetworkCapabilities.TRANSPORT_CELLULAR);
|
||||||
@@ -1858,6 +1864,12 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
pw.decreaseIndent();
|
pw.decreaseIndent();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pw.println();
|
||||||
|
pw.println("mNetworkRequestInfoLogs (most recent first):");
|
||||||
|
pw.increaseIndent();
|
||||||
|
mNetworkRequestInfoLogs.reverseDump(fd, pw, args);
|
||||||
|
pw.decreaseIndent();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2207,6 +2219,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
|
|
||||||
private void handleRegisterNetworkRequest(NetworkRequestInfo nri) {
|
private void handleRegisterNetworkRequest(NetworkRequestInfo nri) {
|
||||||
mNetworkRequests.put(nri.request, nri);
|
mNetworkRequests.put(nri.request, nri);
|
||||||
|
mNetworkRequestInfoLogs.log("REGISTER " + nri);
|
||||||
rematchAllNetworksAndRequests(null, 0);
|
rematchAllNetworksAndRequests(null, 0);
|
||||||
if (nri.isRequest && mNetworkForRequestId.get(nri.request.requestId) == null) {
|
if (nri.isRequest && mNetworkForRequestId.get(nri.request.requestId) == null) {
|
||||||
sendUpdatedScoreToFactories(nri.request, 0);
|
sendUpdatedScoreToFactories(nri.request, 0);
|
||||||
@@ -2256,6 +2269,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
if (DBG) log("releasing NetworkRequest " + request);
|
if (DBG) log("releasing NetworkRequest " + request);
|
||||||
nri.unlinkDeathRecipient();
|
nri.unlinkDeathRecipient();
|
||||||
mNetworkRequests.remove(request);
|
mNetworkRequests.remove(request);
|
||||||
|
mNetworkRequestInfoLogs.log("RELEASE " + nri);
|
||||||
if (nri.isRequest) {
|
if (nri.isRequest) {
|
||||||
// Find all networks that are satisfying this request and remove the request
|
// Find all networks that are satisfying this request and remove the request
|
||||||
// from their request lists.
|
// from their request lists.
|
||||||
@@ -3528,8 +3542,9 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return (isRequest ? "Request" : "Listen") + " from uid/pid:" + mUid + "/" +
|
return (isRequest ? "Request" : "Listen") +
|
||||||
mPid + " for " + request +
|
" from uid/pid:" + mUid + "/" + mPid +
|
||||||
|
" for " + request +
|
||||||
(mPendingIntent == null ? "" : " to trigger " + mPendingIntent);
|
(mPendingIntent == null ? "" : " to trigger " + mPendingIntent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3559,9 +3574,9 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
|
|
||||||
NetworkRequest networkRequest = new NetworkRequest(networkCapabilities, legacyType,
|
NetworkRequest networkRequest = new NetworkRequest(networkCapabilities, legacyType,
|
||||||
nextNetworkRequestId());
|
nextNetworkRequestId());
|
||||||
if (DBG) log("requestNetwork for " + networkRequest);
|
|
||||||
NetworkRequestInfo nri = new NetworkRequestInfo(messenger, networkRequest, binder,
|
NetworkRequestInfo nri = new NetworkRequestInfo(messenger, networkRequest, binder,
|
||||||
NetworkRequestInfo.REQUEST);
|
NetworkRequestInfo.REQUEST);
|
||||||
|
if (DBG) log("requestNetwork for " + nri);
|
||||||
|
|
||||||
mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_REQUEST, nri));
|
mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_REQUEST, nri));
|
||||||
if (timeoutMs > 0) {
|
if (timeoutMs > 0) {
|
||||||
@@ -3624,9 +3639,9 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
|
|
||||||
NetworkRequest networkRequest = new NetworkRequest(networkCapabilities, TYPE_NONE,
|
NetworkRequest networkRequest = new NetworkRequest(networkCapabilities, TYPE_NONE,
|
||||||
nextNetworkRequestId());
|
nextNetworkRequestId());
|
||||||
if (DBG) log("pendingRequest for " + networkRequest + " to trigger " + operation);
|
|
||||||
NetworkRequestInfo nri = new NetworkRequestInfo(networkRequest, operation,
|
NetworkRequestInfo nri = new NetworkRequestInfo(networkRequest, operation,
|
||||||
NetworkRequestInfo.REQUEST);
|
NetworkRequestInfo.REQUEST);
|
||||||
|
if (DBG) log("pendingRequest for " + nri);
|
||||||
mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_REQUEST_WITH_INTENT,
|
mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_REQUEST_WITH_INTENT,
|
||||||
nri));
|
nri));
|
||||||
return networkRequest;
|
return networkRequest;
|
||||||
@@ -3674,11 +3689,11 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
enforceAccessPermission();
|
enforceAccessPermission();
|
||||||
}
|
}
|
||||||
|
|
||||||
NetworkRequest networkRequest = new NetworkRequest(new NetworkCapabilities(
|
NetworkRequest networkRequest = new NetworkRequest(
|
||||||
networkCapabilities), TYPE_NONE, nextNetworkRequestId());
|
new NetworkCapabilities(networkCapabilities), TYPE_NONE, nextNetworkRequestId());
|
||||||
if (DBG) log("listenForNetwork for " + networkRequest);
|
|
||||||
NetworkRequestInfo nri = new NetworkRequestInfo(messenger, networkRequest, binder,
|
NetworkRequestInfo nri = new NetworkRequestInfo(messenger, networkRequest, binder,
|
||||||
NetworkRequestInfo.LISTEN);
|
NetworkRequestInfo.LISTEN);
|
||||||
|
if (DBG) log("listenForNetwork for " + nri);
|
||||||
|
|
||||||
mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_LISTENER, nri));
|
mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_LISTENER, nri));
|
||||||
return networkRequest;
|
return networkRequest;
|
||||||
@@ -3692,11 +3707,11 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
enforceAccessPermission();
|
enforceAccessPermission();
|
||||||
}
|
}
|
||||||
|
|
||||||
NetworkRequest networkRequest = new NetworkRequest(new NetworkCapabilities(
|
NetworkRequest networkRequest = new NetworkRequest(
|
||||||
networkCapabilities), TYPE_NONE, nextNetworkRequestId());
|
new NetworkCapabilities(networkCapabilities), TYPE_NONE, nextNetworkRequestId());
|
||||||
if (DBG) log("pendingListenForNetwork for " + networkRequest + " to trigger " + operation);
|
|
||||||
NetworkRequestInfo nri = new NetworkRequestInfo(networkRequest, operation,
|
NetworkRequestInfo nri = new NetworkRequestInfo(networkRequest, operation,
|
||||||
NetworkRequestInfo.LISTEN);
|
NetworkRequestInfo.LISTEN);
|
||||||
|
if (DBG) log("pendingListenForNetwork for " + nri);
|
||||||
|
|
||||||
mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_LISTENER, nri));
|
mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_LISTENER, nri));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user