[mdns] add API support for custom hostname
This commit adds support of regsitering a service with a custom
hostname. This is required to enable Advertising Proxy feature for Thread
devices.
For example:
```
NsdServiceInfo info = new NsdServiceInfo();
info.setServiceName("My Service");
info.setServiceType("_test._tcp");
info.setHostname("MyHost");
info.setHostAddresses(List.of(address1, address2));
nsdManager.registerService(info, PROTOCOL_DNS_SD, listener);
```
This CL also adds two new error codes for service/host registration
conflict: `FAILURE_SERVICE_NAME_CONFLICT` and
`FAILURE_HOST_NAME_CONFLICT`.
Bug: 284904661
Test: atest CtsNetTestCases FrameworksNetTests
Change-Id: I2fb974c38d851ba99144a18c7047084bbd61b938
This commit is contained in:
parent
ff474baf75
commit
1c2be6b391
1 changed files with 517 additions and 9 deletions
|
|
@ -119,6 +119,7 @@ public class NsdServiceInfoTest {
|
|||
fullInfo.setSubtypes(Set.of("_thread", "_matter"));
|
||||
fullInfo.setPort(4242);
|
||||
fullInfo.setHostAddresses(List.of(IPV4_ADDRESS));
|
||||
fullInfo.setHostname("home");
|
||||
fullInfo.setNetwork(new Network(123));
|
||||
fullInfo.setInterfaceIndex(456);
|
||||
checkParcelable(fullInfo);
|
||||
|
|
@ -134,6 +135,7 @@ public class NsdServiceInfoTest {
|
|||
attributedInfo.setServiceType("_kitten._tcp");
|
||||
attributedInfo.setPort(4242);
|
||||
attributedInfo.setHostAddresses(List.of(IPV6_ADDRESS, IPV4_ADDRESS));
|
||||
attributedInfo.setHostname("home");
|
||||
attributedInfo.setAttribute("color", "pink");
|
||||
attributedInfo.setAttribute("sound", (new String("にゃあ")).getBytes("UTF-8"));
|
||||
attributedInfo.setAttribute("adorable", (String) null);
|
||||
|
|
@ -169,6 +171,7 @@ public class NsdServiceInfoTest {
|
|||
assertEquals(original.getServiceName(), result.getServiceName());
|
||||
assertEquals(original.getServiceType(), result.getServiceType());
|
||||
assertEquals(original.getHost(), result.getHost());
|
||||
assertEquals(original.getHostname(), result.getHostname());
|
||||
assertTrue(original.getPort() == result.getPort());
|
||||
assertEquals(original.getNetwork(), result.getNetwork());
|
||||
assertEquals(original.getInterfaceIndex(), result.getInterfaceIndex());
|
||||
|
|
|
|||
Loading…
Reference in a new issue