/*
* Copyright (C) 2015 Actor LLC. <https://actor.im>
*/
package im.actor.core.modules.groups;
import im.actor.core.api.updates.UpdateGroupAboutChanged;
import im.actor.core.api.updates.UpdateGroupAvatarChanged;
import im.actor.core.api.updates.UpdateGroupDeleted;
import im.actor.core.api.updates.UpdateGroupExtChanged;
import im.actor.core.api.updates.UpdateGroupFullExtChanged;
import im.actor.core.api.updates.UpdateGroupFullPermissionsChanged;
import im.actor.core.api.updates.UpdateGroupHistoryShared;
import im.actor.core.api.updates.UpdateGroupMemberAdminChanged;
import im.actor.core.api.updates.UpdateGroupMemberChanged;
import im.actor.core.api.updates.UpdateGroupMemberDiff;
import im.actor.core.api.updates.UpdateGroupMembersBecameAsync;
import im.actor.core.api.updates.UpdateGroupMembersCountChanged;
import im.actor.core.api.updates.UpdateGroupMembersUpdated;
import im.actor.core.api.updates.UpdateGroupOwnerChanged;
import im.actor.core.api.updates.UpdateGroupPermissionsChanged;
import im.actor.core.api.updates.UpdateGroupShortNameChanged;
import im.actor.core.api.updates.UpdateGroupTitleChanged;
import im.actor.core.api.updates.UpdateGroupTopicChanged;
import im.actor.core.modules.AbsModule;
import im.actor.core.modules.ModuleContext;
import im.actor.core.modules.sequence.processor.SequenceProcessor;
import im.actor.core.network.parser.Update;
import im.actor.runtime.actors.messages.Void;
import im.actor.runtime.promise.Promise;
public class GroupsProcessor extends AbsModule implements SequenceProcessor {
public GroupsProcessor(ModuleContext context) {
super(context);
}
@Override
public Promise<Void> process(Update update) {
if (update instanceof UpdateGroupTitleChanged ||
update instanceof UpdateGroupMemberChanged ||
update instanceof UpdateGroupAvatarChanged ||
update instanceof UpdateGroupPermissionsChanged ||
update instanceof UpdateGroupDeleted ||
update instanceof UpdateGroupExtChanged ||
update instanceof UpdateGroupMembersUpdated ||
update instanceof UpdateGroupMemberAdminChanged ||
update instanceof UpdateGroupMemberDiff ||
update instanceof UpdateGroupMembersBecameAsync ||
update instanceof UpdateGroupMembersCountChanged ||
update instanceof UpdateGroupShortNameChanged ||
update instanceof UpdateGroupAboutChanged ||
update instanceof UpdateGroupTopicChanged ||
update instanceof UpdateGroupOwnerChanged ||
update instanceof UpdateGroupHistoryShared ||
update instanceof UpdateGroupFullPermissionsChanged ||
update instanceof UpdateGroupFullExtChanged) {
return context().getGroupsModule().getRouter().onUpdate(update);
}
return null;
}
}