Merge "[AWARE] Update Aware NetworkSpecifier API per API council feedback"
This commit is contained in:
@@ -30321,13 +30321,11 @@ package android.net.wifi.aware {
|
||||
}
|
||||
|
||||
public static final class WifiAwareNetworkSpecifier.Builder {
|
||||
ctor public WifiAwareNetworkSpecifier.Builder();
|
||||
ctor public WifiAwareNetworkSpecifier.Builder(@NonNull android.net.wifi.aware.DiscoverySession, @NonNull android.net.wifi.aware.PeerHandle);
|
||||
method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier build();
|
||||
method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setDiscoverySession(@NonNull android.net.wifi.aware.DiscoverySession);
|
||||
method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPeerHandle(@NonNull android.net.wifi.aware.PeerHandle);
|
||||
method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPort(int);
|
||||
method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPort(@IntRange(from=0, to=65535) int);
|
||||
method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPskPassphrase(@NonNull String);
|
||||
method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setTransportProtocol(int);
|
||||
method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setTransportProtocol(@IntRange(from=0, to=255) int);
|
||||
}
|
||||
|
||||
public class WifiAwareSession implements java.lang.AutoCloseable {
|
||||
|
||||
@@ -18,6 +18,7 @@ package android.net.wifi.aware;
|
||||
|
||||
import static android.net.wifi.aware.WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_INITIATOR;
|
||||
|
||||
import android.annotation.IntRange;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.SystemApi;
|
||||
import android.net.NetworkSpecifier;
|
||||
@@ -302,12 +303,6 @@ public final class WifiAwareNetworkSpecifier extends NetworkSpecifier implements
|
||||
/**
|
||||
* A builder class for a Wi-Fi Aware network specifier to set up an Aware connection with a
|
||||
* peer.
|
||||
* <p>
|
||||
* Note that all Wi-Fi Aware connection specifier objects must call the
|
||||
* {@link Builder#setDiscoverySession(DiscoverySession)} to specify the context
|
||||
* within which the connection is created, and
|
||||
* {@link Builder#setPeerHandle(PeerHandle)} to specify the peer to which the
|
||||
* connection is created.
|
||||
*/
|
||||
public static final class Builder {
|
||||
private DiscoverySession mDiscoverySession;
|
||||
@@ -318,42 +313,27 @@ public final class WifiAwareNetworkSpecifier extends NetworkSpecifier implements
|
||||
private int mTransportProtocol = -1; // invalid value
|
||||
|
||||
/**
|
||||
* Configure the {@link PublishDiscoverySession} or {@link SubscribeDiscoverySession}
|
||||
* discovery session in whose context the connection is created.
|
||||
* <p>
|
||||
* Note: this method must be called for any connection request!
|
||||
* Create a builder for {@link WifiAwareNetworkSpecifier} used in requests to set up a
|
||||
* Wi-Fi Aware connection with a peer.
|
||||
*
|
||||
* @param discoverySession A Wi-Fi Aware discovery session.
|
||||
* @return the current {@link Builder} builder, enabling chaining of builder
|
||||
* methods.
|
||||
*/
|
||||
public @NonNull Builder setDiscoverySession(@NonNull DiscoverySession discoverySession) {
|
||||
if (discoverySession == null) {
|
||||
throw new IllegalArgumentException("Non-null discoverySession required");
|
||||
}
|
||||
mDiscoverySession = discoverySession;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Configure the {@link PeerHandle} of the peer to which the Wi-Fi Aware connection is
|
||||
* requested. The peer is discovered through Wi-Fi Aware discovery,
|
||||
* <p>
|
||||
* Note: this method must be called for any connection request!
|
||||
*
|
||||
* @param peerHandle The peer's handle obtained through
|
||||
* @param discoverySession A Wi-Fi Aware discovery session in whose context the connection
|
||||
* is created.
|
||||
* @param peerHandle The handle of the peer to which the Wi-Fi Aware connection is
|
||||
* requested. The peer is discovered through Wi-Fi Aware discovery. The
|
||||
* handle can be obtained through
|
||||
* {@link DiscoverySessionCallback#onServiceDiscovered(PeerHandle, byte[], java.util.List)}
|
||||
* or
|
||||
* {@link DiscoverySessionCallback#onMessageReceived(PeerHandle, byte[])}.
|
||||
* @return the current {@link Builder} builder, enabling chaining of builder
|
||||
* methods.
|
||||
*/
|
||||
public @NonNull Builder setPeerHandle(@NonNull PeerHandle peerHandle) {
|
||||
public Builder(@NonNull DiscoverySession discoverySession, @NonNull PeerHandle peerHandle) {
|
||||
if (discoverySession == null) {
|
||||
throw new IllegalArgumentException("Non-null discoverySession required");
|
||||
}
|
||||
if (peerHandle == null) {
|
||||
throw new IllegalArgumentException("Non-null peerHandle required");
|
||||
}
|
||||
mDiscoverySession = discoverySession;
|
||||
mPeerHandle = peerHandle;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -407,7 +387,7 @@ public final class WifiAwareNetworkSpecifier extends NetworkSpecifier implements
|
||||
* @return the current {@link Builder} builder, enabling chaining of builder
|
||||
* methods.
|
||||
*/
|
||||
public @NonNull Builder setPort(int port) {
|
||||
public @NonNull Builder setPort(@IntRange(from = 0, to = 65535) int port) {
|
||||
if (port <= 0 || port > 65535) {
|
||||
throw new IllegalArgumentException("The port must be a positive value (0, 65535]");
|
||||
}
|
||||
@@ -432,7 +412,8 @@ public final class WifiAwareNetworkSpecifier extends NetworkSpecifier implements
|
||||
* @return the current {@link Builder} builder, enabling chaining of builder
|
||||
* methods.
|
||||
*/
|
||||
public @NonNull Builder setTransportProtocol(int transportProtocol) {
|
||||
public @NonNull
|
||||
Builder setTransportProtocol(@IntRange(from = 0, to = 255) int transportProtocol) {
|
||||
if (transportProtocol < 0 || transportProtocol > 255) {
|
||||
throw new IllegalArgumentException(
|
||||
"The transport protocol must be in range [0, 255]");
|
||||
@@ -460,6 +441,9 @@ public final class WifiAwareNetworkSpecifier extends NetworkSpecifier implements
|
||||
if (mDiscoverySession == null) {
|
||||
throw new IllegalStateException("Null discovery session!?");
|
||||
}
|
||||
if (mPeerHandle == null) {
|
||||
throw new IllegalStateException("Null peerHandle!?");
|
||||
}
|
||||
if (mPskPassphrase != null & mPmk != null) {
|
||||
throw new IllegalStateException(
|
||||
"Can only specify a Passphrase or a PMK - not both!");
|
||||
@@ -481,10 +465,6 @@ public final class WifiAwareNetworkSpecifier extends NetworkSpecifier implements
|
||||
}
|
||||
}
|
||||
|
||||
if (role == WIFI_AWARE_DATA_PATH_ROLE_INITIATOR && mPeerHandle == null) {
|
||||
throw new IllegalStateException("Null peerHandle!?");
|
||||
}
|
||||
|
||||
return new WifiAwareNetworkSpecifier(
|
||||
WifiAwareNetworkSpecifier.NETWORK_SPECIFIER_TYPE_IB, role,
|
||||
mDiscoverySession.mClientId, mDiscoverySession.mSessionId, mPeerHandle.peerId,
|
||||
|
||||
@@ -958,8 +958,8 @@ public class WifiAwareManagerTest {
|
||||
WifiAwareNetworkSpecifier ns =
|
||||
(WifiAwareNetworkSpecifier) publishSession.getValue().createNetworkSpecifierOpen(
|
||||
peerHandle);
|
||||
WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder().setDiscoverySession(
|
||||
publishSession.getValue()).setPeerHandle(peerHandle).build();
|
||||
WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder(
|
||||
publishSession.getValue(), peerHandle).build();
|
||||
|
||||
// validate format
|
||||
collector.checkThat("role", WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_RESPONDER,
|
||||
@@ -979,9 +979,8 @@ public class WifiAwareManagerTest {
|
||||
// (4) request an encrypted (PMK) network specifier from the session
|
||||
ns = (WifiAwareNetworkSpecifier) publishSession.getValue().createNetworkSpecifierPmk(
|
||||
peerHandle, pmk);
|
||||
nsb = new WifiAwareNetworkSpecifier.Builder().setDiscoverySession(
|
||||
publishSession.getValue()).setPeerHandle(peerHandle).setPmk(pmk).setPort(
|
||||
port).setTransportProtocol(transportProtocol).build();
|
||||
nsb = new WifiAwareNetworkSpecifier.Builder(publishSession.getValue(), peerHandle).setPmk(
|
||||
pmk).setPort(port).setTransportProtocol(transportProtocol).build();
|
||||
|
||||
// validate format
|
||||
collector.checkThat("role", WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_RESPONDER,
|
||||
@@ -1005,9 +1004,9 @@ public class WifiAwareManagerTest {
|
||||
(WifiAwareNetworkSpecifier) publishSession.getValue()
|
||||
.createNetworkSpecifierPassphrase(
|
||||
peerHandle, passphrase);
|
||||
nsb = new WifiAwareNetworkSpecifier.Builder().setDiscoverySession(
|
||||
publishSession.getValue()).setPeerHandle(peerHandle).setPskPassphrase(
|
||||
passphrase).setPort(port).setTransportProtocol(transportProtocol).build();
|
||||
nsb = new WifiAwareNetworkSpecifier.Builder(publishSession.getValue(),
|
||||
peerHandle).setPskPassphrase(passphrase).setPort(port).setTransportProtocol(
|
||||
transportProtocol).build();
|
||||
|
||||
// validate format
|
||||
collector.checkThat("role", WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_RESPONDER,
|
||||
@@ -1255,16 +1254,15 @@ public class WifiAwareManagerTest {
|
||||
// (3) create network specifier
|
||||
if (doPmk) {
|
||||
if (useBuilder) {
|
||||
new WifiAwareNetworkSpecifier.Builder().setDiscoverySession(
|
||||
publishSession.getValue()).setPeerHandle(peerHandle).setPmk(pmk).build();
|
||||
new WifiAwareNetworkSpecifier.Builder(publishSession.getValue(), peerHandle).setPmk(
|
||||
pmk).build();
|
||||
} else {
|
||||
publishSession.getValue().createNetworkSpecifierPmk(peerHandle, pmk);
|
||||
}
|
||||
} else {
|
||||
if (useBuilder) {
|
||||
new WifiAwareNetworkSpecifier.Builder().setDiscoverySession(
|
||||
publishSession.getValue()).setPeerHandle(peerHandle).setPskPassphrase(
|
||||
passphrase).build();
|
||||
new WifiAwareNetworkSpecifier.Builder(publishSession.getValue(),
|
||||
peerHandle).setPskPassphrase(passphrase).build();
|
||||
} else {
|
||||
publishSession.getValue().createNetworkSpecifierPassphrase(peerHandle, passphrase);
|
||||
}
|
||||
@@ -1353,8 +1351,8 @@ public class WifiAwareManagerTest {
|
||||
|
||||
DiscoverySession publishSession = executeSessionStartup(true);
|
||||
|
||||
WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder().setDiscoverySession(
|
||||
publishSession).setPeerHandle(peerHandle).setPmk(pmk).setPort(port).build();
|
||||
WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder(publishSession,
|
||||
peerHandle).setPmk(pmk).setPort(port).build();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1368,8 +1366,8 @@ public class WifiAwareManagerTest {
|
||||
|
||||
DiscoverySession publishSession = executeSessionStartup(true);
|
||||
|
||||
WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder().setDiscoverySession(
|
||||
publishSession).setPeerHandle(peerHandle).setPort(port).build();
|
||||
WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder(publishSession,
|
||||
peerHandle).setPort(port).build();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1383,8 +1381,8 @@ public class WifiAwareManagerTest {
|
||||
|
||||
DiscoverySession subscribeSession = executeSessionStartup(false);
|
||||
|
||||
WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder().setDiscoverySession(
|
||||
subscribeSession).setPeerHandle(peerHandle).setPort(port).build();
|
||||
WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder(subscribeSession,
|
||||
peerHandle).setPort(port).build();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1403,27 +1401,23 @@ public class WifiAwareManagerTest {
|
||||
DiscoverySession publishSession = executeSessionStartup(true);
|
||||
|
||||
try {
|
||||
WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder()
|
||||
.setDiscoverySession(publishSession).setPeerHandle(peerHandle)
|
||||
.setPmk(pmk).setTransportProtocol(tpNegative).build();
|
||||
WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder(publishSession,
|
||||
peerHandle).setPmk(pmk).setTransportProtocol(tpNegative).build();
|
||||
assertTrue("No exception on negative transport protocol!", false);
|
||||
} catch (IllegalArgumentException e) {
|
||||
// nop - exception is correct!
|
||||
}
|
||||
try {
|
||||
WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder()
|
||||
.setDiscoverySession(publishSession).setPeerHandle(peerHandle)
|
||||
.setPmk(pmk).setTransportProtocol(tpTooLarge).build();
|
||||
WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder(publishSession,
|
||||
peerHandle).setPmk(pmk).setTransportProtocol(tpTooLarge).build();
|
||||
assertTrue("No exception on >255 transport protocol!", false);
|
||||
} catch (IllegalArgumentException e) {
|
||||
// nop - exception is correct!
|
||||
}
|
||||
WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder()
|
||||
.setDiscoverySession(publishSession).setPeerHandle(peerHandle)
|
||||
.setPmk(pmk).setTransportProtocol(tpSmallest).build();
|
||||
nsb = new WifiAwareNetworkSpecifier.Builder().setDiscoverySession(
|
||||
publishSession).setPeerHandle(peerHandle).setPmk(pmk).setTransportProtocol(
|
||||
tpLargest).build();
|
||||
WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder(publishSession,
|
||||
peerHandle).setPmk(pmk).setTransportProtocol(tpSmallest).build();
|
||||
nsb = new WifiAwareNetworkSpecifier.Builder(publishSession, peerHandle).setPmk(
|
||||
pmk).setTransportProtocol(tpLargest).build();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1437,9 +1431,8 @@ public class WifiAwareManagerTest {
|
||||
|
||||
DiscoverySession publishSession = executeSessionStartup(true);
|
||||
|
||||
WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder()
|
||||
.setDiscoverySession(publishSession).setPeerHandle(peerHandle)
|
||||
.setTransportProtocol(transportProtocol).build();
|
||||
WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder(publishSession,
|
||||
peerHandle).setTransportProtocol(transportProtocol).build();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1453,9 +1446,8 @@ public class WifiAwareManagerTest {
|
||||
|
||||
DiscoverySession subscribeSession = executeSessionStartup(false);
|
||||
|
||||
WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder()
|
||||
.setDiscoverySession(subscribeSession).setPeerHandle(peerHandle)
|
||||
.setTransportProtocol(transportProtocol).build();
|
||||
WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder(subscribeSession,
|
||||
peerHandle).setTransportProtocol(transportProtocol).build();
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user