Merge "[AWARE] Update network API: make open/encrypted explicit"

This commit is contained in:
Etan Cohen
2017-03-10 17:03:20 +00:00
committed by Gerrit Code Review
8 changed files with 56 additions and 91 deletions

View File

@@ -25157,7 +25157,8 @@ package android.net.wifi.aware {
} }
public class DiscoverySession { public class DiscoverySession {
method public java.lang.String createNetworkSpecifier(android.net.wifi.aware.PeerHandle, byte[]); method public java.lang.String createNetworkSpecifierOpen(android.net.wifi.aware.PeerHandle);
method public java.lang.String createNetworkSpecifierPassphrase(android.net.wifi.aware.PeerHandle, java.lang.String);
method public void destroy(); method public void destroy();
method public void sendMessage(android.net.wifi.aware.PeerHandle, int, byte[]); method public void sendMessage(android.net.wifi.aware.PeerHandle, int, byte[]);
} }
@@ -25245,7 +25246,8 @@ package android.net.wifi.aware {
} }
public class WifiAwareSession { public class WifiAwareSession {
method public java.lang.String createNetworkSpecifier(int, byte[], byte[]); method public java.lang.String createNetworkSpecifierOpen(int, byte[]);
method public java.lang.String createNetworkSpecifierPassphrase(int, byte[], java.lang.String);
method public void destroy(); method public void destroy();
method public void publish(android.net.wifi.aware.PublishConfig, android.net.wifi.aware.DiscoverySessionCallback, android.os.Handler); method public void publish(android.net.wifi.aware.PublishConfig, android.net.wifi.aware.DiscoverySessionCallback, android.os.Handler);
method public void subscribe(android.net.wifi.aware.SubscribeConfig, android.net.wifi.aware.DiscoverySessionCallback, android.os.Handler); method public void subscribe(android.net.wifi.aware.SubscribeConfig, android.net.wifi.aware.DiscoverySessionCallback, android.os.Handler);

View File

@@ -27715,7 +27715,9 @@ package android.net.wifi.aware {
} }
public class DiscoverySession { public class DiscoverySession {
method public java.lang.String createNetworkSpecifier(android.net.wifi.aware.PeerHandle, byte[]); method public java.lang.String createNetworkSpecifierOpen(android.net.wifi.aware.PeerHandle);
method public java.lang.String createNetworkSpecifierPassphrase(android.net.wifi.aware.PeerHandle, java.lang.String);
method public java.lang.String createNetworkSpecifierPmk(android.net.wifi.aware.PeerHandle, byte[]);
method public void destroy(); method public void destroy();
method public void sendMessage(android.net.wifi.aware.PeerHandle, int, byte[]); method public void sendMessage(android.net.wifi.aware.PeerHandle, int, byte[]);
} }
@@ -27803,7 +27805,9 @@ package android.net.wifi.aware {
} }
public class WifiAwareSession { public class WifiAwareSession {
method public java.lang.String createNetworkSpecifier(int, byte[], byte[]); method public java.lang.String createNetworkSpecifierOpen(int, byte[]);
method public java.lang.String createNetworkSpecifierPassphrase(int, byte[], java.lang.String);
method public java.lang.String createNetworkSpecifierPmk(int, byte[], byte[]);
method public void destroy(); method public void destroy();
method public void publish(android.net.wifi.aware.PublishConfig, android.net.wifi.aware.DiscoverySessionCallback, android.os.Handler); method public void publish(android.net.wifi.aware.PublishConfig, android.net.wifi.aware.DiscoverySessionCallback, android.os.Handler);
method public void subscribe(android.net.wifi.aware.SubscribeConfig, android.net.wifi.aware.DiscoverySessionCallback, android.os.Handler); method public void subscribe(android.net.wifi.aware.SubscribeConfig, android.net.wifi.aware.DiscoverySessionCallback, android.os.Handler);

View File

@@ -25230,7 +25230,8 @@ package android.net.wifi.aware {
} }
public class DiscoverySession { public class DiscoverySession {
method public java.lang.String createNetworkSpecifier(android.net.wifi.aware.PeerHandle, byte[]); method public java.lang.String createNetworkSpecifierOpen(android.net.wifi.aware.PeerHandle);
method public java.lang.String createNetworkSpecifierPassphrase(android.net.wifi.aware.PeerHandle, java.lang.String);
method public void destroy(); method public void destroy();
method public void sendMessage(android.net.wifi.aware.PeerHandle, int, byte[]); method public void sendMessage(android.net.wifi.aware.PeerHandle, int, byte[]);
} }
@@ -25318,7 +25319,8 @@ package android.net.wifi.aware {
} }
public class WifiAwareSession { public class WifiAwareSession {
method public java.lang.String createNetworkSpecifier(int, byte[], byte[]); method public java.lang.String createNetworkSpecifierOpen(int, byte[]);
method public java.lang.String createNetworkSpecifierPassphrase(int, byte[], java.lang.String);
method public void destroy(); method public void destroy();
method public void publish(android.net.wifi.aware.PublishConfig, android.net.wifi.aware.DiscoverySessionCallback, android.os.Handler); method public void publish(android.net.wifi.aware.PublishConfig, android.net.wifi.aware.DiscoverySessionCallback, android.os.Handler);
method public void subscribe(android.net.wifi.aware.SubscribeConfig, android.net.wifi.aware.DiscoverySessionCallback, android.os.Handler); method public void subscribe(android.net.wifi.aware.SubscribeConfig, android.net.wifi.aware.DiscoverySessionCallback, android.os.Handler);

View File

@@ -18,6 +18,7 @@ package android.net.wifi.aware;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.net.wifi.RttManager; import android.net.wifi.RttManager;
import android.util.Log; import android.util.Log;
@@ -33,7 +34,8 @@ import java.lang.ref.WeakReference;
* <ul> * <ul>
* <li>Sending messages: {@link #sendMessage(PeerHandle, int, byte[])} method. * <li>Sending messages: {@link #sendMessage(PeerHandle, int, byte[])} method.
* <li>Creating a network-specifier when requesting a Aware connection: * <li>Creating a network-specifier when requesting a Aware connection:
* {@link #createNetworkSpecifier(PeerHandle, byte[])}. * {@link #createNetworkSpecifierOpen(PeerHandle)} or
* {@link #createNetworkSpecifierPassphrase(PeerHandle, String)}.
* </ul> * </ul>
* The {@link #destroy()} method must be called to destroy discovery sessions once they are * The {@link #destroy()} method must be called to destroy discovery sessions once they are
* no longer needed. * no longer needed.
@@ -255,7 +257,7 @@ public class DiscoverySession {
* <p> * <p>
* This method should be used when setting up a connection with a peer discovered through Aware * This method should be used when setting up a connection with a peer discovered through Aware
* discovery or communication (in such scenarios the MAC address of the peer is shielded by * discovery or communication (in such scenarios the MAC address of the peer is shielded by
* an opaque peer ID handle). If a Aware connection is needed to a peer discovered using other * an opaque peer ID handle). If an Aware connection is needed to a peer discovered using other
* OOB (out-of-band) mechanism then use the alternative * OOB (out-of-band) mechanism then use the alternative
* {@link WifiAwareSession#createNetworkSpecifierOpen(int, byte[])} method - which uses the * {@link WifiAwareSession#createNetworkSpecifierOpen(int, byte[])} method - which uses the
* peer's MAC address. * peer's MAC address.
@@ -263,24 +265,22 @@ public class DiscoverySession {
* Note: per the Wi-Fi Aware specification the roles are fixed - a Subscriber is an INITIATOR * Note: per the Wi-Fi Aware specification the roles are fixed - a Subscriber is an INITIATOR
* and a Publisher is a RESPONDER. * and a Publisher is a RESPONDER.
* <p> * <p>
* To set up an encrypted link use the {@link #createNetworkSpecifierPmk(PeerHandle, byte[])} * To set up an encrypted link use the
* or {@link #createNetworkSpecifierPassphrase(PeerHandle, String)} APIs. * {@link #createNetworkSpecifierPassphrase(PeerHandle, String)} API.
* *
* @param peerHandle The peer's handle obtained through * @param peerHandle The peer's handle obtained through
* {@link DiscoverySessionCallback#onServiceDiscovered(PeerHandle, byte[], java.util.List)} * {@link DiscoverySessionCallback#onServiceDiscovered(PeerHandle, byte[], java.util.List)}
* or * or
* {@link DiscoverySessionCallback#onMessageReceived(PeerHandle, byte[])}. * {@link DiscoverySessionCallback#onMessageReceived(PeerHandle, byte[])}.
* On a RESPONDER this value is used to gate the acceptance of a connection * On a RESPONDER this value is used to gate the acceptance of a connection
* request from only that peer. A RESPONDER may specify a null - indicating * request from only that peer. A RESPONDER may specify a {@code null} -
* that it will accept connection requests from any device. * indicating that it will accept connection requests from any device.
* *
* @return A string to be used to construct * @return A string to be used to construct
* {@link android.net.NetworkRequest.Builder#setNetworkSpecifier(String)} to pass to * {@link android.net.NetworkRequest.Builder#setNetworkSpecifier(String)} to pass to
* {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest, * {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest,
* android.net.ConnectivityManager.NetworkCallback)} * android.net.ConnectivityManager.NetworkCallback)}
* [or other varieties of that API]. * [or other varieties of that API].
*
* @hide
*/ */
public String createNetworkSpecifierOpen(@Nullable PeerHandle peerHandle) { public String createNetworkSpecifierOpen(@Nullable PeerHandle peerHandle) {
if (mTerminated) { if (mTerminated) {
@@ -309,7 +309,7 @@ public class DiscoverySession {
* <p> * <p>
* This method should be used when setting up a connection with a peer discovered through Aware * This method should be used when setting up a connection with a peer discovered through Aware
* discovery or communication (in such scenarios the MAC address of the peer is shielded by * discovery or communication (in such scenarios the MAC address of the peer is shielded by
* an opaque peer ID handle). If a Aware connection is needed to a peer discovered using other * an opaque peer ID handle). If an Aware connection is needed to a peer discovered using other
* OOB (out-of-band) mechanism then use the alternative * OOB (out-of-band) mechanism then use the alternative
* {@link WifiAwareSession#createNetworkSpecifierPassphrase(int, byte[], String)} method - * {@link WifiAwareSession#createNetworkSpecifierPassphrase(int, byte[], String)} method -
* which uses the peer's MAC address. * which uses the peer's MAC address.
@@ -322,12 +322,11 @@ public class DiscoverySession {
* byte[], java.util.List)} or * byte[], java.util.List)} or
* {@link DiscoverySessionCallback#onMessageReceived(PeerHandle, * {@link DiscoverySessionCallback#onMessageReceived(PeerHandle,
* byte[])}. On a RESPONDER this value is used to gate the acceptance of a connection request * byte[])}. On a RESPONDER this value is used to gate the acceptance of a connection request
* from only that peer. A RESPONDER may specify a null - indicating that * from only that peer. A RESPONDER may specify a {@code null} - indicating
* it will accept connection requests from any device. * that it will accept connection requests from any device.
* @param passphrase The passphrase to be used to encrypt the link. The PMK is generated from * @param passphrase The passphrase to be used to encrypt the link. The PMK is generated from
* the passphrase. Use the * the passphrase. Use the
* {@link #createNetworkSpecifierPmk(PeerHandle, byte[])} to specify the * {@link #createNetworkSpecifierOpen(PeerHandle)} API to
* PMK directly or {@link #createNetworkSpecifierOpen(PeerHandle)} to
* specify an open (unencrypted) link. * specify an open (unencrypted) link.
* *
* @return A string to be used to construct * @return A string to be used to construct
@@ -335,8 +334,6 @@ public class DiscoverySession {
* {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest, * {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest,
* android.net.ConnectivityManager.NetworkCallback)} * android.net.ConnectivityManager.NetworkCallback)}
* [or other varieties of that API]. * [or other varieties of that API].
*
* * @hide
*/ */
public String createNetworkSpecifierPassphrase(@Nullable PeerHandle peerHandle, public String createNetworkSpecifierPassphrase(@Nullable PeerHandle peerHandle,
@NonNull String passphrase) { @NonNull String passphrase) {
@@ -371,7 +368,7 @@ public class DiscoverySession {
* <p> * <p>
* This method should be used when setting up a connection with a peer discovered through Aware * This method should be used when setting up a connection with a peer discovered through Aware
* discovery or communication (in such scenarios the MAC address of the peer is shielded by * discovery or communication (in such scenarios the MAC address of the peer is shielded by
* an opaque peer ID handle). If a Aware connection is needed to a peer discovered using other * an opaque peer ID handle). If an Aware connection is needed to a peer discovered using other
* OOB (out-of-band) mechanism then use the alternative * OOB (out-of-band) mechanism then use the alternative
* {@link WifiAwareSession#createNetworkSpecifierPmk(int, byte[], byte[])} method - which uses * {@link WifiAwareSession#createNetworkSpecifierPmk(int, byte[], byte[])} method - which uses
* the peer's MAC address. * the peer's MAC address.
@@ -400,6 +397,7 @@ public class DiscoverySession {
* *
* @hide * @hide
*/ */
@SystemApi
public String createNetworkSpecifierPmk(@Nullable PeerHandle peerHandle, public String createNetworkSpecifierPmk(@Nullable PeerHandle peerHandle,
@NonNull byte[] pmk) { @NonNull byte[] pmk) {
if (pmk == null || pmk.length == 0) { if (pmk == null || pmk.length == 0) {
@@ -423,27 +421,4 @@ public class DiscoverySession {
return mgr.createNetworkSpecifier(mClientId, role, mSessionId, peerHandle, pmk, null); return mgr.createNetworkSpecifier(mClientId, role, mSessionId, peerHandle, pmk, null);
} }
/**
* Place-holder for {@code createNetworkSpecifierOpen(PeerHandle)}. Present to enable
* development of replacements CL without causing an API change. Will be removed when new
* APIs are exposed.
*
* @param peerHandle The peer's handle obtained through
* {@link DiscoverySessionCallback#onServiceDiscovered(PeerHandle,
* byte[], java.util.List)} or
* {@link DiscoverySessionCallback#onMessageReceived(PeerHandle,
* byte[])}. On a RESPONDER this value is used to gate the acceptance of a connection request
* from only that peer. A RESPONDER may specify a null - indicating that
* it will accept connection requests from any device.
* @param token Deprecated and ignored.
* @return A string to be used to construct
* {@link android.net.NetworkRequest.Builder#setNetworkSpecifier(String)} to pass to
* {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest,
* android.net.ConnectivityManager.NetworkCallback)}
* [or other varieties of that API].
*/
public String createNetworkSpecifier(@Nullable PeerHandle peerHandle, @Nullable byte[] token) {
return createNetworkSpecifierOpen(peerHandle);
}
} }

View File

@@ -24,7 +24,8 @@ package android.net.wifi.aware;
* your identity - e.g. by starting a discovery session. This actual MAC address of the * your identity - e.g. by starting a discovery session. This actual MAC address of the
* interface may also be useful if the application uses alternative (non-Aware) discovery but needs * interface may also be useful if the application uses alternative (non-Aware) discovery but needs
* to set up a Aware connection. The provided Aware discovery interface MAC address can then be used * to set up a Aware connection. The provided Aware discovery interface MAC address can then be used
* in {@link WifiAwareSession#createNetworkSpecifier(int, byte[], byte[])}. * in {@link WifiAwareSession#createNetworkSpecifierOpen(int, byte[])} or
* {@link WifiAwareSession#createNetworkSpecifierPassphrase(int, byte[], String)}.
*/ */
public class IdentityChangedListener { public class IdentityChangedListener {
/** /**

View File

@@ -19,9 +19,10 @@ package android.net.wifi.aware;
/** /**
* Opaque object used to represent a Wi-Fi Aware peer. Obtained from discovery sessions in * Opaque object used to represent a Wi-Fi Aware peer. Obtained from discovery sessions in
* {@link DiscoverySessionCallback#onServiceDiscovered(PeerHandle, byte[], java.util.List)}, used * {@link DiscoverySessionCallback#onServiceDiscovered(PeerHandle, byte[], java.util.List)}, used
* when sending messages e,g, {@link PublishDiscoverySession#sendMessage(PeerHandle, int, byte[])}, * when sending messages e,g, {@link DiscoverySession#sendMessage(PeerHandle, int, byte[])},
* or when configuring a network link to a peer, e.g. * or when configuring a network link to a peer, e.g.
* {@link PublishDiscoverySession#createNetworkSpecifier(PeerHandle, byte[])}. * {@link DiscoverySession#createNetworkSpecifierOpen(PeerHandle)} or
* {@link DiscoverySession#createNetworkSpecifierPassphrase(PeerHandle, String)}.
*/ */
public class PeerHandle { public class PeerHandle {
/** @hide */ /** @hide */

View File

@@ -65,8 +65,10 @@ import java.util.List;
* <li>Create a Aware network specifier to be used with * <li>Create a Aware network specifier to be used with
* {@link ConnectivityManager#requestNetwork(NetworkRequest, ConnectivityManager.NetworkCallback)} * {@link ConnectivityManager#requestNetwork(NetworkRequest, ConnectivityManager.NetworkCallback)}
* to set-up a Aware connection with a peer. Refer to * to set-up a Aware connection with a peer. Refer to
* {@link DiscoverySession#createNetworkSpecifier(PeerHandle, byte[])} and * {@link DiscoverySession#createNetworkSpecifierOpen(PeerHandle)},
* {@link WifiAwareSession#createNetworkSpecifier(int, byte[], byte[])}. * {@link DiscoverySession#createNetworkSpecifierPassphrase(PeerHandle, String)},
* {@link WifiAwareSession#createNetworkSpecifierOpen(int, byte[])}, and
* {@link WifiAwareSession#createNetworkSpecifierPassphrase(int, byte[], String)}.
* </ul> * </ul>
* <p> * <p>
* Aware may not be usable when Wi-Fi is disabled (and other conditions). To validate that * Aware may not be usable when Wi-Fi is disabled (and other conditions). To validate that
@@ -115,8 +117,10 @@ import java.util.List;
* <li>{@link NetworkRequest.Builder#addTransportType(int)} of * <li>{@link NetworkRequest.Builder#addTransportType(int)} of
* {@link android.net.NetworkCapabilities#TRANSPORT_WIFI_AWARE}. * {@link android.net.NetworkCapabilities#TRANSPORT_WIFI_AWARE}.
* <li>{@link NetworkRequest.Builder#setNetworkSpecifier(String)} using * <li>{@link NetworkRequest.Builder#setNetworkSpecifier(String)} using
* {@link WifiAwareSession#createNetworkSpecifier(int, byte[], byte[])} or * {@link WifiAwareSession#createNetworkSpecifierOpen(int, byte[])},
* {@link DiscoverySession#createNetworkSpecifier(PeerHandle, byte[])}. * {@link WifiAwareSession#createNetworkSpecifierPassphrase(int, byte[], String)},
* {@link DiscoverySession#createNetworkSpecifierOpen(PeerHandle)}, or
* {@link DiscoverySession#createNetworkSpecifierPassphrase(PeerHandle, String)}.
* </ul> * </ul>
*/ */
public class WifiAwareManager { public class WifiAwareManager {
@@ -206,8 +210,10 @@ public class WifiAwareManager {
* Connection creation role is that of INITIATOR. Used to create a network specifier string * Connection creation role is that of INITIATOR. Used to create a network specifier string
* when requesting a Aware network. * when requesting a Aware network.
* *
* @see DiscoverySession#createNetworkSpecifier(PeerHandle, byte[]) * @see DiscoverySession#createNetworkSpecifierOpen(PeerHandle)
* @see WifiAwareSession#createNetworkSpecifier(int, byte[], byte[]) * @see DiscoverySession#createNetworkSpecifierPassphrase(PeerHandle, String)
* @see WifiAwareSession#createNetworkSpecifierOpen(int, byte[])
* @see WifiAwareSession#createNetworkSpecifierPassphrase(int, byte[], String)
*/ */
public static final int WIFI_AWARE_DATA_PATH_ROLE_INITIATOR = 0; public static final int WIFI_AWARE_DATA_PATH_ROLE_INITIATOR = 0;
@@ -215,8 +221,10 @@ public class WifiAwareManager {
* Connection creation role is that of RESPONDER. Used to create a network specifier string * Connection creation role is that of RESPONDER. Used to create a network specifier string
* when requesting a Aware network. * when requesting a Aware network.
* *
* @see DiscoverySession#createNetworkSpecifier(PeerHandle, byte[]) * @see DiscoverySession#createNetworkSpecifierOpen(PeerHandle)
* @see WifiAwareSession#createNetworkSpecifier(int, byte[], byte[]) * @see DiscoverySession#createNetworkSpecifierPassphrase(PeerHandle, String)
* @see WifiAwareSession#createNetworkSpecifierOpen(int, byte[])
* @see WifiAwareSession#createNetworkSpecifierPassphrase(int, byte[], String)
*/ */
public static final int WIFI_AWARE_DATA_PATH_ROLE_RESPONDER = 1; public static final int WIFI_AWARE_DATA_PATH_ROLE_RESPONDER = 1;

View File

@@ -18,6 +18,7 @@ package android.net.wifi.aware;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.os.Binder; import android.os.Binder;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
@@ -193,15 +194,15 @@ public class WifiAwareSession {
* when using Aware discovery use the alternative network specifier method - * when using Aware discovery use the alternative network specifier method -
* {@link DiscoverySession#createNetworkSpecifierOpen(PeerHandle)}. * {@link DiscoverySession#createNetworkSpecifierOpen(PeerHandle)}.
* <p> * <p>
* To set up an encrypted link use the {@link #createNetworkSpecifierPmk(int, byte[], byte[])} * To set up an encrypted link use the
* or {@link #createNetworkSpecifierPassphrase(int, byte[], String)} APIs. * {@link #createNetworkSpecifierPassphrase(int, byte[], String)} API.
* *
* @param role The role of this device: * @param role The role of this device:
* {@link WifiAwareManager#WIFI_AWARE_DATA_PATH_ROLE_INITIATOR} or * {@link WifiAwareManager#WIFI_AWARE_DATA_PATH_ROLE_INITIATOR} or
* {@link WifiAwareManager#WIFI_AWARE_DATA_PATH_ROLE_RESPONDER} * {@link WifiAwareManager#WIFI_AWARE_DATA_PATH_ROLE_RESPONDER}
* @param peer The MAC address of the peer's Aware discovery interface. On a RESPONDER this * @param peer The MAC address of the peer's Aware discovery interface. On a RESPONDER this
* value is used to gate the acceptance of a connection request from only that * value is used to gate the acceptance of a connection request from only that
* peer. A RESPONDER may specify a null - indicating that it will accept * peer. A RESPONDER may specify a {@code null} - indicating that it will accept
* connection requests from any device. * connection requests from any device.
* *
* @return A string to be used to construct * @return A string to be used to construct
@@ -209,8 +210,6 @@ public class WifiAwareSession {
* {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest, * {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest,
* android.net.ConnectivityManager.NetworkCallback)} * android.net.ConnectivityManager.NetworkCallback)}
* [or other varieties of that API]. * [or other varieties of that API].
*
* @hide
*/ */
public String createNetworkSpecifierOpen(@WifiAwareManager.DataPathRole int role, public String createNetworkSpecifierOpen(@WifiAwareManager.DataPathRole int role,
@Nullable byte[] peer) { @Nullable byte[] peer) {
@@ -242,12 +241,10 @@ public class WifiAwareSession {
* {@link WifiAwareManager#WIFI_AWARE_DATA_PATH_ROLE_RESPONDER} * {@link WifiAwareManager#WIFI_AWARE_DATA_PATH_ROLE_RESPONDER}
* @param peer The MAC address of the peer's Aware discovery interface. On a RESPONDER this * @param peer The MAC address of the peer's Aware discovery interface. On a RESPONDER this
* value is used to gate the acceptance of a connection request from only that * value is used to gate the acceptance of a connection request from only that
* peer. A RESPONDER may specify a null - indicating that it will accept * peer. A RESPONDER may specify a {@code null} - indicating that it will accept
* connection requests from any device. * connection requests from any device.
* @param passphrase The passphrase to be used to encrypt the link. The PMK is generated from * @param passphrase The passphrase to be used to encrypt the link. The PMK is generated from
* the passphrase. Use the * the passphrase. Use {@link #createNetworkSpecifierOpen(int, byte[])} to
* {@link #createNetworkSpecifierPmk(int, byte[], byte[])} to specify the
* PMK directly or {@link #createNetworkSpecifierOpen(int, byte[])} to
* specify an open (unencrypted) link. * specify an open (unencrypted) link.
* *
* @return A string to be used to construct * @return A string to be used to construct
@@ -255,8 +252,6 @@ public class WifiAwareSession {
* {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest, * {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest,
* android.net.ConnectivityManager.NetworkCallback)} * android.net.ConnectivityManager.NetworkCallback)}
* [or other varieties of that API]. * [or other varieties of that API].
*
* @hide
*/ */
public String createNetworkSpecifierPassphrase(@WifiAwareManager.DataPathRole int role, public String createNetworkSpecifierPassphrase(@WifiAwareManager.DataPathRole int role,
@Nullable byte[] peer, @NonNull String passphrase) { @Nullable byte[] peer, @NonNull String passphrase) {
@@ -307,6 +302,7 @@ public class WifiAwareSession {
* *
* @hide * @hide
*/ */
@SystemApi
public String createNetworkSpecifierPmk(@WifiAwareManager.DataPathRole int role, public String createNetworkSpecifierPmk(@WifiAwareManager.DataPathRole int role,
@Nullable byte[] peer, @NonNull byte[] pmk) { @Nullable byte[] peer, @NonNull byte[] pmk) {
WifiAwareManager mgr = mMgr.get(); WifiAwareManager mgr = mMgr.get();
@@ -323,28 +319,4 @@ public class WifiAwareSession {
} }
return mgr.createNetworkSpecifier(mClientId, role, peer, pmk, null); return mgr.createNetworkSpecifier(mClientId, role, peer, pmk, null);
} }
/**
* Place-holder for {@code #createNetworkSpecifierOpen(int, byte[])}. Present to enable
* development of replacements CL without causing an API change. Will be removed when new
* APIs are exposed.
*
* @param role The role of this device:
* {@link WifiAwareManager#WIFI_AWARE_DATA_PATH_ROLE_INITIATOR} or
* {@link WifiAwareManager#WIFI_AWARE_DATA_PATH_ROLE_RESPONDER}
* @param peer The MAC address of the peer's Aware discovery interface. On a RESPONDER this
* value is used to gate the acceptance of a connection request from only that
* peer. A RESPONDER may specify a null - indicating that it will accept
* connection requests from any device.
* @param token Deprecated and ignored.
* @return A string to be used to construct
* {@link android.net.NetworkRequest.Builder#setNetworkSpecifier(String)} to pass to
* {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest,
* android.net.ConnectivityManager.NetworkCallback)}
* [or other varieties of that API].
*/
public String createNetworkSpecifier(@WifiAwareManager.DataPathRole int role,
@Nullable byte[] peer, @Nullable byte[] token) {
return createNetworkSpecifierOpen(role, peer);
}
} }