Removed badly hacked default playlist thumbnail icon

The defaults should be supplied to the image loading software not the database library.
This would also break when we shrink resources as that would rename the resources.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta 2025-11-06 15:43:07 +08:00
parent 4379249507
commit c0ba65e5b8
3 changed files with 8 additions and 35 deletions

View file

@ -15,7 +15,6 @@ import org.schabi.newpipe.database.BasicDAO
import org.schabi.newpipe.database.playlist.PlaylistDuplicatesEntry import org.schabi.newpipe.database.playlist.PlaylistDuplicatesEntry
import org.schabi.newpipe.database.playlist.PlaylistMetadataEntry import org.schabi.newpipe.database.playlist.PlaylistMetadataEntry
import org.schabi.newpipe.database.playlist.PlaylistStreamEntry import org.schabi.newpipe.database.playlist.PlaylistStreamEntry
import org.schabi.newpipe.database.playlist.model.PlaylistEntity.Companion.DEFAULT_THUMBNAIL
import org.schabi.newpipe.database.playlist.model.PlaylistEntity.Companion.DEFAULT_THUMBNAIL_ID import org.schabi.newpipe.database.playlist.model.PlaylistEntity.Companion.DEFAULT_THUMBNAIL_ID
import org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity import org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity
@ -73,11 +72,7 @@ interface PlaylistStreamDAO : BasicDAO<PlaylistStreamEntity> {
@Query( @Query(
""" """
SELECT uid, name, is_thumbnail_permanent, thumbnail_stream_id, display_index, SELECT uid, name, is_thumbnail_permanent, thumbnail_stream_id, display_index,
(SELECT thumbnail_url FROM streams WHERE streams.uid = thumbnail_stream_id) AS thumbnail_url,
CASE WHEN thumbnail_stream_id = $DEFAULT_THUMBNAIL_ID
THEN :defaultThumbnail
ELSE (SELECT thumbnail_url FROM streams WHERE streams.uid = thumbnail_stream_id)
END AS thumbnail_url,
COALESCE(COUNT(playlist_id), 0) AS streamCount FROM playlists COALESCE(COUNT(playlist_id), 0) AS streamCount FROM playlists
@ -88,12 +83,7 @@ interface PlaylistStreamDAO : BasicDAO<PlaylistStreamEntity> {
ORDER BY display_index ORDER BY display_index
""" """
) )
fun getPlaylistMetadata(defaultThumbnail: String): Flowable<MutableList<PlaylistMetadataEntry>> fun getPlaylistMetadata(): Flowable<MutableList<PlaylistMetadataEntry>>
// TODO: Remove on migrating classes to Kotlin
fun getPlaylistMetadata(): Flowable<MutableList<PlaylistMetadataEntry>> {
return getPlaylistMetadata(DEFAULT_THUMBNAIL)
}
@RewriteQueriesToDropUnusedColumns @RewriteQueriesToDropUnusedColumns
@Transaction @Transaction
@ -118,11 +108,7 @@ interface PlaylistStreamDAO : BasicDAO<PlaylistStreamEntity> {
@Query( @Query(
""" """
SELECT playlists.uid, name, is_thumbnail_permanent, thumbnail_stream_id, display_index, SELECT playlists.uid, name, is_thumbnail_permanent, thumbnail_stream_id, display_index,
(SELECT thumbnail_url FROM streams WHERE streams.uid = thumbnail_stream_id) AS thumbnail_url,
CASE WHEN thumbnail_stream_id = $DEFAULT_THUMBNAIL_ID
THEN :defaultThumbnail
ELSE (SELECT thumbnail_url FROM streams WHERE streams.uid = thumbnail_stream_id )
END AS thumbnail_url,
COALESCE(COUNT(playlist_id), 0) AS streamCount, COALESCE(COUNT(playlist_id), 0) AS streamCount,
COALESCE(SUM(url = :streamUrl), 0) AS timesStreamIsContained FROM playlists COALESCE(SUM(url = :streamUrl), 0) AS timesStreamIsContained FROM playlists
@ -137,15 +123,5 @@ interface PlaylistStreamDAO : BasicDAO<PlaylistStreamEntity> {
ORDER BY display_index, name ORDER BY display_index, name
""" """
) )
fun getPlaylistDuplicatesMetadata( fun getPlaylistDuplicatesMetadata(streamUrl: String): Flowable<MutableList<PlaylistDuplicatesEntry>>
streamUrl: String,
defaultThumbnail: String
): Flowable<MutableList<PlaylistDuplicatesEntry>>
// TODO: Remove on migrating classes to Kotlin
fun getPlaylistDuplicatesMetadata(
streamUrl: String
): Flowable<MutableList<PlaylistDuplicatesEntry>> {
return getPlaylistDuplicatesMetadata(streamUrl, DEFAULT_THUMBNAIL)
}
} }

View file

@ -10,7 +10,6 @@ import androidx.room.ColumnInfo
import androidx.room.Entity import androidx.room.Entity
import androidx.room.Ignore import androidx.room.Ignore
import androidx.room.PrimaryKey import androidx.room.PrimaryKey
import org.schabi.newpipe.R
import org.schabi.newpipe.database.playlist.PlaylistMetadataEntry import org.schabi.newpipe.database.playlist.PlaylistMetadataEntry
@Entity(tableName = PlaylistEntity.Companion.PLAYLIST_TABLE) @Entity(tableName = PlaylistEntity.Companion.PLAYLIST_TABLE)
@ -42,9 +41,6 @@ data class PlaylistEntity @JvmOverloads constructor(
) )
companion object { companion object {
@JvmField
val DEFAULT_THUMBNAIL = "drawable://" + R.drawable.placeholder_thumbnail_playlist
const val DEFAULT_THUMBNAIL_ID = -1L const val DEFAULT_THUMBNAIL_ID = -1L
const val PLAYLIST_TABLE = "playlists" const val PLAYLIST_TABLE = "playlists"

View file

@ -1,5 +1,7 @@
package org.schabi.newpipe.local.dialog; package org.schabi.newpipe.local.dialog;
import static org.schabi.newpipe.database.playlist.model.PlaylistEntity.DEFAULT_THUMBNAIL_ID;
import android.os.Bundle; import android.os.Bundle;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
@ -14,7 +16,6 @@ import androidx.recyclerview.widget.RecyclerView;
import org.schabi.newpipe.NewPipeDatabase; import org.schabi.newpipe.NewPipeDatabase;
import org.schabi.newpipe.R; import org.schabi.newpipe.R;
import org.schabi.newpipe.database.playlist.model.PlaylistEntity;
import org.schabi.newpipe.database.playlist.PlaylistDuplicatesEntry; import org.schabi.newpipe.database.playlist.PlaylistDuplicatesEntry;
import org.schabi.newpipe.database.stream.model.StreamEntity; import org.schabi.newpipe.database.stream.model.StreamEntity;
import org.schabi.newpipe.local.LocalItemListAdapter; import org.schabi.newpipe.local.LocalItemListAdapter;
@ -160,8 +161,8 @@ public final class PlaylistAppendDialog extends PlaylistDialog {
.subscribe(ignored -> { .subscribe(ignored -> {
successToast.show(); successToast.show();
if (playlist.getThumbnailUrl() != null if (playlist.getThumbnailStreamId() != null
&& playlist.getThumbnailUrl().equals(PlaylistEntity.DEFAULT_THUMBNAIL) && playlist.getThumbnailStreamId() == DEFAULT_THUMBNAIL_ID
) { ) {
playlistDisposables.add(manager playlistDisposables.add(manager
.changePlaylistThumbnail(playlist.getUid(), streams.get(0).getUid(), .changePlaylistThumbnail(playlist.getUid(), streams.get(0).getUid(),