diff options
| author | Hugo Benichi <hugobenichi@google.com> | 2017-04-05 14:06:11 +0900 |
|---|---|---|
| committer | Hugo Benichi <hugobenichi@google.com> | 2017-04-17 10:07:05 +0900 |
| commit | fb320cbdbbd10554cf6c926ee29f22f4a96010cb (patch) | |
| tree | 01a9fd59b39df82e219a6be1c62004c1183ebab4 /core/java/android | |
| parent | d8837b6fca23847fcd4dd295ccbb33ef9d4edcec (diff) | |
Nsdmanager/NsdService: add logging
This patch adds basic logging to NsdManager and NsdService, and improves
the facilities for pretty printing the event ids defined in NsdManager.
It also includes a few minor cleanups:
- adding 'final' on effectively final instance variables of NsdManager
and NsdService.
- similarly, adding 'static' on effectively static class fields.
- regrouping instance variables together.
Test: no functional changes
Bug: 33074219
(cherry picked from commit 2183ba9b5f8eb54c74cd198a7506b21319794e99)
Merged-In: I360d539e73cc8e4b45d4e0d20b2e345455fdb10c
Change-Id: Id917f3a2085d17f277850af36a2cf859e3614a0f
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/net/nsd/NsdManager.java | 49 |
1 files changed, 41 insertions, 8 deletions
diff --git a/core/java/android/net/nsd/NsdManager.java b/core/java/android/net/nsd/NsdManager.java index 33d12a3a3fb8..1dde3cad23f3 100644 --- a/core/java/android/net/nsd/NsdManager.java +++ b/core/java/android/net/nsd/NsdManager.java @@ -45,7 +45,7 @@ import com.android.internal.util.Protocol; * http://files.dns-sd.org/draft-cheshire-dnsext-dns-sd.txt * * <p> The API is asynchronous and responses to requests from an application are on listener - * callbacks on a seperate thread. + * callbacks on a seperate internal thread. * * <p> There are three main operations the API supports - registration, discovery and resolution. * <pre> @@ -119,8 +119,8 @@ import com.android.internal.util.Protocol; * {@see NsdServiceInfo} */ public final class NsdManager { - private static final String TAG = "NsdManager"; - INsdManager mService; + private static final String TAG = NsdManager.class.getSimpleName(); + private static final boolean DBG = false; /** * Broadcast intent action to indicate whether network service discovery is @@ -130,8 +130,7 @@ public final class NsdManager { * @see #EXTRA_NSD_STATE */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) - public static final String ACTION_NSD_STATE_CHANGED = - "android.net.nsd.STATE_CHANGED"; + public static final String ACTION_NSD_STATE_CHANGED = "android.net.nsd.STATE_CHANGED"; /** * The lookup key for an int that indicates whether network service discovery is enabled @@ -208,13 +207,47 @@ public final class NsdManager { /** Dns based service discovery protocol */ public static final int PROTOCOL_DNS_SD = 0x0001; - private Context mContext; + private static final SparseArray<String> EVENT_NAMES = new SparseArray<>(); + static { + EVENT_NAMES.put(DISCOVER_SERVICES, "DISCOVER_SERVICES"); + EVENT_NAMES.put(DISCOVER_SERVICES_STARTED, "DISCOVER_SERVICES_STARTED"); + EVENT_NAMES.put(DISCOVER_SERVICES_FAILED, "DISCOVER_SERVICES_FAILED"); + EVENT_NAMES.put(SERVICE_FOUND, "SERVICE_FOUND"); + EVENT_NAMES.put(SERVICE_LOST, "SERVICE_LOST"); + EVENT_NAMES.put(STOP_DISCOVERY, "STOP_DISCOVERY"); + EVENT_NAMES.put(STOP_DISCOVERY_FAILED, "STOP_DISCOVERY_FAILED"); + EVENT_NAMES.put(STOP_DISCOVERY_SUCCEEDED, "STOP_DISCOVERY_SUCCEEDED"); + EVENT_NAMES.put(REGISTER_SERVICE, "REGISTER_SERVICE"); + EVENT_NAMES.put(REGISTER_SERVICE_FAILED, "REGISTER_SERVICE_FAILED"); + EVENT_NAMES.put(REGISTER_SERVICE_SUCCEEDED, "REGISTER_SERVICE_SUCCEEDED"); + EVENT_NAMES.put(UNREGISTER_SERVICE, "UNREGISTER_SERVICE"); + EVENT_NAMES.put(UNREGISTER_SERVICE_FAILED, "UNREGISTER_SERVICE_FAILED"); + EVENT_NAMES.put(UNREGISTER_SERVICE_SUCCEEDED, "UNREGISTER_SERVICE_SUCCEEDED"); + EVENT_NAMES.put(RESOLVE_SERVICE, "RESOLVE_SERVICE"); + EVENT_NAMES.put(RESOLVE_SERVICE_FAILED, "RESOLVE_SERVICE_FAILED"); + EVENT_NAMES.put(RESOLVE_SERVICE_SUCCEEDED, "RESOLVE_SERVICE_SUCCEEDED"); + EVENT_NAMES.put(ENABLE, "ENABLE"); + EVENT_NAMES.put(DISABLE, "DISABLE"); + EVENT_NAMES.put(NATIVE_DAEMON_EVENT, "NATIVE_DAEMON_EVENT"); + } + + /** @hide */ + public static String nameOf(int event) { + String name = EVENT_NAMES.get(event); + if (name == null) { + return Integer.toString(event); + } + return name; + } + + private final INsdManager mService; + private final Context mContext; private static final int INVALID_LISTENER_KEY = 0; private static final int BUSY_LISTENER_KEY = -1; private int mListenerKey = 1; private final SparseArray mListenerMap = new SparseArray(); - private final SparseArray<NsdServiceInfo> mServiceMap = new SparseArray<NsdServiceInfo>(); + private final SparseArray<NsdServiceInfo> mServiceMap = new SparseArray<>(); private final Object mMapLock = new Object(); private final AsyncChannel mAsyncChannel = new AsyncChannel(); @@ -300,6 +333,7 @@ public final class NsdManager { @Override public void handleMessage(Message message) { + if (DBG) Log.d(TAG, "received " + nameOf(message.what)); switch (message.what) { case AsyncChannel.CMD_CHANNEL_HALF_CONNECTED: mAsyncChannel.sendMessage(AsyncChannel.CMD_CHANNEL_FULL_CONNECTION); @@ -377,7 +411,6 @@ public final class NsdManager { // if the listener is already in the map, reject it. Otherwise, add it and // return its key. - private int putListener(Object listener, NsdServiceInfo s) { if (listener == null) return INVALID_LISTENER_KEY; int key; |
