[mdns] add API for discovery with subtype
This commit adds support of discovering services with explicit subtype.
With this change, a service can be discovered with subtype with:
```
nsdManager.discoverServices(
new DiscoveryRequest.Builder("_http._tcp", PROTOCOL_DNS_SD)
.setSubtype("_printer").build(),
executor, listener);
```
Bug: 265095929
Test: atest CtsNetTestCases FrameworksNetTests
Change-Id: Iba76283a003cf2d52a8c26e1de872c3e8e433350
This commit is contained in:
parent
7b2643f65f
commit
97d6aeb3a2
1 changed files with 497 additions and 37 deletions
|
|
@ -210,9 +210,26 @@ package android.net {
|
|||
|
||||
package android.net.nsd {
|
||||
|
||||
@FlaggedApi("com.android.net.flags.nsd_subtypes_support_enabled") public final class DiscoveryRequest implements android.os.Parcelable {
|
||||
method public int describeContents();
|
||||
method @Nullable public android.net.Network getNetwork();
|
||||
method @NonNull public String getServiceType();
|
||||
method @Nullable public String getSubtype();
|
||||
method public void writeToParcel(@NonNull android.os.Parcel, int);
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.DiscoveryRequest> CREATOR;
|
||||
}
|
||||
|
||||
public static final class DiscoveryRequest.Builder {
|
||||
ctor public DiscoveryRequest.Builder(@NonNull String);
|
||||
method @NonNull public android.net.nsd.DiscoveryRequest build();
|
||||
method @NonNull public android.net.nsd.DiscoveryRequest.Builder setNetwork(@Nullable android.net.Network);
|
||||
method @NonNull public android.net.nsd.DiscoveryRequest.Builder setSubtype(@Nullable String);
|
||||
}
|
||||
|
||||
public final class NsdManager {
|
||||
method public void discoverServices(String, int, android.net.nsd.NsdManager.DiscoveryListener);
|
||||
method public void discoverServices(@NonNull String, int, @Nullable android.net.Network, @NonNull java.util.concurrent.Executor, @NonNull android.net.nsd.NsdManager.DiscoveryListener);
|
||||
method @FlaggedApi("com.android.net.flags.nsd_subtypes_support_enabled") public void discoverServices(@NonNull android.net.nsd.DiscoveryRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.nsd.NsdManager.DiscoveryListener);
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void discoverServices(@NonNull String, int, @NonNull android.net.NetworkRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.nsd.NsdManager.DiscoveryListener);
|
||||
method public void registerService(android.net.nsd.NsdServiceInfo, int, android.net.nsd.NsdManager.RegistrationListener);
|
||||
method public void registerService(@NonNull android.net.nsd.NsdServiceInfo, int, @NonNull java.util.concurrent.Executor, @NonNull android.net.nsd.NsdManager.RegistrationListener);
|
||||
|
|
|
|||
Loading…
Reference in a new issue