releaseFor method

Future<void> releaseFor(
  1. String appId, {
  2. int? sessionGeneration,
})

Implementation

Future<void> releaseFor(String appId, {int? sessionGeneration}) async {
  if (sessionGeneration != null && sessionGeneration != _sessionGeneration) {
    return;
  }
  final owner = _session;
  if (owner == null || owner.appId != appId) return;
  _session = null;
  owner.listeners.clear();
  final listener = owner.connectionListener;
  owner.connectionListener = null;
  if (listener != null) {
    try {
      listener({'deviceId': owner.connectedDevice, 'connected': false});
    } on Object {
      /* State may already be disposed. */
    }
  }
  await _release(owner);
}