363 lines
8.7 KiB
Java
363 lines
8.7 KiB
Java
/* Copyright 2018 Thomas Schneider
|
|
*
|
|
* This file is a part of Fedilab
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
|
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* Fedilab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
|
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
|
* Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along with Fedilab; if not,
|
|
* see <http://www.gnu.org/licenses>. */
|
|
package app.fedilab.android.client.Entities;
|
|
|
|
|
|
import org.json.JSONObject;
|
|
|
|
import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* Created by Thomas on 29/09/2018.
|
|
* Manage how to videos
|
|
*/
|
|
@SuppressWarnings("unused")
|
|
public class Peertube {
|
|
|
|
private String id;
|
|
private String uuid;
|
|
private String name;
|
|
private String description;
|
|
private String host;
|
|
private String thumbnailPath;
|
|
private String previewPath;
|
|
private String embedPath;
|
|
private int view;
|
|
private int like;
|
|
private int dislike;
|
|
private Date created_at;
|
|
private int duration;
|
|
private String instance;
|
|
private Account account;
|
|
private Account channel;
|
|
private List<String> resolution;
|
|
private List<String> tags;
|
|
private boolean commentsEnabled;
|
|
private boolean sensitive;
|
|
private HashMap<Integer, String> category;
|
|
private HashMap<Integer, String> license;
|
|
private HashMap<String, String> language;
|
|
private HashMap<Integer, String> privacy;
|
|
private HashMap<String, String> channelForUpdate;
|
|
private String myRating = "none";
|
|
private boolean isUpdate = false; // I allow to set it to true when dealing with API updates
|
|
private String headerType = null;//For overview timeline
|
|
private String headerTypeValue = null;//For overview timeline
|
|
private JSONObject cache;
|
|
private boolean streamService;
|
|
|
|
public Peertube() {
|
|
}
|
|
|
|
|
|
public String getId() {
|
|
return id;
|
|
}
|
|
|
|
public void setId(String id) {
|
|
this.id = id;
|
|
}
|
|
|
|
public String getUuid() {
|
|
return uuid;
|
|
}
|
|
|
|
public void setUuid(String uuid) {
|
|
this.uuid = uuid;
|
|
}
|
|
|
|
public String getName() {
|
|
return name;
|
|
}
|
|
|
|
public void setName(String name) {
|
|
this.name = name;
|
|
}
|
|
|
|
public String getDescription() {
|
|
return description;
|
|
}
|
|
|
|
public void setDescription(String description) {
|
|
this.description = description;
|
|
}
|
|
|
|
public String getThumbnailPath() {
|
|
return thumbnailPath;
|
|
}
|
|
|
|
public void setThumbnailPath(String thumbnailPath) {
|
|
this.thumbnailPath = thumbnailPath;
|
|
}
|
|
|
|
public String getPreviewPath() {
|
|
return previewPath;
|
|
}
|
|
|
|
public void setPreviewPath(String previewPath) {
|
|
this.previewPath = previewPath;
|
|
}
|
|
|
|
public String getEmbedPath() {
|
|
return embedPath;
|
|
}
|
|
|
|
public void setEmbedPath(String embedPath) {
|
|
this.embedPath = embedPath;
|
|
}
|
|
|
|
|
|
public int getView() {
|
|
return view;
|
|
}
|
|
|
|
public void setView(int view) {
|
|
this.view = view;
|
|
}
|
|
|
|
public int getLike() {
|
|
return like;
|
|
}
|
|
|
|
public void setLike(int like) {
|
|
this.like = like;
|
|
}
|
|
|
|
public int getDislike() {
|
|
return dislike;
|
|
}
|
|
|
|
public void setDislike(int dislike) {
|
|
this.dislike = dislike;
|
|
}
|
|
|
|
public Date getCreated_at() {
|
|
return created_at;
|
|
}
|
|
|
|
public void setCreated_at(Date created_at) {
|
|
this.created_at = created_at;
|
|
}
|
|
|
|
public int getDuration() {
|
|
return duration;
|
|
}
|
|
|
|
public void setDuration(int duration) {
|
|
this.duration = duration;
|
|
}
|
|
|
|
public String getInstance() {
|
|
return instance;
|
|
}
|
|
|
|
public void setInstance(String instance) {
|
|
this.instance = instance;
|
|
}
|
|
|
|
public Account getAccount() {
|
|
return account;
|
|
}
|
|
|
|
public void setAccount(Account account) {
|
|
this.account = account;
|
|
}
|
|
|
|
public String getFileUrl(String resolution, boolean streamService) {
|
|
if (resolution == null)
|
|
resolution = this.getResolution().get(0);
|
|
if (resolution == null)
|
|
return null;
|
|
if (streamService) {
|
|
return "https://" + this.host + "/static/streaming-playlists/hls/" + getUuid() + "/" + getUuid() + "-" + resolution + "-fragmented.mp4";
|
|
} else {
|
|
return "https://" + this.host + "/static/webseed/" + getUuid() + "-" + resolution + ".mp4";
|
|
|
|
}
|
|
}
|
|
|
|
|
|
public String getTorrentUrl(String resolution) {
|
|
if (resolution == null)
|
|
resolution = this.getResolution().get(0);
|
|
if (resolution == null)
|
|
return null;
|
|
return "https://" + this.host + "/static/torrents/" + getUuid() + "-" + resolution + ".torrent";
|
|
|
|
}
|
|
|
|
public String getTorrentDownloadUrl(String resolution) {
|
|
if (resolution == null)
|
|
resolution = this.getResolution().get(0);
|
|
if (resolution == null)
|
|
return null;
|
|
return "https://" + this.host + "/download/torrents/" + getUuid() + "-" + resolution + ".torrent";
|
|
|
|
}
|
|
|
|
public String getFileDownloadUrl(String resolution, boolean streamService) {
|
|
if (resolution == null)
|
|
resolution = this.getResolution().get(0);
|
|
if (resolution == null)
|
|
return null;
|
|
if (streamService) {
|
|
return "https://" + this.host + "/download/streaming-playlists/hls/videos/" + getUuid() + "/" + getUuid() + "-" + resolution + "-fragmented.mp4";
|
|
} else {
|
|
return "https://" + this.host + "/download/videos/" + getUuid() + "-" + resolution + ".mp4";
|
|
}
|
|
|
|
}
|
|
|
|
public List<String> getResolution() {
|
|
return resolution;
|
|
}
|
|
|
|
public void setResolution(List<String> resolution) {
|
|
this.resolution = resolution;
|
|
}
|
|
|
|
public String getHost() {
|
|
return host;
|
|
}
|
|
|
|
public void setHost(String host) {
|
|
this.host = host;
|
|
}
|
|
|
|
public boolean isCommentsEnabled() {
|
|
return commentsEnabled;
|
|
}
|
|
|
|
public void setCommentsEnabled(boolean commentsEnabled) {
|
|
this.commentsEnabled = commentsEnabled;
|
|
}
|
|
|
|
public JSONObject getCache() {
|
|
return cache;
|
|
}
|
|
|
|
public void setCache(JSONObject cache) {
|
|
this.cache = cache;
|
|
}
|
|
|
|
public boolean isSensitive() {
|
|
return sensitive;
|
|
}
|
|
|
|
public void setSensitive(boolean sensitive) {
|
|
this.sensitive = sensitive;
|
|
}
|
|
|
|
|
|
public String getMyRating() {
|
|
return myRating;
|
|
}
|
|
|
|
public void setMyRating(String myRating) {
|
|
this.myRating = myRating;
|
|
}
|
|
|
|
public Account getChannel() {
|
|
return channel;
|
|
}
|
|
|
|
public void setChannel(Account channel) {
|
|
this.channel = channel;
|
|
}
|
|
|
|
|
|
public List<String> getTags() {
|
|
return tags;
|
|
}
|
|
|
|
public void setTags(List<String> tags) {
|
|
this.tags = tags;
|
|
}
|
|
|
|
public HashMap<Integer, String> getCategory() {
|
|
return category;
|
|
}
|
|
|
|
public void setCategory(HashMap<Integer, String> category) {
|
|
this.category = category;
|
|
}
|
|
|
|
public HashMap<Integer, String> getLicense() {
|
|
return license;
|
|
}
|
|
|
|
public void setLicense(HashMap<Integer, String> license) {
|
|
this.license = license;
|
|
}
|
|
|
|
public HashMap<String, String> getLanguage() {
|
|
return language;
|
|
}
|
|
|
|
public void setLanguage(HashMap<String, String> language) {
|
|
this.language = language;
|
|
}
|
|
|
|
public HashMap<Integer, String> getPrivacy() {
|
|
return privacy;
|
|
}
|
|
|
|
public void setPrivacy(HashMap<Integer, String> privacy) {
|
|
this.privacy = privacy;
|
|
}
|
|
|
|
public HashMap<String, String> getChannelForUpdate() {
|
|
return channelForUpdate;
|
|
}
|
|
|
|
public void setChannelForUpdate(HashMap<String, String> channelForUpdate) {
|
|
this.channelForUpdate = channelForUpdate;
|
|
}
|
|
|
|
public boolean isUpdate() {
|
|
return isUpdate;
|
|
}
|
|
|
|
public void setUpdate(boolean update) {
|
|
isUpdate = update;
|
|
}
|
|
|
|
public String getHeaderType() {
|
|
return headerType;
|
|
}
|
|
|
|
public void setHeaderType(String headerType) {
|
|
this.headerType = headerType;
|
|
}
|
|
|
|
public String getHeaderTypeValue() {
|
|
return headerTypeValue;
|
|
}
|
|
|
|
public void setHeaderTypeValue(String headerTypeValue) {
|
|
this.headerTypeValue = headerTypeValue;
|
|
}
|
|
|
|
public boolean isStreamService() {
|
|
return streamService;
|
|
}
|
|
|
|
public void setStreamService(boolean streamService) {
|
|
this.streamService = streamService;
|
|
}
|
|
}
|