/** * Call when the session is resumed */ public void onSessionResumed() { refreshGroupProfiles((ApiCallback<Void>) null); getUserPublicisedGroups(mDataHandler.getUserId(), true, new SimpleApiCallback<Set<String>>() { @Override public void onSuccess(Set<String> info) { // Ignore } }); mGroupProfileByGroupId.clear(); mGroupProfileCallback.clear(); }
/** * Constructor * FIXME All this @NonNull annotation must be also added to the class members and getters * * @param dataHandler the data handler * @param store the store * @param roomId the room id */ public Room(@NonNull final MXDataHandler dataHandler, @NonNull final IMXStore store, @NonNull final String roomId) { mDataHandler = dataHandler; mStore = store; mMyUserId = mDataHandler.getUserId(); mTimeline = EventTimelineFactory.liveTimeline(mDataHandler, store, this, roomId); mRoomDisplayNameResolver = new RoomDisplayNameResolver(this); mRoomAvatarResolver = new RoomAvatarResolver(this); }
/** * Retrieve a room member from its user id. * * @param userId the user id. * @return the linked member it exists. */ // TODO Change this? Can return null if all members are not loaded yet @Nullable public RoomMember getMember(String userId) { RoomMember member; synchronized (this) { member = mMembers.get(userId); } if (member == null) { Log.w(LOG_TAG, "## Null member '" + userId); if (TextUtils.equals(getDataHandler().getUserId(), userId)) { // This should never happen Log.e(LOG_TAG, "## Null current user '" + userId); } } return member; }
selfUserId = roomState.getDataHandler().getUserId();
if (TextUtils.equals(member.getUserId(), mRoom.getDataHandler().getUserId())) { currentUser = member; } else {
mStore.storeSummary(new RoomSummary(null, latestSupportedEvent, getState(), mDataHandler.getUserId()));
Event event = new Event(message, mDataHandler.getUserId(), mRoom.getRoomId());
RoomMember m2 = mRoom.getState().getLoadedMembers().get(1); res = TextUtils.equals(m1.getUserId(), mRoom.getDataHandler().getUserId()) ? m2.getAvatarUrl() : m1.getAvatarUrl(); RoomMember m2 = mRoom.getState().getLoadedMembers().get(1); res = TextUtils.equals(m1.getUserId(), mRoom.getDataHandler().getUserId()) ? m2.getAvatarUrl() : m1.getAvatarUrl();
RoomMember member = room.getMember(getUserId()); if (null != member) { membership = member.membership;
/** * Delete an events list. * * @param events the events list */ public void deleteEvents(List<Event> events) { if ((null != getStore()) && (null != events) && events.size() > 0) { // reset the timestamp for (Event event : events) { getStore().deleteEvent(event); } // update the summary Event latestEvent = getStore().getLatestEvent(getRoomId()); // if there is an oldest event, use it to set a summary if (latestEvent != null) { if (RoomSummary.isSupportedEvent(latestEvent)) { RoomSummary summary = getStore().getSummary(getRoomId()); if (null != summary) { summary.setLatestReceivedEvent(latestEvent, getState()); } else { summary = new RoomSummary(null, latestEvent, getState(), mDataHandler.getUserId()); } getStore().storeSummary(summary); } } getStore().commit(); } }
mLeftRoomsStore.storeSummary(new RoomSummary(summary, summary.getLatestReceivedEvent(), summary.getLatestRoomState(), getUserId()));
if (Event.EVENT_TYPE_STATE_ROOM_MEMBER.equals(event.getType()) && TextUtils.equals(event.getSender(), dataHandler.getUserId())) { EventContent eventContent = JsonUtils.toEventContent(event.getContentAsJsonObject()); EventContent prevEventContent = event.getPrevContent();
if ((null != getStore()) && !getStore().isEventRead(getRoomId(), getDataHandler().getUserId(), readReceiptEventId)) {