Skip to content
Snippets Groups Projects
Commit c2ded440 authored by Nicolas Pomepuy's avatar Nicolas Pomepuy Committed by Duncan McNamara
Browse files

Add a TV playlist item to browse playlists

Fixes #2472
parent 0c5be949
No related branches found
No related tags found
1 merge request!1339Add a TV playlist item to browse playlists
Pipeline #209929 passed with stage
in 21 minutes and 4 seconds
......@@ -153,6 +153,7 @@ const val CATEGORY_ALBUMS = 22L
const val CATEGORY_GENRES = 23L
const val CATEGORY_SONGS = 24L
const val CATEGORY_VIDEOS = 25L
const val CATEGORY_PLAYLISTS = 27L
const val CATEGORY_NOW_PLAYING_PIP = 26L
const val CATEGORY = "category"
......
......@@ -33,6 +33,7 @@ class MediaBrowserTvFragment : BaseBrowserTvFragment<MediaLibraryItem>() {
CATEGORY_ALBUMS -> MediaWrapper.TYPE_ALBUM
CATEGORY_ARTISTS -> MediaWrapper.TYPE_ARTIST
CATEGORY_GENRES -> MediaWrapper.TYPE_GENRE
CATEGORY_PLAYLISTS -> MediaWrapper.TYPE_PLAYLIST
else -> MediaWrapper.TYPE_VIDEO
}, this, itemSize)
}
......@@ -46,6 +47,7 @@ class MediaBrowserTvFragment : BaseBrowserTvFragment<MediaLibraryItem>() {
CATEGORY_ALBUMS -> getString(R.string.albums)
CATEGORY_ARTISTS -> getString(R.string.artists)
CATEGORY_GENRES -> getString(R.string.genres)
CATEGORY_PLAYLISTS -> getString(R.string.playlists)
else -> getString(R.string.video)
}
......
......@@ -81,6 +81,8 @@ class VerticalGridActivity : BaseTvActivity(), BrowserActivityInterface {
fragment = MediaScrapingBrowserTvFragment.newInstance(type)
} else if (type == HEADER_DIRECTORIES) {
fragment = FileBrowserTvFragment.newInstance(TYPE_FILE, intent.data?.let { MLServiceLocator.getAbstractMediaWrapper(it) }, true)
} else if (type == HEADER_PLAYLISTS) {
fragment = MediaBrowserTvFragment.newInstance(CATEGORY_PLAYLISTS, null)
} else {
finish()
return
......
......@@ -204,7 +204,7 @@ class MainTvModel(app: Application) : AndroidViewModel(app), Medialibrary.OnMedi
getPagedPlaylists(Medialibrary.SORT_INSERTIONDATE, true, true, NUM_ITEMS_PREVIEW, 0)
}.let {
(playlist as MutableLiveData).value = mutableListOf<MediaLibraryItem>().apply {
// add(DummyItem(HEADER_PLAYLISTS, context.getString(R.string.playlists), ""))
add(DummyItem(HEADER_PLAYLISTS, context.getString(R.string.playlists), ""))
addAll(it)
}
}
......
......@@ -6,11 +6,8 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.videolan.medialibrary.media.MediaLibraryItem
import org.videolan.resources.*
import org.videolan.vlc.providers.medialibrary.*
import org.videolan.resources.CATEGORY_ALBUMS
import org.videolan.resources.CATEGORY_ARTISTS
import org.videolan.resources.CATEGORY_GENRES
import org.videolan.resources.CATEGORY_VIDEOS
import org.videolan.vlc.viewmodels.MedialibraryViewModel
import org.videolan.vlc.viewmodels.tv.TvBrowserModel
......@@ -27,6 +24,7 @@ class MediaBrowserViewModel(context: Context, val category: Long, val parent : M
CATEGORY_ARTISTS -> ArtistsProvider(context, this, false)
CATEGORY_GENRES -> GenresProvider(context, this)
CATEGORY_VIDEOS -> VideosProvider(null, null, context, this)
CATEGORY_PLAYLISTS -> PlaylistsProvider(context, this)
else -> TracksProvider(null, context, this)
}
override val providers = arrayOf(provider)
......@@ -36,6 +34,7 @@ class MediaBrowserViewModel(context: Context, val category: Long, val parent : M
CATEGORY_ALBUMS -> watchAlbums()
CATEGORY_ARTISTS -> watchArtists()
CATEGORY_GENRES -> watchGenres()
CATEGORY_PLAYLISTS -> watchPlaylists()
else -> watchMedia()
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment