Better distinguish between WifiScanner clients in logs
Change-Id: I15327935f4b9ccdf3d3244087c508f19fd275c1f
Fixes: 29385784
diff --git a/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java b/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java
index d279482..4227390 100644
--- a/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java
+++ b/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java
@@ -136,7 +136,8 @@
case AsyncChannel.CMD_CHANNEL_FULL_CONNECTION: {
ExternalClientInfo client = (ExternalClientInfo) mClients.get(msg.replyTo);
if (client != null) {
- logw("duplicate client connection: " + msg.sendingUid);
+ logw("duplicate client connection: " + msg.sendingUid + ", messenger="
+ + msg.replyTo);
client.mChannel.replyToMessage(msg, AsyncChannel.CMD_CHANNEL_FULLY_CONNECTED,
AsyncChannel.STATUS_FULL_CONNECTION_REFUSED_ALREADY_CONNECTED);
return;
@@ -151,7 +152,7 @@
ac.replyToMessage(msg, AsyncChannel.CMD_CHANNEL_FULLY_CONNECTED,
AsyncChannel.STATUS_SUCCESSFUL);
- if (DBG) Log.d(TAG, "client connected: " + client);
+ localLog("client connected: " + client);
return;
}
case AsyncChannel.CMD_CHANNEL_DISCONNECT: {
@@ -164,9 +165,7 @@
case AsyncChannel.CMD_CHANNEL_DISCONNECTED: {
ExternalClientInfo client = (ExternalClientInfo) mClients.get(msg.replyTo);
if (client != null) {
- if (DBG) {
- Log.d(TAG, "client disconnected: " + client + ", reason: " + msg.arg1);
- }
+ localLog("client disconnected: " + client + ", reason: " + msg.arg1);
client.cleanup();
}
return;
@@ -1117,13 +1116,13 @@
if (DBG) Log.d(TAG, "scan stopped");
return true;
} else {
- Log.d(TAG, "starting scan: "
+ localLog("starting scan: "
+ "base period=" + schedule.base_period_ms
+ ", max ap per scan=" + schedule.max_ap_per_scan
+ ", batched scans=" + schedule.report_threshold_num_scans);
for (int b = 0; b < schedule.num_buckets; b++) {
WifiNative.BucketSettings bucket = schedule.buckets[b];
- Log.d(TAG, "bucket " + bucket.bucket + " (" + bucket.period_ms + "ms)"
+ localLog("bucket " + bucket.bucket + " (" + bucket.period_ms + "ms)"
+ "[" + bucket.report_events + "]: "
+ ChannelHelper.toString(bucket));
}
@@ -1891,7 +1890,7 @@
@Override
public String toString() {
- return "ClientInfo[uid=" + mUid + "]";
+ return "ClientInfo[uid=" + mUid + "," + mMessenger + "]";
}
}
@@ -1988,6 +1987,11 @@
public void sendRequestToClientHandler(int what) {
sendRequestToClientHandler(what, null, null);
}
+
+ @Override
+ public String toString() {
+ return "InternalClientInfo[]";
+ }
}
void replySucceeded(Message msg) {
diff --git a/tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java b/tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java
index 62f5105..1288153 100644
--- a/tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java
@@ -299,8 +299,9 @@
private void assertDumpContainsRequestLog(String type, int id) {
String serviceDump = dumpService();
- Pattern logLineRegex = Pattern.compile("^.+" + type + ": ClientInfo\\[uid=\\d+\\],Id=" +
- id + ".*$", Pattern.MULTILINE);
+ Pattern logLineRegex = Pattern.compile("^.+" + type
+ + ": ClientInfo\\[uid=\\d+,android\\.os\\.Messenger@[a-f0-9]+\\],Id=" + id
+ + ".*$", Pattern.MULTILINE);
assertTrue("dump did not contain log with type=" + type + ", id=" + id +
": " + serviceDump + "\n",
logLineRegex.matcher(serviceDump).find());
@@ -309,8 +310,9 @@
private void assertDumpContainsCallbackLog(String callback, int id, String extra) {
String serviceDump = dumpService();
String extraPattern = extra == null ? "" : "," + extra;
- Pattern logLineRegex = Pattern.compile("^.+" + callback + ": ClientInfo\\[uid=\\d+\\],Id=" +
- id + extraPattern + "$", Pattern.MULTILINE);
+ Pattern logLineRegex = Pattern.compile("^.+" + callback
+ + ": ClientInfo\\[uid=\\d+,android\\.os\\.Messenger@[a-f0-9]+\\],Id=" + id
+ + extraPattern + "$", Pattern.MULTILINE);
assertTrue("dump did not contain callback log with callback=" + callback + ", id=" + id +
", extra=" + extra + ": " + serviceDump + "\n",
logLineRegex.matcher(serviceDump).find());