/* * Copyright (C) 2015 Actor LLC. <https://actor.im> */ package im.actor.core.modules.stickers; import java.util.List; import im.actor.core.api.ApiStickerCollection; import im.actor.core.api.updates.UpdateOwnStickersChanged; import im.actor.core.api.updates.UpdateStickerCollectionsChanged; 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 StickersProcessor extends AbsModule implements SequenceProcessor { public StickersProcessor(ModuleContext modules) { super(modules); } public void onOwnStickerCollectionsChanged(List<ApiStickerCollection> updated) { stickersActor().send(new StickersActor.OwnStickerCollectionsChanged(updated)); } public void onStickerCollectionsChanged(List<ApiStickerCollection> updated) { stickersActor().send(new StickersActor.StickerCollectionsChanged(updated)); } @Override public Promise<Void> process(Update update) { if (update instanceof UpdateOwnStickersChanged) { onOwnStickerCollectionsChanged(((UpdateOwnStickersChanged) update).getCollections()); return Promise.success(null); } else if (update instanceof UpdateStickerCollectionsChanged) { onStickerCollectionsChanged(((UpdateStickerCollectionsChanged) update).getCollections()); return Promise.success(null); } return null; } }