Package 

Class StateRegistry


  • 
    public final class StateRegistry
    
                        

    Registry of all state objects exposed in the offline plugin. This class should have only one instance for the SDK.

    • Constructor Detail

      • StateRegistry

        StateRegistry(StateFlow<User> userStateFlow, StateFlow<Map<String, User>> latestUsers, StateFlow<List<Location>> activeLiveLocations, Job job, Function0<Long> now, CoroutineScope scope, MessageLimitConfig messageLimitConfig, StateFlow<List<Mute>> mutedUsers, Boolean useLegacyChannelState, Boolean isLocalUnreadCountEnabled)
        Parameters:
        userStateFlow - The state flow that provides the user once it is set.
        latestUsers - Latest users of the SDK.
        activeLiveLocations - Latest live locations of the SDK.
        job - A background job cancelled after calling clear.
        scope - A scope for new coroutines.
        messageLimitConfig - Configuration for message limits.
        mutedUsers - The current list of muted users.
        useLegacyChannelState - Whether to use the legacy channel state implementation.
        isLocalUnreadCountEnabled - Whether the per-channel unread count is tracked on-device for channels with server-side read events disabled.
      • StateRegistry

        StateRegistry(StateFlow<User> userStateFlow, StateFlow<Map<String, User>> latestUsers, StateFlow<List<Location>> activeLiveLocations, Job job, Function0<Long> now, CoroutineScope scope, MessageLimitConfig messageLimitConfig, StateFlow<List<Mute>> mutedUsers, Boolean useLegacyChannelState)
        Parameters:
        userStateFlow - The state flow that provides the user once it is set.
        latestUsers - Latest users of the SDK.
        activeLiveLocations - Latest live locations of the SDK.
        job - A background job cancelled after calling clear.
        scope - A scope for new coroutines.
        messageLimitConfig - Configuration for message limits.
        mutedUsers - The current list of muted users.
        useLegacyChannelState - Whether to use the legacy channel state implementation.
      • StateRegistry

        StateRegistry(StateFlow<User> userStateFlow, StateFlow<Map<String, User>> latestUsers, StateFlow<List<Location>> activeLiveLocations, Job job, Function0<Long> now, CoroutineScope scope, MessageLimitConfig messageLimitConfig, StateFlow<List<Mute>> mutedUsers)
        Parameters:
        userStateFlow - The state flow that provides the user once it is set.
        latestUsers - Latest users of the SDK.
        activeLiveLocations - Latest live locations of the SDK.
        job - A background job cancelled after calling clear.
        scope - A scope for new coroutines.
        messageLimitConfig - Configuration for message limits.
        mutedUsers - The current list of muted users.
      • StateRegistry

        StateRegistry(StateFlow<User> userStateFlow, StateFlow<Map<String, User>> latestUsers, StateFlow<List<Location>> activeLiveLocations, Job job, Function0<Long> now, CoroutineScope scope, MessageLimitConfig messageLimitConfig)
        Parameters:
        userStateFlow - The state flow that provides the user once it is set.
        latestUsers - Latest users of the SDK.
        activeLiveLocations - Latest live locations of the SDK.
        job - A background job cancelled after calling clear.
        scope - A scope for new coroutines.
        messageLimitConfig - Configuration for message limits.
    • Method Detail

      • channel

         final ChannelState channel(String channelType, String channelId)

        Returns the ChannelState for the given channel.

        A malformed cid yields a fresh, non-cached state so callers still get a non-null object, but the registry won't track it and the state will never receive updates.

        Parameters:
        channelType - The channel type.
        channelId - The channel id.
      • clear

         final Unit clear()

        Clear state of all state objects.