Revert "Implement the stop resolution with MdnsDiscoveryManager"
This reverts commit 6d77c41f2a.
Reason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?branch=aosp-master&target=aosp_cf_x86_64_phone-userdebug&lkgb=9678930&lkbb=9678975&fkbb=9678975, bug b/271400306
Change-Id: I8bfd2b8117ea401df7441116b983f5fe19f63d5d
BUG: 271400306
This commit is contained in:
committed by
Gerrit Code Review
parent
6d77c41f2a
commit
4b8d45a4c1
@@ -545,12 +545,6 @@ public class NsdService extends INsdManager.Stub {
|
||||
return new String(out.array(), 0, out.position(), utf8);
|
||||
}
|
||||
|
||||
private void stopDiscoveryManagerRequest(ClientRequest request, int clientId, int id,
|
||||
ClientInfo clientInfo) {
|
||||
clientInfo.unregisterMdnsListenerFromRequest(request);
|
||||
removeRequestMap(clientId, id, clientInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean processMessage(Message msg) {
|
||||
final ClientInfo clientInfo;
|
||||
@@ -637,7 +631,11 @@ public class NsdService extends INsdManager.Stub {
|
||||
// point, so this needs to check the type of the original request to
|
||||
// unregister instead of looking at the flag value.
|
||||
if (request instanceof DiscoveryManagerRequest) {
|
||||
stopDiscoveryManagerRequest(request, clientId, id, clientInfo);
|
||||
final MdnsListener listener =
|
||||
((DiscoveryManagerRequest) request).mListener;
|
||||
mMdnsDiscoveryManager.unregisterListener(
|
||||
listener.getListenedServiceType(), listener);
|
||||
removeRequestMap(clientId, id, clientInfo);
|
||||
clientInfo.onStopDiscoverySucceeded(clientId);
|
||||
} else {
|
||||
removeRequestMap(clientId, id, clientInfo);
|
||||
@@ -805,13 +803,6 @@ public class NsdService extends INsdManager.Stub {
|
||||
break;
|
||||
}
|
||||
id = request.mGlobalId;
|
||||
// Note isMdnsDiscoveryManagerEnabled may have changed to false at this
|
||||
// point, so this needs to check the type of the original request to
|
||||
// unregister instead of looking at the flag value.
|
||||
if (request instanceof DiscoveryManagerRequest) {
|
||||
stopDiscoveryManagerRequest(request, clientId, id, clientInfo);
|
||||
clientInfo.onStopResolutionSucceeded(clientId);
|
||||
} else {
|
||||
removeRequestMap(clientId, id, clientInfo);
|
||||
if (stopResolveService(id)) {
|
||||
clientInfo.onStopResolutionSucceeded(clientId);
|
||||
@@ -820,7 +811,7 @@ public class NsdService extends INsdManager.Stub {
|
||||
clientId, NsdManager.FAILURE_OPERATION_NOT_RUNNING);
|
||||
}
|
||||
clientInfo.mResolvedService = null;
|
||||
}
|
||||
// TODO: Implement the stop resolution with MdnsDiscoveryManager.
|
||||
break;
|
||||
}
|
||||
case NsdManager.REGISTER_SERVICE_CALLBACK:
|
||||
@@ -1173,7 +1164,10 @@ public class NsdService extends INsdManager.Stub {
|
||||
Log.wtf(TAG, "non-DiscoveryManager request in DiscoveryManager event");
|
||||
break;
|
||||
}
|
||||
stopDiscoveryManagerRequest(request, clientId, transactionId, clientInfo);
|
||||
final MdnsListener listener = ((DiscoveryManagerRequest) request).mListener;
|
||||
mMdnsDiscoveryManager.unregisterListener(
|
||||
listener.getListenedServiceType(), listener);
|
||||
removeRequestMap(clientId, transactionId, clientInfo);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@@ -1700,13 +1694,6 @@ public class NsdService extends INsdManager.Stub {
|
||||
mIsPreSClient = true;
|
||||
}
|
||||
|
||||
private void unregisterMdnsListenerFromRequest(ClientRequest request) {
|
||||
final MdnsListener listener =
|
||||
((DiscoveryManagerRequest) request).mListener;
|
||||
mMdnsDiscoveryManager.unregisterListener(
|
||||
listener.getListenedServiceType(), listener);
|
||||
}
|
||||
|
||||
// Remove any pending requests from the global map when we get rid of a client,
|
||||
// and send cancellations to the daemon.
|
||||
private void expungeAllRequests() {
|
||||
@@ -1722,7 +1709,10 @@ public class NsdService extends INsdManager.Stub {
|
||||
}
|
||||
|
||||
if (request instanceof DiscoveryManagerRequest) {
|
||||
unregisterMdnsListenerFromRequest(request);
|
||||
final MdnsListener listener =
|
||||
((DiscoveryManagerRequest) request).mListener;
|
||||
mMdnsDiscoveryManager.unregisterListener(
|
||||
listener.getListenedServiceType(), listener);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -1150,37 +1150,6 @@ public class NsdServiceTest {
|
||||
argThat(info -> matches(info, new NsdServiceInfo(regInfo.getServiceName(), null))));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStopServiceResolutionWithMdnsDiscoveryManager() {
|
||||
setMdnsDiscoveryManagerEnabled();
|
||||
|
||||
final NsdManager client = connectClient(mService);
|
||||
final ResolveListener resolveListener = mock(ResolveListener.class);
|
||||
final Network network = new Network(999);
|
||||
final String serviceType = "_nsd._service._tcp";
|
||||
final String constructedServiceType = "_nsd._sub._service._tcp.local";
|
||||
final ArgumentCaptor<MdnsServiceBrowserListener> listenerCaptor =
|
||||
ArgumentCaptor.forClass(MdnsServiceBrowserListener.class);
|
||||
final NsdServiceInfo request = new NsdServiceInfo(SERVICE_NAME, serviceType);
|
||||
request.setNetwork(network);
|
||||
client.resolveService(request, resolveListener);
|
||||
waitForIdle();
|
||||
verify(mSocketProvider).startMonitoringSockets();
|
||||
verify(mDiscoveryManager).registerListener(eq(constructedServiceType),
|
||||
listenerCaptor.capture(), argThat(options -> network.equals(options.getNetwork())));
|
||||
|
||||
client.stopServiceResolution(resolveListener);
|
||||
waitForIdle();
|
||||
|
||||
// Verify the listener has been unregistered.
|
||||
verify(mDiscoveryManager, timeout(TIMEOUT_MS))
|
||||
.unregisterListener(eq(constructedServiceType), eq(listenerCaptor.getValue()));
|
||||
verify(resolveListener, timeout(TIMEOUT_MS)).onResolutionStopped(argThat(ns ->
|
||||
request.getServiceName().equals(ns.getServiceName())
|
||||
&& request.getServiceType().equals(ns.getServiceType())));
|
||||
verify(mSocketProvider, timeout(CLEANUP_DELAY_MS + TIMEOUT_MS)).stopMonitoringSockets();
|
||||
}
|
||||
|
||||
private void waitForIdle() {
|
||||
HandlerUtils.waitForIdle(mHandler, TIMEOUT_MS);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user