diff --git a/service-t/src/com/android/server/NsdService.java b/service-t/src/com/android/server/NsdService.java index 383ed2cf92..c5104d8ef1 100644 --- a/service-t/src/com/android/server/NsdService.java +++ b/service-t/src/com/android/server/NsdService.java @@ -44,7 +44,6 @@ import android.net.nsd.INsdServiceConnector; import android.net.nsd.MDnsManager; import android.net.nsd.NsdManager; import android.net.nsd.NsdServiceInfo; -import android.os.Binder; import android.os.Handler; import android.os.HandlerThread; import android.os.IBinder; @@ -57,12 +56,10 @@ import android.util.Log; import android.util.SparseArray; import com.android.internal.annotations.VisibleForTesting; -import com.android.internal.util.IndentingPrintWriter; import com.android.internal.util.State; import com.android.internal.util.StateMachine; import com.android.net.module.util.DeviceConfigUtils; import com.android.net.module.util.PermissionUtils; -import com.android.net.module.util.SharedLog; import com.android.server.connectivity.mdns.ExecutorProvider; import com.android.server.connectivity.mdns.MdnsAdvertiser; import com.android.server.connectivity.mdns.MdnsDiscoveryManager; @@ -162,7 +159,6 @@ public class NsdService extends INsdManager.Stub { private final MdnsSocketProvider mMdnsSocketProvider; @NonNull private final MdnsAdvertiser mAdvertiser; - private final SharedLog mServiceLogs = new SharedLog(TAG); // WARNING : Accessing these values in any thread is not safe, it must only be changed in the // state machine thread. If change this outside state machine, it will need to introduce // synchronization. @@ -183,8 +179,6 @@ public class NsdService extends INsdManager.Stub { private int mUniqueId = 1; // The count of the connected legacy clients. private int mLegacyClientCount = 0; - // The number of client that ever connected. - private int mClientNumberId = 1; private static class MdnsListener implements MdnsServiceBrowserListener { protected final int mClientId; @@ -338,7 +332,6 @@ public class NsdService extends INsdManager.Stub { mMDnsManager.startDaemon(); mIsDaemonStarted = true; maybeScheduleStop(); - mServiceLogs.log("Start mdns_responder daemon"); } private void maybeStopDaemon() { @@ -349,7 +342,6 @@ public class NsdService extends INsdManager.Stub { mMDnsManager.unregisterEventListener(mMDnsEventCallback); mMDnsManager.stopDaemon(); mIsDaemonStarted = false; - mServiceLogs.log("Stop mdns_responder daemon"); } private boolean isAnyRequestActive() { @@ -409,9 +401,7 @@ public class NsdService extends INsdManager.Stub { final INsdManagerCallback cb = arg.callback; try { cb.asBinder().linkToDeath(arg.connector, 0); - final String tag = "Client" + arg.uid + "-" + mClientNumberId++; - cInfo = new ClientInfo(cb, arg.useJavaBackend, - mServiceLogs.forSubComponent(tag)); + cInfo = new ClientInfo(cb, arg.useJavaBackend); mClients.put(arg.connector, cInfo); } catch (RemoteException e) { Log.w(TAG, "Client " + clientId + " has already died"); @@ -638,8 +628,6 @@ public class NsdService extends INsdManager.Stub { listenServiceType, listener, options); storeDiscoveryManagerRequestMap(clientId, id, listener, clientInfo); clientInfo.onDiscoverServicesStarted(clientId, info); - clientInfo.log("Register a DiscoveryListener " + id - + " for service type:" + listenServiceType); } else { maybeStartDaemon(); if (discoverServices(id, info)) { @@ -681,7 +669,6 @@ public class NsdService extends INsdManager.Stub { if (request instanceof DiscoveryManagerRequest) { stopDiscoveryManagerRequest(request, clientId, id, clientInfo); clientInfo.onStopDiscoverySucceeded(clientId); - clientInfo.log("Unregister the DiscoveryListener " + id); } else { removeRequestMap(clientId, id, clientInfo); if (stopServiceDiscovery(id)) { @@ -817,8 +804,6 @@ public class NsdService extends INsdManager.Stub { mMdnsDiscoveryManager.registerListener( resolveServiceType, listener, options); storeDiscoveryManagerRequestMap(clientId, id, listener, clientInfo); - clientInfo.log("Register a ResolutionListener " + id - + " for service type:" + resolveServiceType); } else { if (clientInfo.mResolvedService != null) { clientInfo.onResolveServiceFailed( @@ -861,7 +846,6 @@ public class NsdService extends INsdManager.Stub { if (request instanceof DiscoveryManagerRequest) { stopDiscoveryManagerRequest(request, clientId, id, clientInfo); clientInfo.onStopResolutionSucceeded(clientId); - clientInfo.log("Unregister the ResolutionListener " + id); } else { removeRequestMap(clientId, id, clientInfo); if (stopResolveService(id)) { @@ -907,8 +891,6 @@ public class NsdService extends INsdManager.Stub { mMdnsDiscoveryManager.registerListener( resolveServiceType, listener, options); storeDiscoveryManagerRequestMap(clientId, id, listener, clientInfo); - clientInfo.log("Register a ServiceInfoListener " + id - + " for service type:" + resolveServiceType); break; } case NsdManager.UNREGISTER_SERVICE_CALLBACK: { @@ -932,7 +914,6 @@ public class NsdService extends INsdManager.Stub { if (request instanceof DiscoveryManagerRequest) { stopDiscoveryManagerRequest(request, clientId, id, clientInfo); clientInfo.onServiceInfoCallbackUnregistered(clientId); - clientInfo.log("Unregister the ServiceInfoListener " + id); } else { loge("Unregister failed with non-DiscoveryManagerRequest."); } @@ -1564,14 +1545,12 @@ public class NsdService extends INsdManager.Stub { @NonNull public final NsdServiceConnector connector; @NonNull public final INsdManagerCallback callback; public final boolean useJavaBackend; - public final int uid; ConnectorArgs(@NonNull NsdServiceConnector connector, @NonNull INsdManagerCallback callback, - boolean useJavaBackend, int uid) { + boolean useJavaBackend) { this.connector = connector; this.callback = callback; this.useJavaBackend = useJavaBackend; - this.uid = uid; } } @@ -1580,9 +1559,9 @@ public class NsdService extends INsdManager.Stub { mContext.enforceCallingOrSelfPermission(android.Manifest.permission.INTERNET, "NsdService"); if (DBG) Log.d(TAG, "New client connect. useJavaBackend=" + useJavaBackend); final INsdServiceConnector connector = new NsdServiceConnector(); - mNsdStateMachine.sendMessage(mNsdStateMachine.obtainMessage(NsdManager.REGISTER_CLIENT, - new ConnectorArgs((NsdServiceConnector) connector, cb, useJavaBackend, - Binder.getCallingUid()))); + mNsdStateMachine.sendMessage(mNsdStateMachine.obtainMessage( + NsdManager.REGISTER_CLIENT, + new ConnectorArgs((NsdServiceConnector) connector, cb, useJavaBackend))); return connector; } @@ -1781,39 +1760,15 @@ public class NsdService extends INsdManager.Stub { } @Override - public void dump(FileDescriptor fd, PrintWriter writer, String[] args) { - if (!PermissionUtils.checkDumpPermission(mContext, TAG, writer)) return; + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + if (!PermissionUtils.checkDumpPermission(mContext, TAG, pw)) return; + + for (ClientInfo client : mClients.values()) { + pw.println("Client Info"); + pw.println(client); + } - final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " "); - // Dump state machine logs mNsdStateMachine.dump(fd, pw, args); - - // Dump service and clients logs - pw.println(); - pw.increaseIndent(); - mServiceLogs.reverseDump(pw); - pw.decreaseIndent(); - - // Dump advertiser related logs - pw.println(); - pw.println("Advertiser:"); - pw.increaseIndent(); - mAdvertiser.dump(pw); - pw.decreaseIndent(); - - // Dump discoverymanager related logs - pw.println(); - pw.println("DiscoveryManager:"); - pw.increaseIndent(); - mMdnsDiscoveryManager.dump(pw); - pw.decreaseIndent(); - - // Dump socketprovider related logs - pw.println(); - pw.println("SocketProvider:"); - pw.increaseIndent(); - mMdnsSocketProvider.dump(pw); - pw.decreaseIndent(); } private abstract static class ClientRequest { @@ -1864,14 +1819,11 @@ public class NsdService extends INsdManager.Stub { private boolean mIsPreSClient = false; // The flag of using java backend if the client's target SDK >= U private final boolean mUseJavaBackend; - // Store client logs - private final SharedLog mClientLogs; - private ClientInfo(INsdManagerCallback cb, boolean useJavaBackend, SharedLog sharedLog) { + private ClientInfo(INsdManagerCallback cb, boolean useJavaBackend) { mCb = cb; mUseJavaBackend = useJavaBackend; - mClientLogs = sharedLog; - mClientLogs.log("New client. useJavaBackend=" + useJavaBackend); + if (DBG) Log.d(TAG, "New client"); } @Override @@ -1909,7 +1861,6 @@ public class NsdService extends INsdManager.Stub { // Remove any pending requests from the global map when we get rid of a client, // and send cancellations to the daemon. private void expungeAllRequests() { - mClientLogs.log("Client unregistered. expungeAllRequests!"); // TODO: to keep handler responsive, do not clean all requests for that client at once. for (int i = 0; i < mClientRequests.size(); i++) { final int clientId = mClientRequests.keyAt(i); @@ -1964,10 +1915,6 @@ public class NsdService extends INsdManager.Stub { return -1; } - private void log(String message) { - mClientLogs.log(message); - } - void onDiscoverServicesStarted(int listenerKey, NsdServiceInfo info) { try { mCb.onDiscoverServicesStarted(listenerKey, info);