Search in sources :

Example 1 with RequestLoadHistory

use of im.actor.core.api.rpc.RequestLoadHistory in project actor-platform by actorapp.

the class ConversationHistoryActor method onLoadMore.

private void onLoadMore() {
    if (isFreezed || historyLoaded) {
        return;
    }
    isFreezed = true;
    api(new RequestLoadHistory(buidOutPeer(peer), historyMaxDate, null, LIMIT, ApiSupportConfiguration.OPTIMIZATIONS)).chain(r -> updates().applyRelatedData(r.getUsers(), r.getGroups())).chain(r -> updates().loadRequiredPeers(r.getUserPeers(), r.getGroupPeers())).flatMap(r -> {
        Log.d("HistoryActor", "Apply " + historyMaxDate);
        return applyHistory(peer, r.getHistory());
    }).map(r -> {
        Log.d("HistoryActor", "Applied");
        isFreezed = false;
        unstashAll();
        return null;
    });
}
Also used : ApiSupportConfiguration(im.actor.core.modules.api.ApiSupportConfiguration) ModuleContext(im.actor.core.modules.ModuleContext) ApiMessageReaction(im.actor.core.api.ApiMessageReaction) AbsContent(im.actor.core.entity.content.AbsContent) EntityConverter(im.actor.core.entity.EntityConverter) Void(im.actor.runtime.actors.messages.Void) Promise(im.actor.runtime.promise.Promise) AskMessage(im.actor.runtime.actors.ask.AskMessage) ApiMessageContainer(im.actor.core.api.ApiMessageContainer) Reaction(im.actor.core.entity.Reaction) ArrayList(java.util.ArrayList) List(java.util.List) ModuleActor(im.actor.core.modules.ModuleActor) Consumer(im.actor.runtime.function.Consumer) ApiMessageState(im.actor.core.api.ApiMessageState) RequestLoadHistory(im.actor.core.api.rpc.RequestLoadHistory) Peer(im.actor.core.entity.Peer) MessageState(im.actor.core.entity.MessageState) ResponseLoadHistory(im.actor.core.api.rpc.ResponseLoadHistory) Message(im.actor.core.entity.Message) Log(im.actor.runtime.Log) RequestLoadHistory(im.actor.core.api.rpc.RequestLoadHistory)

Aggregations

ApiMessageContainer (im.actor.core.api.ApiMessageContainer)1 ApiMessageReaction (im.actor.core.api.ApiMessageReaction)1 ApiMessageState (im.actor.core.api.ApiMessageState)1 RequestLoadHistory (im.actor.core.api.rpc.RequestLoadHistory)1 ResponseLoadHistory (im.actor.core.api.rpc.ResponseLoadHistory)1 EntityConverter (im.actor.core.entity.EntityConverter)1 Message (im.actor.core.entity.Message)1 MessageState (im.actor.core.entity.MessageState)1 Peer (im.actor.core.entity.Peer)1 Reaction (im.actor.core.entity.Reaction)1 AbsContent (im.actor.core.entity.content.AbsContent)1 ModuleActor (im.actor.core.modules.ModuleActor)1 ModuleContext (im.actor.core.modules.ModuleContext)1 ApiSupportConfiguration (im.actor.core.modules.api.ApiSupportConfiguration)1 Log (im.actor.runtime.Log)1 AskMessage (im.actor.runtime.actors.ask.AskMessage)1 Void (im.actor.runtime.actors.messages.Void)1 Consumer (im.actor.runtime.function.Consumer)1 Promise (im.actor.runtime.promise.Promise)1 ArrayList (java.util.ArrayList)1