Add bugreport info about network feature use.

We've had a couple bug reports showing the effects of a left-live feature request.
We need a bit more bugreport-time logging.

bug: 2323226
This commit is contained in:
Robert Greenwalt
2009-12-21 18:24:07 -08:00
parent 5ff2dcfa4e
commit 3eeb603d10

View File

@@ -454,6 +454,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
IBinder mBinder;
int mPid;
int mUid;
long mCreateTime;
FeatureUser(int type, String feature, IBinder binder) {
super();
@@ -462,6 +463,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
mBinder = binder;
mPid = getCallingPid();
mUid = getCallingUid();
mCreateTime = System.currentTimeMillis();
try {
mBinder.linkToDeath(this, 0);
@@ -476,15 +478,22 @@ public class ConnectivityService extends IConnectivityManager.Stub {
public void binderDied() {
Log.d(TAG, "ConnectivityService FeatureUser binderDied(" +
mNetworkType + ", " + mFeature + ", " + mBinder);
mNetworkType + ", " + mFeature + ", " + mBinder + "), created " +
(System.currentTimeMillis() - mCreateTime) + " mSec ago");
stopUsingNetworkFeature(this, false);
}
public void expire() {
Log.d(TAG, "ConnectivityService FeatureUser expire(" +
mNetworkType + ", " + mFeature + ", " + mBinder);
mNetworkType + ", " + mFeature + ", " + mBinder +"), created " +
(System.currentTimeMillis() - mCreateTime) + " mSec ago");
stopUsingNetworkFeature(this, false);
}
public String toString() {
return "FeatureUser("+mNetworkType+","+mFeature+","+mPid+","+mUid+"), created " +
(System.currentTimeMillis() - mCreateTime) + " mSec ago";
}
}
// javadoc from interface
@@ -599,6 +608,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
return stopUsingNetworkFeature(u, true);
} else {
// none found!
if (DBG) Log.d(TAG, "ignoring stopUsingNetworkFeature - not a live request");
return 1;
}
}
@@ -643,6 +653,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
if (x.mUid == u.mUid && x.mPid == u.mPid &&
x.mNetworkType == u.mNetworkType &&
TextUtils.equals(x.mFeature, u.mFeature)) {
if (DBG) Log.d(TAG, "ignoring stopUsingNetworkFeature as dup is found");
return 1;
}
}
@@ -1199,7 +1210,8 @@ public class ConnectivityService extends IConnectivityManager.Stub {
}
pw.println();
for (NetworkStateTracker nst : mNetTrackers) {
if (nst != null && nst.getNetworkInfo().isConnected()) {
if (nst != null) {
if (nst.getNetworkInfo().isConnected()) {
pw.println("Active network: " + nst.getNetworkInfo().
getTypeName());
}
@@ -1209,6 +1221,23 @@ public class ConnectivityService extends IConnectivityManager.Stub {
}
}
pw.println("Network Requester Pids:");
for (int net : mPriorityList) {
String pidString = net + ": ";
for (Object pid : mNetRequestersPids[net]) {
pidString = pidString + pid.toString() + ", ";
}
pw.println(pidString);
}
pw.println();
pw.println("FeatureUsers:");
for (Object requester : mFeatureUsers) {
pw.println(requester.toString());
}
pw.println();
}
// must be stateless - things change under us.
private class MyHandler extends Handler {
@Override