@Override public void onRetry() { getRoomMessagesFrom(roomId, fromToken, direction, limit, roomEventFilter, callback); } }));
/** * Trigger a forward pagination for a dedicated room from Token. * * @param store the store to use * @param roomId the room Id * @param token the start token. * @param withLazyLoading true when lazy loading is enabled * @param callback the callback */ private void forwardPaginate(final IMXStore store, final String roomId, final String token, final boolean withLazyLoading, final ApiCallback<TokensChunkEvents> callback) { putPendingToken(mPendingForwardRequestTokenByRoomId, roomId, token); mRestClient.getRoomMessagesFrom(roomId, token, EventTimeline.Direction.FORWARDS, RoomsRestClient.DEFAULT_MESSAGES_PAGINATION_LIMIT, FilterUtil.createRoomEventFilter(withLazyLoading), new SimpleApiCallback<TokensChunkEvents>(callback) { @Override public void onSuccess(TokensChunkEvents tokensChunkEvents) { if (TextUtils.equals(getPendingToken(mPendingForwardRequestTokenByRoomId, roomId), token)) { clearPendingToken(mPendingForwardRequestTokenByRoomId, roomId); store.storeRoomEvents(roomId, tokensChunkEvents, EventTimeline.Direction.FORWARDS); callback.onSuccess(tokensChunkEvents); } } }); }
putPendingToken(mPendingRemoteRequestTokenByRoomId, roomId, token); mRestClient.getRoomMessagesFrom(roomId, token, EventTimeline.Direction.BACKWARDS, paginationCount, FilterUtil.createRoomEventFilter(withLazyLoading), new SimpleApiCallback<TokensChunkEvents>(callback) { @Override
Log.d(LOG_TAG, "## backPaginate() : trigger a remote request"); mRestClient.getRoomMessagesFrom(roomId, token, EventTimeline.Direction.BACKWARDS, limit, FilterUtil.createRoomEventFilter(withLazyLoading), new SimpleApiCallback<TokensChunkEvents>(callback) { @Override