init method

void init()

Implementation

void init() {
  fetchTeamList();
  subscriptions.add(
    NimCore.instance.teamService.onTeamDismissed.listen((event) {
      teamList.removeWhere((element) => event.teamId == element.teamId);
      notifyListeners();
    }),
  );

  subscriptions.add(
    NimCore.instance.teamService.onTeamLeft.listen((event) {
      teamList.removeWhere((element) => event.team.teamId == element.teamId);
      notifyListeners();
    }),
  );

  subscriptions.add(
    NimCore.instance.teamService.onTeamCreated.listen((event) {
      int index = teamList.indexWhere(
        (element) => element.teamId == event.teamId,
      );
      if (event.isValidTeam == true) {
        if (index >= 0) {
          teamList[index] = event;
        } else {
          teamList.insert(0, event);
        }
      }
      notifyListeners();
    }),
  );

  subscriptions.add(
    NimCore.instance.teamService.onTeamJoined.listen((event) {
      int index = teamList.indexWhere(
        (element) => element.teamId == event.teamId,
      );
      if (event.isValidTeam == true) {
        if (index >= 0) {
          teamList[index] = event;
        } else {
          teamList.insert(0, event);
        }
      }
      notifyListeners();
    }),
  );

  subscriptions.add(
    NimCore.instance.teamService.onTeamInfoUpdated.listen((event) {
      int index = teamList.indexWhere(
        (element) => element.teamId == event.teamId,
      );
      if (event.isValidTeam == true) {
        if (index >= 0) {
          teamList[index] = event;
        } else {
          teamList.insert(0, event);
        }
      }
      notifyListeners();
    }),
  );
}