notifySessionStateChanged function
Notify listeners that session state changed.
Implementation
void notifySessionStateChanged(
SessionState state, {
RequiresActionDetails? details,
}) {
_currentState = state;
_stateListener?.call(state, details);
if (state == SessionState.requiresAction && details != null) {
_hasPendingAction = true;
_metadataListener?.call(SessionExternalMetadata(pendingAction: details));
} else if (_hasPendingAction) {
_hasPendingAction = false;
_metadataListener?.call(SessionExternalMetadata(pendingAction: null));
}
if (state == SessionState.idle) {
_metadataListener?.call(SessionExternalMetadata(taskSummary: null));
}
}