/** * Get the event associated with the eventId and roomId * Look in the store before hitting the rest client. * * @param store the store to look in * @param roomId the room Id * @param eventId the eventId * @param callback the callback */ public void getEvent(final IMXStore store, final String roomId, final String eventId, final ApiCallback<Event> callback) { final Event event = store.getEvent(eventId, roomId); if (event == null) { mRestClient.getEvent(roomId, eventId, callback); } else { callback.onSuccess(event); } }
dataHandler.getDataRetriever().getRoomsRestClient().getEvent(roomId, eventId, new ApiCallback<Event>() { @Override public void onSuccess(Event event) {
public void getMemberEvent(final String userId, final ApiCallback<Event> callback) { final Event event; final RoomMember member = getMember(userId); if ((null != member) && (null != member.getOriginalEventId())) { event = mMemberEventByEventId.get(member.getOriginalEventId()); if (null == event) { mDataHandler.getDataRetriever().getRoomsRestClient().getEvent(getRoomId(), member.getOriginalEventId(), new SimpleApiCallback<Event>(callback) { @Override public void onSuccess(Event event) { if (null != event) { mMemberEventByEventId.put(event.eventId, event); } callback.onSuccess(event); } }); return; } } else { event = null; } new Handler(Looper.getMainLooper()).post(new Runnable() { @Override public void run() { callback.onSuccess(event); } }); }