Implement service lost callback

Service lost should be notified when receive the
onServiceNameRemoved callbacks from
MdnsServiceBrowserListener.

Bug: 254166302
Test: atest FrameworksNetTests
Change-Id: I298816ac186efeda85cea4cd11f3beab6b341bc5
This commit is contained in:
Paul Hu
2023-01-13 23:56:34 +08:00
parent 019621e070
commit 319751a572
2 changed files with 31 additions and 6 deletions

View File

@@ -190,7 +190,9 @@ public class NsdService extends INsdManager.Stub {
@Override
public void onServiceNameRemoved(@NonNull MdnsServiceInfo serviceInfo) {
// TODO: implement service name removed callback.
mNsdStateMachine.sendMessage(MDNS_DISCOVERY_MANAGER_EVENT, mTransactionId,
NsdManager.SERVICE_LOST,
new MdnsEvent(mClientId, mReqServiceInfo.getServiceType(), serviceInfo));
}
}
@@ -849,14 +851,17 @@ public class NsdService extends INsdManager.Stub {
final MdnsEvent event = (MdnsEvent) obj;
final int clientId = event.mClientId;
final NsdServiceInfo info = buildNsdServiceInfoFromMdnsEvent(event);
if (DBG) {
Log.d(TAG, String.format("MdnsDiscoveryManager event code=%s transactionId=%d",
NsdManager.nameOf(code), transactionId));
}
switch (code) {
case NsdManager.SERVICE_FOUND:
clientInfo.onServiceFound(
clientId, buildNsdServiceInfoFromMdnsEvent(event));
clientInfo.onServiceFound(clientId, info);
break;
case NsdManager.SERVICE_LOST:
clientInfo.onServiceLost(clientId, info);
break;
default:
return false;