onIdentityChanged method

  1. @override
void onIdentityChanged(
  1. UserId me
)
override

Handles identity changes to the provided UserId.

Implementation

@override
void onIdentityChanged(UserId me) async {
  super.onIdentityChanged(me);

  Log.debug('onIdentityChanged($me)', '$runtimeType');

  _localSubscription?.cancel();
  _remoteSubscription?.close(immediate: true);
  _keepOnlineSubscription?.close(immediate: true);
  _onFocusChanged?.cancel();
  _pool.dispose();
  _localSubscriptionRetry?.cancel();

  _active.then((v) => myUser.value = v?.value ?? myUser.value);

  _initProfiles();
  _initLocalSubscription();

  if (!me.isLocal) {
    _initRemoteSubscription();
  }

  if (PlatformUtils.isDesktop || await PlatformUtils.isFocused) {
    _initKeepOnlineSubscription();
  }
}