XmppUtils.notifyEventListeners(occupantListeners, new OccupantEvent(ChatRoom.this, occupant, type, null, null, null)); } else if (presence.getType() == Presence.Type.UNAVAILABLE) { if (!mucUser.getStatusCodes().isEmpty()) { if (mucUser.getStatusCodes().contains(Status.KICKED)) { occupantEvent = new OccupantEvent(ChatRoom.this, occupant, OccupantEvent.Type.KICKED, actor, reason, null); } else if (mucUser.getStatusCodes().contains(Status.BANNED)) { occupantEvent = new OccupantEvent(ChatRoom.this, occupant, OccupantEvent.Type.BANNED, actor, reason, null); } else if (mucUser.getStatusCodes().contains(Status.MEMBERSHIP_REVOKED)) { occupantEvent = new OccupantEvent(ChatRoom.this, occupant, OccupantEvent.Type.MEMBERSHIP_REVOKED, actor, reason, null); } else if (mucUser.getStatusCodes().contains(Status.NICK_CHANGED)) { occupantEvent = new OccupantEvent(ChatRoom.this, occupant, OccupantEvent.Type.NICKNAME_CHANGED, actor, reason, null); } else if (mucUser.getStatusCodes().contains(Status.SERVICE_SHUT_DOWN)) { occupantEvent = new OccupantEvent(ChatRoom.this, occupant, OccupantEvent.Type.SYSTEM_SHUTDOWN, actor, reason, null); occupantEvent = new OccupantEvent(ChatRoom.this, occupant, OccupantEvent.Type.ROOM_DESTROYED, actor, mucUser.getDestroy().getReason(), mucUser.getDestroy().getJid()); } else { occupantEvent = new OccupantEvent(ChatRoom.this, occupant, OccupantEvent.Type.EXITED, null, null, null); occupantEvent = new OccupantEvent(ChatRoom.this, occupant, OccupantEvent.Type.EXITED, null, null, null);