in NearbyConnectionsWalkieTalkie/app/src/automatic/java/com/google/location/nearby/apps/walkietalkie/MainActivity.java [280:330]
private void onStateChanged(State oldState, State newState) {
if (mCurrentAnimator != null && mCurrentAnimator.isRunning()) {
mCurrentAnimator.cancel();
}
// Update Nearby Connections to the new state.
switch (newState) {
case SEARCHING:
disconnectFromAllEndpoints();
startDiscovering();
startAdvertising();
break;
case CONNECTED:
stopDiscovering();
stopAdvertising();
break;
case UNKNOWN:
stopAllEndpoints();
break;
default:
// no-op
break;
}
// Update the UI.
switch (oldState) {
case UNKNOWN:
// Unknown is our initial state. Whatever state we move to,
// we're transitioning forwards.
transitionForward(oldState, newState);
break;
case SEARCHING:
switch (newState) {
case UNKNOWN:
transitionBackward(oldState, newState);
break;
case CONNECTED:
transitionForward(oldState, newState);
break;
default:
// no-op
break;
}
break;
case CONNECTED:
// Connected is our final state. Whatever new state we move to,
// we're transitioning backwards.
transitionBackward(oldState, newState);
break;
}
}