status property

A consolidated subscription connection status determined by the network and intended states.

Implementation

SubscriptionStatus get status {
  // Connection failed
  if (details.networkState == NetworkState.failed) {
    return SubscriptionStatus.failed;
  }
  // Connected with active subscriptions
  if (details.networkState == NetworkState.connected &&
      details.intendedState == IntendedState.connected) {
    return SubscriptionStatus.connected;
  }
  // Disconnected with active subscriptions
  if (details.networkState == NetworkState.disconnected &&
      details.intendedState == IntendedState.connected) {
    return SubscriptionStatus.connecting;
  }
  // Connected without active subscriptions
  if (details.networkState == NetworkState.connected &&
      details.intendedState == IntendedState.disconnected) {
    return SubscriptionStatus.pendingDisconnected;
  }

  // disconnected without active subscriptions
  return SubscriptionStatus.disconnected;
}