in NearbyConnectionsWalkieTalkie/app/src/main/java/com/google/location/nearby/apps/walkietalkie/ConnectionsActivity.java [286:331]
protected void startDiscovering() {
mIsDiscovering = true;
mDiscoveredEndpoints.clear();
DiscoveryOptions.Builder discoveryOptions = new DiscoveryOptions.Builder();
discoveryOptions.setStrategy(getStrategy());
mConnectionsClient
.startDiscovery(
getServiceId(),
new EndpointDiscoveryCallback() {
@Override
public void onEndpointFound(String endpointId, DiscoveredEndpointInfo info) {
logD(
String.format(
"onEndpointFound(endpointId=%s, serviceId=%s, endpointName=%s)",
endpointId, info.getServiceId(), info.getEndpointName()));
if (getServiceId().equals(info.getServiceId())) {
Endpoint endpoint = new Endpoint(endpointId, info.getEndpointName());
mDiscoveredEndpoints.put(endpointId, endpoint);
onEndpointDiscovered(endpoint);
}
}
@Override
public void onEndpointLost(String endpointId) {
logD(String.format("onEndpointLost(endpointId=%s)", endpointId));
}
},
discoveryOptions.build())
.addOnSuccessListener(
new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void unusedResult) {
onDiscoveryStarted();
}
})
.addOnFailureListener(
new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
mIsDiscovering = false;
logW("startDiscovering() failed.", e);
onDiscoveryFailed();
}
});
}