mirror of https://github.com/TeamNewPipe/NewPipe
70 lines
2.6 KiB
Java
70 lines
2.6 KiB
Java
package org.schabi.newpipe.database.stream;
|
|
|
|
import androidx.room.ColumnInfo;
|
|
|
|
import org.schabi.newpipe.database.LocalItem;
|
|
import org.schabi.newpipe.database.history.model.StreamHistoryEntity;
|
|
import org.schabi.newpipe.database.stream.model.StreamEntity;
|
|
import org.schabi.newpipe.extractor.stream.StreamInfoItem;
|
|
import org.schabi.newpipe.extractor.stream.StreamType;
|
|
|
|
import java.util.Date;
|
|
|
|
public class StreamStatisticsEntry implements LocalItem {
|
|
final public static String STREAM_LATEST_DATE = "latestAccess";
|
|
final public static String STREAM_WATCH_COUNT = "watchCount";
|
|
|
|
@ColumnInfo(name = StreamEntity.STREAM_ID)
|
|
final public long uid;
|
|
@ColumnInfo(name = StreamEntity.STREAM_SERVICE_ID)
|
|
final public int serviceId;
|
|
@ColumnInfo(name = StreamEntity.STREAM_URL)
|
|
final public String url;
|
|
@ColumnInfo(name = StreamEntity.STREAM_TITLE)
|
|
final public String title;
|
|
@ColumnInfo(name = StreamEntity.STREAM_TYPE)
|
|
final public StreamType streamType;
|
|
@ColumnInfo(name = StreamEntity.STREAM_DURATION)
|
|
final public long duration;
|
|
@ColumnInfo(name = StreamEntity.STREAM_UPLOADER)
|
|
final public String uploader;
|
|
@ColumnInfo(name = StreamEntity.STREAM_THUMBNAIL_URL)
|
|
final public String thumbnailUrl;
|
|
@ColumnInfo(name = StreamHistoryEntity.JOIN_STREAM_ID)
|
|
final public long streamId;
|
|
@ColumnInfo(name = StreamStatisticsEntry.STREAM_LATEST_DATE)
|
|
final public Date latestAccessDate;
|
|
@ColumnInfo(name = StreamStatisticsEntry.STREAM_WATCH_COUNT)
|
|
final public long watchCount;
|
|
|
|
public StreamStatisticsEntry(long uid, int serviceId, String url, String title,
|
|
StreamType streamType, long duration, String uploader,
|
|
String thumbnailUrl, long streamId, Date latestAccessDate,
|
|
long watchCount) {
|
|
this.uid = uid;
|
|
this.serviceId = serviceId;
|
|
this.url = url;
|
|
this.title = title;
|
|
this.streamType = streamType;
|
|
this.duration = duration;
|
|
this.uploader = uploader;
|
|
this.thumbnailUrl = thumbnailUrl;
|
|
this.streamId = streamId;
|
|
this.latestAccessDate = latestAccessDate;
|
|
this.watchCount = watchCount;
|
|
}
|
|
|
|
public StreamInfoItem toStreamInfoItem() {
|
|
StreamInfoItem item = new StreamInfoItem(serviceId, url, title, streamType);
|
|
item.setDuration(duration);
|
|
item.setUploaderName(uploader);
|
|
item.setThumbnailUrl(thumbnailUrl);
|
|
return item;
|
|
}
|
|
|
|
@Override
|
|
public LocalItemType getLocalItemType() {
|
|
return LocalItemType.STATISTIC_STREAM_ITEM;
|
|
}
|
|
}
|