2018-01-15 21:30:52 +01:00
|
|
|
package org.schabi.newpipe.database.playlist.model;
|
|
|
|
|
2019-10-04 14:59:08 +02:00
|
|
|
import androidx.room.ColumnInfo;
|
|
|
|
import androidx.room.Entity;
|
2022-04-15 14:44:54 +02:00
|
|
|
import androidx.room.Ignore;
|
2019-10-04 14:59:08 +02:00
|
|
|
import androidx.room.Index;
|
|
|
|
import androidx.room.PrimaryKey;
|
2018-01-15 21:30:52 +01:00
|
|
|
|
|
|
|
import static org.schabi.newpipe.database.playlist.model.PlaylistEntity.PLAYLIST_NAME;
|
|
|
|
import static org.schabi.newpipe.database.playlist.model.PlaylistEntity.PLAYLIST_TABLE;
|
|
|
|
|
2023-02-05 20:32:34 +01:00
|
|
|
import org.schabi.newpipe.R;
|
2022-04-15 14:44:54 +02:00
|
|
|
import org.schabi.newpipe.database.playlist.PlaylistMetadataEntry;
|
|
|
|
|
2018-01-15 21:30:52 +01:00
|
|
|
@Entity(tableName = PLAYLIST_TABLE,
|
|
|
|
indices = {@Index(value = {PLAYLIST_NAME})})
|
|
|
|
public class PlaylistEntity {
|
2023-02-05 20:32:34 +01:00
|
|
|
|
|
|
|
public static final String DEFAULT_THUMBNAIL = "drawable://"
|
|
|
|
+ R.drawable.placeholder_thumbnail_playlist;
|
2023-02-09 23:17:36 +01:00
|
|
|
public static final long DEFAULT_THUMBNAIL_ID = -1;
|
|
|
|
|
2020-03-31 19:20:15 +02:00
|
|
|
public static final String PLAYLIST_TABLE = "playlists";
|
|
|
|
public static final String PLAYLIST_ID = "uid";
|
|
|
|
public static final String PLAYLIST_NAME = "name";
|
|
|
|
public static final String PLAYLIST_THUMBNAIL_URL = "thumbnail_url";
|
2022-04-13 13:41:07 +02:00
|
|
|
public static final String PLAYLIST_DISPLAY_INDEX = "display_index";
|
2022-12-09 22:40:54 +01:00
|
|
|
public static final String PLAYLIST_THUMBNAIL_PERMANENT = "is_thumbnail_permanent";
|
2023-02-05 20:32:34 +01:00
|
|
|
public static final String PLAYLIST_THUMBNAIL_STREAM_ID = "thumbnail_stream_id";
|
2018-01-15 21:30:52 +01:00
|
|
|
|
|
|
|
@PrimaryKey(autoGenerate = true)
|
|
|
|
@ColumnInfo(name = PLAYLIST_ID)
|
|
|
|
private long uid = 0;
|
|
|
|
|
|
|
|
@ColumnInfo(name = PLAYLIST_NAME)
|
|
|
|
private String name;
|
|
|
|
|
2022-12-09 12:01:59 +01:00
|
|
|
@ColumnInfo(name = PLAYLIST_THUMBNAIL_PERMANENT)
|
|
|
|
private boolean isThumbnailPermanent;
|
2022-12-07 02:32:53 +01:00
|
|
|
|
2023-02-05 20:32:34 +01:00
|
|
|
@ColumnInfo(name = PLAYLIST_THUMBNAIL_STREAM_ID)
|
|
|
|
private long thumbnailStreamId;
|
2018-01-15 21:30:52 +01:00
|
|
|
|
2022-04-13 13:41:07 +02:00
|
|
|
@ColumnInfo(name = PLAYLIST_DISPLAY_INDEX)
|
2022-04-14 06:13:42 +02:00
|
|
|
private long displayIndex;
|
2022-04-13 13:41:07 +02:00
|
|
|
|
2023-02-05 20:32:34 +01:00
|
|
|
public PlaylistEntity(final String name, final boolean isThumbnailPermanent,
|
2024-03-29 16:09:13 +01:00
|
|
|
final long thumbnailStreamId, final long displayIndex) {
|
2018-01-15 21:30:52 +01:00
|
|
|
this.name = name;
|
2022-12-09 12:01:59 +01:00
|
|
|
this.isThumbnailPermanent = isThumbnailPermanent;
|
2023-02-05 20:32:34 +01:00
|
|
|
this.thumbnailStreamId = thumbnailStreamId;
|
2022-04-14 06:13:42 +02:00
|
|
|
this.displayIndex = displayIndex;
|
2018-01-15 21:30:52 +01:00
|
|
|
}
|
|
|
|
|
2022-04-15 14:44:54 +02:00
|
|
|
@Ignore
|
|
|
|
public PlaylistEntity(final PlaylistMetadataEntry item) {
|
2022-06-23 13:20:16 +02:00
|
|
|
this.uid = item.getUid();
|
2022-04-15 14:44:54 +02:00
|
|
|
this.name = item.name;
|
2024-03-29 16:09:13 +01:00
|
|
|
this.isThumbnailPermanent = item.isThumbnailPermanent();
|
|
|
|
this.thumbnailStreamId = item.getThumbnailStreamId();
|
2022-06-23 13:20:16 +02:00
|
|
|
this.displayIndex = item.getDisplayIndex();
|
2022-04-15 14:44:54 +02:00
|
|
|
}
|
|
|
|
|
2018-01-15 21:30:52 +01:00
|
|
|
public long getUid() {
|
|
|
|
return uid;
|
|
|
|
}
|
|
|
|
|
2020-03-31 19:20:15 +02:00
|
|
|
public void setUid(final long uid) {
|
2018-01-15 21:30:52 +01:00
|
|
|
this.uid = uid;
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getName() {
|
|
|
|
return name;
|
|
|
|
}
|
|
|
|
|
2020-03-31 19:20:15 +02:00
|
|
|
public void setName(final String name) {
|
2018-01-15 21:30:52 +01:00
|
|
|
this.name = name;
|
|
|
|
}
|
|
|
|
|
2023-02-05 20:32:34 +01:00
|
|
|
public long getThumbnailStreamId() {
|
|
|
|
return thumbnailStreamId;
|
2018-01-15 21:30:52 +01:00
|
|
|
}
|
|
|
|
|
2023-02-05 20:32:34 +01:00
|
|
|
public void setThumbnailStreamId(final long thumbnailStreamId) {
|
|
|
|
this.thumbnailStreamId = thumbnailStreamId;
|
2018-01-15 21:30:52 +01:00
|
|
|
}
|
2022-12-07 02:32:53 +01:00
|
|
|
|
2022-12-09 12:01:59 +01:00
|
|
|
public boolean getIsThumbnailPermanent() {
|
|
|
|
return isThumbnailPermanent;
|
2018-01-15 21:30:52 +01:00
|
|
|
}
|
|
|
|
|
2022-12-09 12:01:59 +01:00
|
|
|
public void setIsThumbnailPermanent(final boolean isThumbnailSet) {
|
|
|
|
this.isThumbnailPermanent = isThumbnailSet;
|
2018-01-15 21:30:52 +01:00
|
|
|
}
|
2022-04-13 13:41:07 +02:00
|
|
|
|
|
|
|
public long getDisplayIndex() {
|
|
|
|
return displayIndex;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setDisplayIndex(final long displayIndex) {
|
|
|
|
this.displayIndex = displayIndex;
|
|
|
|
}
|
2018-01-15 21:30:52 +01:00
|
|
|
}
|