package com.iwedia.comm.content.multimedia; import android.os.Parcel; import android.os.Parcelable; import android.util.Log; import com.iwedia.comm.content.Content; import com.iwedia.comm.enums.FilterType; import com.iwedia.dtv.pvr.SmartInfo; import com.iwedia.dtv.types.TimeDate; public class MultimediaContent extends Content implements IMultimediaContent, Parcelable { private String fileExtension; private String fileType; private String multimediaType; private String fileURL; private String absolutePath; private String description; private String extDescription; private String startTime; private String endTime; private String durationTime; private int genre; private int playlist_id; private String artist; private String title; private int duration; private String resolution; private TimeDate timeDate; private String playlistName; private String playlistType; private String id; private String dlnaName; private String mime; private String rootID; private int isFavorite; private boolean incomplete = false; public static final Parcelable.Creator<MultimediaContent> CREATOR = new Parcelable.Creator<MultimediaContent>() { public MultimediaContent createFromParcel(Parcel in) { return new MultimediaContent(in); } public MultimediaContent[] newArray(int size) { return new MultimediaContent[size]; } }; public MultimediaContent(Parcel in) { super(in); } // PVR record public MultimediaContent(String title, String description, String duration, String multimediaType, TimeDate timeDate, int index, String fileType, String extension) { this.index = index; this.name = title; this.image = ""; this.filterType = FilterType.PVR_RECORDED; this.durationTime = duration; this.timeDate = timeDate; this.description = description; this.multimediaType = multimediaType; this.fileType = fileType; this.fileExtension = extension; this.incomplete = false; } // multimedia public MultimediaContent(String name, String multimediaFileUrl, String multimediaFileExt, String multimediaFileType, String multimediaType, int index, String path, String id, String dlnaName, String rootID, int isFavorite) { this.index = index; this.name = name; this.image = ""; this.filterType = FilterType.MULTIMEDIA; fileExtension = multimediaFileExt; fileType = multimediaFileType; this.multimediaType = multimediaType; fileURL = multimediaFileUrl; absolutePath = path; this.id = id; Log.e("MULTIMEDIA CONTENT:", "ID" + id); this.dlnaName = dlnaName; this.rootID = rootID; this.isFavorite = isFavorite; this.incomplete = false; this.playlist_id = 0; } // multimedia public MultimediaContent(String name, String multimediaFileUrl, String multimediaFileExt, String multimediaFileType, String multimediaType, int index, String path, String id, String dlnaName, String rootID, int isFavorite, int playlistId, String artist, String title, int duration, String resolution, String playlistName, String playlistType) { this.index = index; this.name = name; this.image = ""; this.filterType = FilterType.MULTIMEDIA; fileExtension = multimediaFileExt; fileType = multimediaFileType; this.multimediaType = multimediaType; fileURL = multimediaFileUrl; absolutePath = path; this.id = id; Log.e("MULTIMEDIA CONTENT:", "ID" + id); this.dlnaName = dlnaName; this.rootID = rootID; this.isFavorite = isFavorite; this.playlist_id = playlistId; this.artist = artist; this.title = title; this.duration = duration; this.resolution = resolution; this.playlistName = playlistName; this.playlistType = playlistType; this.incomplete = false; } // playlist public MultimediaContent(int id, String title, String artist, String source, String resolution, int duration, String extension) { playlist_id = id; this.title = title; this.artist = artist; this.filterType = FilterType.MULTIMEDIA; fileURL = source; this.duration = duration; this.resolution = resolution; fileExtension = extension; this.incomplete = false; } // playlist public MultimediaContent(int id, String playlistName, String multimediaFileType, String path, String title, String artist, String source, String resolution, int duration, String multimediaFileExt, String multimediaType, String name, String playlistType) { playlist_id = id; this.playlistName = playlistName; this.name = name; fileType = multimediaFileType; this.multimediaType = multimediaType; absolutePath = path; this.title = title; this.artist = artist; this.filterType = FilterType.MULTIMEDIA; fileURL = source; this.duration = duration; this.resolution = resolution; fileExtension = multimediaFileExt; this.playlistType = playlistType; this.incomplete = false; } // PVR schedule public MultimediaContent(SmartInfo smartInfo, int index) { this.index = index; this.image = ""; this.filterType = FilterType.PVR_SCHEDULED; this.multimediaType = "DEFAULT"; this.fileType = "file"; this.fileExtension = "pvrschedule"; if(smartInfo != null) { this.name = smartInfo.getTitle(); this.description = smartInfo.getDescription(); this.startTime = smartInfo.getStartTime().toString(); this.endTime = smartInfo.getEndTime().toString(); this.incomplete = false; } } @Override public int describeContents() { return 0; } @Override public void readFromParcel(Parcel in) { super.readFromParcel(in); fileExtension = in.readString(); fileType = in.readString(); multimediaType = in.readString(); fileURL = in.readString(); absolutePath = in.readString(); description = in.readString(); startTime = in.readString(); endTime = in.readString(); durationTime = in.readString(); genre = in.readInt(); int readTimeDate = in.readInt(); if(readTimeDate == 1){ timeDate = new TimeDate().readFromParcel(in, 1); } id = in.readString(); dlnaName = in.readString(); mime = in.readString(); rootID = in.readString(); isFavorite = in.readInt(); incomplete = in.readInt() == 1; artist = in.readString(); title = in.readString(); resolution = in.readString(); duration = in.readInt(); playlist_id = in.readInt(); playlistName = in.readString(); playlistType = in.readString(); } @Override public void writeToParcel(Parcel dest, int flags) { super.writeToParcel(dest, flags); dest.writeString(fileExtension); dest.writeString(fileType); dest.writeString(multimediaType); dest.writeString(fileURL); dest.writeString(absolutePath); dest.writeString(description); dest.writeString(startTime); dest.writeString(endTime); dest.writeString(durationTime); dest.writeInt(genre); if(timeDate == null){ dest.writeInt(0); }else{ dest.writeInt(1); timeDate.writeToParcel(dest, 1); } dest.writeString(id); dest.writeString(dlnaName); dest.writeString(mime); dest.writeString(rootID); dest.writeInt(isFavorite); dest.writeInt((int) (incomplete ? 1 : 0)); dest.writeString(artist); dest.writeString(title); dest.writeString(resolution); dest.writeInt(duration); dest.writeInt(playlist_id); dest.writeString(playlistName); dest.writeString(playlistType); } @Override public String getExtension() { return fileExtension; } @Override public String getType() { return fileType; } @Override public String getImageType() { return multimediaType; } @Override public String getFileURL() { return fileURL; } public void setFileURL(String fileURL) { this.fileURL = fileURL; } @Override public String getAbsolutePath() { return absolutePath; } @Override public String getDescription() { return description; } @Override public String getStartTime() { return startTime; } @Override public String getEndTime() { return endTime; } @Override public String getDurationTime() { return durationTime; } @Override public int getGenre() { return genre; } @Override public TimeDate getTimeDate() { return timeDate; } @Override public String getId() { return this.id; } @Override public String getDlnaName() { return this.dlnaName; } public void setId(String id) { this.id = id; } @Override public String getMime() { return mime; } @Override public boolean isIncomplete() { return incomplete; } public void setMime(String mime) { this.mime = mime; } public String getRootID() { return rootID; } public int isFavorite() { return isFavorite; } public void setFavorite(int isFavorite) { this.isFavorite = isFavorite; } public void setName(String name) { this.name = name; } public void setIncomplete(boolean incomplete) { this.incomplete = incomplete; } public void setTitle(String title) { this.title = title; } public String getTitle() { return title; } public void setArtist(String artist) { this.artist = artist; } public String getArtist() { return artist; } public void setResolution(String resolution) { this.resolution = resolution; } public String getResolution() { return resolution; } public void setDuration(int duration) { this.duration = duration; } public int getDuration() { return duration; } public void setPlaylistID(int playlist_id) { this.playlist_id = playlist_id; } public int getPlaylistID() { return playlist_id; } public void setPlaylistName(String playlistName) { this.playlistName = playlistName; } public String getPlaylistName() { return playlistName; } public String getPlaylistType() { return playlistType; } public void setPlaylistType(String playlistType) { this.playlistType = playlistType; } }