package com.instructure.canvasapi.model; import android.os.Parcel; import com.google.gson.annotations.SerializedName; import com.instructure.canvasapi.utilities.FileUtilities; import java.util.Date; /** * @author Josh Ruesch * * Copyright (c) 2014 Instructure. All rights reserved. */ public class MediaComment extends CanvasComparable<MediaComment>{ private static final long serialVersionUID = 1L; public enum MediaType { AUDIO, VIDEO } //TODO: handle thumbnail of video? private String media_id; private String display_name; private String url; private String media_type; @SerializedName("content-type") private String content_type; /////////////////////////////////////////////////////////////////////////// // Getters /////////////////////////////////////////////////////////////////////////// public String getMediaId() { return media_id; } public String getDisplayName(Date created_at) { if(display_name == null || display_name.equals("null")) return created_at.toLocaleString() + "." + FileUtilities.getFileExtensionFromMimetype(content_type); else return display_name; } public String getUrl() { return url; } public MediaType getMediaType() { if("video".equals(media_type)) { return MediaType.VIDEO; } else { return MediaType.AUDIO; } } public String getMimeType() { return content_type; } public String getFileName(){ if(media_id == null || url == null){ return null; } String[] split = url.split("="); return media_id + "."+split[split.length-1]; } /////////////////////////////////////////////////////////////////////////// // Required Overrides /////////////////////////////////////////////////////////////////////////// @Override public Date getComparisonDate() { return null; } @Override public String getComparisonString() { return display_name; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(this.media_id); dest.writeString(this.display_name); dest.writeString(this.url); dest.writeString(this.media_type); dest.writeString(this.content_type); } public MediaComment() { } private MediaComment(Parcel in) { this.media_id = in.readString(); this.display_name = in.readString(); this.url = in.readString(); this.media_type = in.readString(); this.content_type = in.readString(); } public static Creator<MediaComment> CREATOR = new Creator<MediaComment>() { public MediaComment createFromParcel(Parcel source) { return new MediaComment(source); } public MediaComment[] newArray(int size) { return new MediaComment[size]; } }; }