package im.actor.core.entity.content; import im.actor.core.api.ApiDocumentExAnimation; import im.actor.core.api.ApiDocumentMessage; import im.actor.core.api.ApiFastThumb; import im.actor.core.entity.FileReference; import im.actor.core.entity.content.internal.ContentLocalContainer; import im.actor.core.entity.content.internal.ContentRemoteContainer; import im.actor.core.entity.content.internal.LocalAnimation; import im.actor.core.entity.content.internal.LocalFastThumb; import im.actor.core.entity.content.internal.LocalVideo; public class AnimationContent extends DocumentContent { public static AnimationContent createLocalAnimation(String descriptor, String fileName, int fileSize, int w, int h, FastThumb fastThumb) { return new AnimationContent(new ContentLocalContainer( new LocalAnimation( fileName, descriptor, fileSize, "image/gif", fastThumb != null ? new LocalFastThumb(fastThumb) : null, w, h))); } public static AnimationContent createRemoteAnimation(FileReference reference, int w, int h, FastThumb fastThumb) { return new AnimationContent(new ContentRemoteContainer( new ApiDocumentMessage(reference.getFileId(), reference.getAccessHash(), reference.getFileSize(), reference.getFileName(), "image/gif", fastThumb != null ? new ApiFastThumb( fastThumb.getW(), fastThumb.getH(), fastThumb.getImage()) : null, new ApiDocumentExAnimation(w, h)))); } private int w; private int h; public AnimationContent(ContentRemoteContainer contentContainer) { super(contentContainer); ApiDocumentExAnimation animation = (ApiDocumentExAnimation) ((ApiDocumentMessage) contentContainer.getMessage()).getExt(); w = animation.getW(); h = animation.getH(); } public AnimationContent(ContentLocalContainer contentContainer) { super(contentContainer); LocalAnimation localVideo = (LocalAnimation) contentContainer.getContent(); w = localVideo.getW(); h = localVideo.getH(); } public int getW() { return w; } public int getH() { return h; } }