DiscoverySessionCallback
public class DiscoverySessionCallback
extends Object
java.lang.Object | |
↳ | android.net.wifi.aware.DiscoverySessionCallback |
Base class for Aware session events callbacks. Should be extended by applications wanting notifications. The callbacks are set when a publish or subscribe session is created using WifiAwareSession.publish(PublishConfig, DiscoverySessionCallback, android.os.Handler)
or WifiAwareSession.subscribe(SubscribeConfig, DiscoverySessionCallback, android.os.Handler)
.
A single callback is set at session creation - it cannot be replaced.
Summary
Public constructors | |
---|---|
DiscoverySessionCallback() |
Public methods | |
---|---|
void | onBootstrappingFailed(PeerHandle peerHandle) Callback indicating that a Bootstrapping method negotiation failed. |
void | onBootstrappingSucceeded(PeerHandle peerHandle, int method) Callback indicating that a Bootstrapping method negotiation succeeded. |
void | onMessageReceived(PeerHandle peerHandle, byte[] message) Called when a message is received from a discovery session peer - in response to the peer's |
void | onMessageSendFailed(int messageId) Called when message transmission initiated with |
void | onMessageSendSucceeded(int messageId) Called in response to |
void | onPairingSetupFailed(PeerHandle peerHandle) Callback indicating that a pairing setup process failed. |
void | onPairingSetupRequestReceived(PeerHandle peerHandle, int requestId) Callback indicating that a pairing request is received from peer. |
void | onPairingSetupSucceeded(PeerHandle peerHandle, String alias) Callback indicating that a pairing setup process succeeded. |
void | onPairingVerificationFailed(PeerHandle peerHandle) Callback indicating that a pairing verification process failed. |
void | onPairingVerificationSucceed(PeerHandle peerHandle, String alias) Callback indicating that a pairing verification process succeeded. |
void | onPublishStarted(PublishDiscoverySession session) Called when a publish operation is started successfully in response to a |
void | onServiceDiscovered(PeerHandle peerHandle, byte[] serviceSpecificInfo, List<byte[]> matchFilter) Called when a subscribe operation results in a service discovery. |
void | onServiceDiscovered(ServiceDiscoveryInfo info) Called when a subscribe operation results in a service discovery. |
void | onServiceDiscoveredWithinRange(PeerHandle peerHandle, byte[] serviceSpecificInfo, List<byte[]> matchFilter, int distanceMm) Called when a subscribe operation results in a service discovery. |
void | onServiceDiscoveredWithinRange(ServiceDiscoveryInfo info, int distanceMm) Called when a subscribe operation results in a service discovery. |
void | onServiceLost(PeerHandle peerHandle, int reason) Called when the discovered service is not available. |
void | onSessionConfigFailed() Called when a publish or subscribe discovery session cannot be created: |
void | onSessionConfigUpdated() Called when a publish or subscribe discovery session configuration update request succeeds. |
void | onSessionTerminated() Called when a discovery session (publish or subscribe) terminates. |
void | onSubscribeStarted(SubscribeDiscoverySession session) Called when a subscribe operation is started successfully in response to a |
Inherited methods | |
---|---|
Public constructors
Public methods
onBootstrappingFailed
public void onBootstrappingFailed (PeerHandle peerHandle)
Callback indicating that a Bootstrapping method negotiation failed.
Parameters | |
---|---|
peerHandle | PeerHandle : The bootstrapping peer handle This value cannot be null . |
onBootstrappingSucceeded
public void onBootstrappingSucceeded (PeerHandle peerHandle, int method)
Callback indicating that a Bootstrapping method negotiation succeeded. The follow-up out-of-band bootstrapping can start
Parameters | |
---|---|
peerHandle | PeerHandle : The bootstrapping peer handle This value cannot be null . |
method | int : The bootstrapping method accept by the peer Value is either 0 or a combination of AwarePairingConfig.PAIRING_BOOTSTRAPPING_OPPORTUNISTIC , AwarePairingConfig.PAIRING_BOOTSTRAPPING_PIN_CODE_DISPLAY , AwarePairingConfig.PAIRING_BOOTSTRAPPING_PASSPHRASE_DISPLAY , AwarePairingConfig.PAIRING_BOOTSTRAPPING_QR_DISPLAY , AwarePairingConfig.PAIRING_BOOTSTRAPPING_NFC_TAG , AwarePairingConfig.PAIRING_BOOTSTRAPPING_PIN_CODE_KEYPAD , AwarePairingConfig.PAIRING_BOOTSTRAPPING_PASSPHRASE_KEYPAD , AwarePairingConfig.PAIRING_BOOTSTRAPPING_QR_SCAN , and AwarePairingConfig.PAIRING_BOOTSTRAPPING_NFC_READER |
onMessageReceived
public void onMessageReceived (PeerHandle peerHandle, byte[] message)
Called when a message is received from a discovery session peer - in response to the peer's DiscoverySession.sendMessage(PeerHandle, int, byte[])
.
Parameters | |
---|---|
peerHandle | PeerHandle : An opaque handle to the peer matching our discovery operation. |
message | byte : A byte array containing the message. |
onMessageSendFailed
public void onMessageSendFailed (int messageId)
Called when message transmission initiated with DiscoverySession.sendMessage(PeerHandle, int, byte[])
fails. E.g. when no ACK is received from the peer.
Note that either this callback or DiscoverySessionCallback.onMessageSendSucceeded(int)
will be received - never both.
Parameters | |
---|---|
messageId | int : The arbitrary message ID specified when sending the message. |
onMessageSendSucceeded
public void onMessageSendSucceeded (int messageId)
Called in response to DiscoverySession.sendMessage(PeerHandle, int, byte[])
when a message is transmitted successfully - i.e. when it was received successfully by the peer (corresponds to an ACK being received).
Note that either this callback or DiscoverySessionCallback.onMessageSendFailed(int)
will be received - never both.
Parameters | |
---|---|
messageId | int : The arbitrary message ID specified when sending the message. |
onPairingSetupFailed
public void onPairingSetupFailed (PeerHandle peerHandle)
Callback indicating that a pairing setup process failed.
Parameters | |
---|---|
peerHandle | PeerHandle : The pairing peer handle. This value cannot be null . |
onPairingSetupRequestReceived
public void onPairingSetupRequestReceived (PeerHandle peerHandle, int requestId)
Callback indicating that a pairing request is received from peer.
Parameters | |
---|---|
peerHandle | PeerHandle : The peer's handle where the request is from This value cannot be null . |
requestId | int : The ID of the Aware pairing session |
onPairingSetupSucceeded
public void onPairingSetupSucceeded (PeerHandle peerHandle, String alias)
Callback indicating that a pairing setup process succeeded.
Parameters | |
---|---|
peerHandle | PeerHandle : The pairing peer handle. This value cannot be null . |
alias | String : This is the paired device alias set by the caller. DiscoverySession.initiatePairingRequest(PeerHandle, String, int, String) or DiscoverySession.acceptPairingRequest(int, PeerHandle, String, int, String) This value cannot be null . |
onPairingVerificationFailed
public void onPairingVerificationFailed (PeerHandle peerHandle)
Callback indicating that a pairing verification process failed.
Parameters | |
---|---|
peerHandle | PeerHandle : The pairing peer handle This value cannot be null . |
onPairingVerificationSucceed
public void onPairingVerificationSucceed (PeerHandle peerHandle, String alias)
Callback indicating that a pairing verification process succeeded.
Parameters | |
---|---|
peerHandle | PeerHandle : The pairing peer handle This value cannot be null . |
alias | String : This is the paired device alias set by the caller. DiscoverySession.initiatePairingRequest(PeerHandle, String, int, String) or DiscoverySession.acceptPairingRequest(int, PeerHandle, String, int, String) This value cannot be null . |
onPublishStarted
public void onPublishStarted (PublishDiscoverySession session)
Called when a publish operation is started successfully in response to a WifiAwareSession.publish(PublishConfig, DiscoverySessionCallback, android.os.Handler)
operation.
Parameters | |
---|---|
session | PublishDiscoverySession : The PublishDiscoverySession used to control the discovery session. This value cannot be null . |
onServiceDiscovered
public void onServiceDiscovered (PeerHandle peerHandle, byte[] serviceSpecificInfo, List<byte[]> matchFilter)
Called when a subscribe operation results in a service discovery.
Note that this method and onServiceDiscoveredWithinRange(android.net.wifi.aware.PeerHandle, byte[], java.util.List, int)
may be called multiple times per service discovery.
Note: This method is superseded by onServiceDiscovered(android.net.wifi.aware.ServiceDiscoveryInfo)
which returns more information. Note that both legacy and new callback will be triggered on discovery.
Parameters | |
---|---|
peerHandle | PeerHandle : An opaque handle to the peer matching our discovery operation. |
serviceSpecificInfo | byte : The service specific information (arbitrary byte array) provided by the peer as part of its discovery configuration. |
matchFilter | List : The filter which resulted in this service discovery. For PublishConfig.PUBLISH_TYPE_UNSOLICITED , SubscribeConfig.SUBSCRIBE_TYPE_PASSIVE discovery sessions this is the publisher's match filter. For PublishConfig.PUBLISH_TYPE_SOLICITED , SubscribeConfig.SUBSCRIBE_TYPE_ACTIVE discovery sessions this is the subscriber's match filter. |
onServiceDiscovered
public void onServiceDiscovered (ServiceDiscoveryInfo info)
Called when a subscribe operation results in a service discovery.
Note: This method supersedes onServiceDiscovered(android.net.wifi.aware.PeerHandle, byte[], java.util.List)
and provides additional information - including cipher suite type and security context of the peer. Both the legacy and the new callback will be triggered on discovery.
Parameters | |
---|---|
info | ServiceDiscoveryInfo : A ServiceDiscoveryInfo structure containing information on the discovery session and the discovered peer. This value cannot be null . |
onServiceDiscoveredWithinRange
public void onServiceDiscoveredWithinRange (PeerHandle peerHandle, byte[] serviceSpecificInfo, List<byte[]> matchFilter, int distanceMm)
Called when a subscribe operation results in a service discovery. Called when a Subscribe service was configured with a range requirement SubscribeConfig.Builder.setMinDistanceMm(int)
and/or SubscribeConfig.Builder.setMaxDistanceMm(int)
and the Publish service was configured with PublishConfig.Builder.setRangingEnabled(boolean)
.
If either Publisher or Subscriber does not enable Ranging, or if Ranging is temporarily disabled by the underlying device, service discovery proceeds without ranging and the onServiceDiscovered(android.net.wifi.aware.PeerHandle, byte[], java.util.List)
is called.
Note that this method and onServiceDiscovered(android.net.wifi.aware.PeerHandle, byte[], java.util.List)
may be called multiple times per service discovery.
Note: This method is superseded by onServiceDiscoveredWithinRange(android.net.wifi.aware.ServiceDiscoveryInfo, int)
which returns more information. Note that both legacy and new callback will be triggered on discovery.
Parameters | |
---|---|
peerHandle | PeerHandle : An opaque handle to the peer matching our discovery operation. |
serviceSpecificInfo | byte : The service specific information (arbitrary byte array) provided by the peer as part of its discovery configuration. |
matchFilter | List : The filter which resulted in this service discovery. For PublishConfig.PUBLISH_TYPE_UNSOLICITED , SubscribeConfig.SUBSCRIBE_TYPE_PASSIVE discovery sessions this is the publisher's match filter. For PublishConfig.PUBLISH_TYPE_SOLICITED , SubscribeConfig.SUBSCRIBE_TYPE_ACTIVE discovery sessions this is the subscriber's match filter. |
distanceMm | int : The measured distance to the Publisher in mm. Note: the measured distance may be negative for very close devices. |
onServiceDiscoveredWithinRange
public void onServiceDiscoveredWithinRange (ServiceDiscoveryInfo info, int distanceMm)
Called when a subscribe operation results in a service discovery. Called when a Subscribe service was configured with a range requirement SubscribeConfig.Builder.setMinDistanceMm(int)
and/or SubscribeConfig.Builder.setMaxDistanceMm(int)
and the Publish service was configured with PublishConfig.Builder.setRangingEnabled(boolean)
.
If either Publisher or Subscriber does not enable Ranging, or if Ranging is temporarily disabled by the underlying device, service discovery proceeds without ranging and the onServiceDiscovered(android.net.wifi.aware.PeerHandle, byte[], java.util.List)
is called.
Note: This method supersedes onServiceDiscoveredWithinRange(android.net.wifi.aware.PeerHandle, byte[], java.util.List, int)
and provides additional information - including cipher suite type and security context of the peer. Both the legacy and the new callback will be triggered on discovery.
Parameters | |
---|---|
info | ServiceDiscoveryInfo : A ServiceDiscoveryInfo which indicate service config of the descovery sessions. This value cannot be null . |
distanceMm | int : The measured distance to the Publisher in mm. Note: the measured distance may be negative for very close devices. |
onServiceLost
public void onServiceLost (PeerHandle peerHandle, int reason)
Called when the discovered service is not available. All further operations on this discovery session will fail. If the service is available again, onServiceDiscovered(android.net.wifi.aware.PeerHandle, byte[], java.util.List)
or onServiceDiscoveredWithinRange(android.net.wifi.aware.PeerHandle, byte[], java.util.List, int)
will be called.
Parameters | |
---|---|
peerHandle | PeerHandle : An opaque handle to the peer matching our discovery operation. This value cannot be null . |
reason | int : Discovered service lost reason code. One of WifiAwareManager.WIFI_AWARE_DISCOVERY_LOST_REASON_PEER_NOT_VISIBLE , WifiAwareManager.WIFI_AWARE_DISCOVERY_LOST_REASON_UNKNOWN } |
onSessionConfigFailed
public void onSessionConfigFailed ()
Called when a publish or subscribe discovery session cannot be created: WifiAwareSession.publish(PublishConfig, DiscoverySessionCallback, android.os.Handler)
or WifiAwareSession.subscribe(SubscribeConfig, DiscoverySessionCallback, android.os.Handler)
, or when a configuration update fails: PublishDiscoverySession.updatePublish(PublishConfig)
or SubscribeDiscoverySession.updateSubscribe(SubscribeConfig)
.
For discovery session updates failure leaves the session running with its previous configuration - the discovery session is not terminated.
onSessionConfigUpdated
public void onSessionConfigUpdated ()
Called when a publish or subscribe discovery session configuration update request succeeds. Called in response to PublishDiscoverySession.updatePublish(PublishConfig)
or SubscribeDiscoverySession.updateSubscribe(SubscribeConfig)
.
onSessionTerminated
public void onSessionTerminated ()
Called when a discovery session (publish or subscribe) terminates. Termination may be due to user-request (either directly through DiscoverySession.close()
or application-specified expiration, e.g. PublishConfig.Builder.setTtlSec(int)
or SubscribeConfig.Builder.setTtlSec(int)
).
onSubscribeStarted
public void onSubscribeStarted (SubscribeDiscoverySession session)
Called when a subscribe operation is started successfully in response to a WifiAwareSession.subscribe(SubscribeConfig, DiscoverySessionCallback, android.os.Handler)
operation.
Parameters | |
---|---|
session | SubscribeDiscoverySession : The SubscribeDiscoverySession used to control the discovery session. This value cannot be null . |