UsersBloc constructor

UsersBloc({
  1. GetUsersUseCase? getUsersUseCase,
  2. GetLoggedInUserUseCase? getLoggedInUserUseCase,
  3. bool usersStatusVisibility = true,
  4. bool includeBlockedUsers = false,
  5. bool disableSDKListeners = false,
  6. UsersRequestBuilder? usersRequestBuilder,
})

Creates a UsersBloc.

Implementation

UsersBloc({
  GetUsersUseCase? getUsersUseCase,
  GetLoggedInUserUseCase? getLoggedInUserUseCase,
  this.usersStatusVisibility = true,
  this.includeBlockedUsers = false,
  this.disableSDKListeners = false,
  this.usersRequestBuilder,
})  : getUsersUseCase = getUsersUseCase ?? _getServiceLocator().getUsersUseCase,
      getLoggedInUserUseCase = getLoggedInUserUseCase ?? _getServiceLocator().getLoggedInUserUseCase,
      super(const UsersInitial()) {
  // Register event handlers
  on<LoadUsers>(_onLoadUsers);
  on<LoadMoreUsers>(_onLoadMoreUsers);
  on<RefreshUsers>(_onRefreshUsers);
  on<SearchUsers>(_onSearchUsers);
  on<ToggleUserSelection>(_onToggleUserSelection);
  on<ClearUserSelection>(_onClearUserSelection);
  on<UpdateUser>(_onUpdateUser);

  // Internal events
  on<_UserStatusUpdate>(_onUserStatusUpdate);
  on<_ConnectionStateUpdate>(_onConnectionStateUpdate);
  on<_UserBlockedUpdate>(_onUserBlockedUpdate);
  on<_UserUnblockedUpdate>(_onUserUnblockedUpdate);
  on<_ListStateChanged>(_onListStateChanged);

  // Internal events for search functionality
  on<_ExecuteSearch>(_onExecuteSearch);
  on<_RestoreOriginalUsers>(_onRestoreOriginalUsers);

  // Initialize and register SDK listeners
  _initializeAndRegisterListeners();
}