Search in sources :

Example 1 with UpdateGroupAvatarChanged

use of im.actor.core.api.updates.UpdateGroupAvatarChanged in project actor-platform by actorapp.

the class GroupAvatarChangeActor method uploadCompleted.

public void uploadCompleted(final long rid, FileReference fileReference) {
    if (!tasksMap.containsKey(rid)) {
        return;
    }
    final int gid = tasksMap.get(rid);
    long accessHash = getGroup(gid).getAccessHash();
    if (currentTasks.get(gid) != rid) {
        return;
    }
    api(new RequestEditGroupAvatar(new ApiGroupOutPeer(gid, accessHash), rid, new ApiFileLocation(fileReference.getFileId(), fileReference.getAccessHash()), ApiSupportConfiguration.OPTIMIZATIONS)).flatMap(responseEditGroupAvatar -> updates().applyUpdate(responseEditGroupAvatar.getSeq(), responseEditGroupAvatar.getState(), new UpdateGroupAvatarChanged(gid, responseEditGroupAvatar.getAvatar()))).then(v -> avatarChanged(gid, rid)).failure(e -> {
        if (!tasksMap.containsKey(rid)) {
            return;
        }
        final int gid2 = tasksMap.get(rid);
        if (currentTasks.get(gid2) != rid) {
            return;
        }
        currentTasks.remove(gid2);
        tasksMap.remove(rid);
        context().getGroupsModule().getAvatarVM(gid2).getUploadState().change(new AvatarUploadState(null, false));
    });
}
Also used : ApiSupportConfiguration(im.actor.core.modules.api.ApiSupportConfiguration) ResponseEditGroupAvatar(im.actor.core.api.rpc.ResponseEditGroupAvatar) ModuleContext(im.actor.core.modules.ModuleContext) ResponseSeqDate(im.actor.core.api.rpc.ResponseSeqDate) ExecuteAfter(im.actor.core.modules.sequence.internal.ExecuteAfter) Void(im.actor.runtime.actors.messages.Void) RequestEditGroupAvatar(im.actor.core.api.rpc.RequestEditGroupAvatar) UpdateGroupAvatarChanged(im.actor.core.api.updates.UpdateGroupAvatarChanged) RandomUtils(im.actor.core.util.RandomUtils) HashMap(java.util.HashMap) Group(im.actor.core.entity.Group) RpcException(im.actor.core.network.RpcException) RequestRemoveGroupAvatar(im.actor.core.api.rpc.RequestRemoveGroupAvatar) ModuleActor(im.actor.core.modules.ModuleActor) Consumer(im.actor.runtime.function.Consumer) FileReference(im.actor.core.entity.FileReference) ApiFileLocation(im.actor.core.api.ApiFileLocation) UpdateGroupAvatarChangedObsolete(im.actor.core.api.updates.UpdateGroupAvatarChangedObsolete) RpcCallback(im.actor.core.network.RpcCallback) ApiGroupOutPeer(im.actor.core.api.ApiGroupOutPeer) UploadManager(im.actor.core.modules.file.UploadManager) AvatarUploadState(im.actor.core.viewmodel.AvatarUploadState) SeqUpdate(im.actor.core.api.base.SeqUpdate) RequestEditGroupAvatar(im.actor.core.api.rpc.RequestEditGroupAvatar) ApiFileLocation(im.actor.core.api.ApiFileLocation) UpdateGroupAvatarChanged(im.actor.core.api.updates.UpdateGroupAvatarChanged) AvatarUploadState(im.actor.core.viewmodel.AvatarUploadState) ApiGroupOutPeer(im.actor.core.api.ApiGroupOutPeer)

Aggregations

ApiFileLocation (im.actor.core.api.ApiFileLocation)1 ApiGroupOutPeer (im.actor.core.api.ApiGroupOutPeer)1 SeqUpdate (im.actor.core.api.base.SeqUpdate)1 RequestEditGroupAvatar (im.actor.core.api.rpc.RequestEditGroupAvatar)1 RequestRemoveGroupAvatar (im.actor.core.api.rpc.RequestRemoveGroupAvatar)1 ResponseEditGroupAvatar (im.actor.core.api.rpc.ResponseEditGroupAvatar)1 ResponseSeqDate (im.actor.core.api.rpc.ResponseSeqDate)1 UpdateGroupAvatarChanged (im.actor.core.api.updates.UpdateGroupAvatarChanged)1 UpdateGroupAvatarChangedObsolete (im.actor.core.api.updates.UpdateGroupAvatarChangedObsolete)1 FileReference (im.actor.core.entity.FileReference)1 Group (im.actor.core.entity.Group)1 ModuleActor (im.actor.core.modules.ModuleActor)1 ModuleContext (im.actor.core.modules.ModuleContext)1 ApiSupportConfiguration (im.actor.core.modules.api.ApiSupportConfiguration)1 UploadManager (im.actor.core.modules.file.UploadManager)1 ExecuteAfter (im.actor.core.modules.sequence.internal.ExecuteAfter)1 RpcCallback (im.actor.core.network.RpcCallback)1 RpcException (im.actor.core.network.RpcException)1 RandomUtils (im.actor.core.util.RandomUtils)1 AvatarUploadState (im.actor.core.viewmodel.AvatarUploadState)1