/* * Copyright (C) 2015 Actor LLC. <https://actor.im> */ package im.actor.core.entity.content; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import im.actor.core.api.ApiDocumentExPhoto; import im.actor.core.api.ApiDocumentExVoice; 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.LocalFastThumb; import im.actor.core.entity.content.internal.LocalPhoto; import im.actor.core.entity.content.internal.LocalVoice; public class VoiceContent extends DocumentContent { @NotNull public static VoiceContent createLocalAudio(@NotNull String descriptor, @NotNull String fileName, int fileSize, int duration) { return new VoiceContent(new ContentLocalContainer( new LocalVoice( fileName, descriptor, fileSize, "audio/mp3", duration))); } @NotNull public static VoiceContent createRemoteAudio(@NotNull FileReference reference, int duration) { return new VoiceContent(new ContentRemoteContainer( new ApiDocumentMessage(reference.getFileId(), reference.getAccessHash(), reference.getFileSize(), reference.getFileName(), "audio/mp3", null, new ApiDocumentExVoice(duration)))); } private int duration; public VoiceContent(ContentLocalContainer contentLocalContainer) { super(contentLocalContainer); LocalVoice photo = ((LocalVoice) contentLocalContainer.getContent()); duration = photo.getDuration(); } public VoiceContent(ContentRemoteContainer contentRemoteContainer) { super(contentRemoteContainer); ApiDocumentMessage message = (ApiDocumentMessage) contentRemoteContainer.getMessage(); ApiDocumentExVoice photo = (ApiDocumentExVoice) message.getExt(); if (photo != null) { duration = photo.getDuration(); } } public int getDuration() { return duration; } }