Skip to content
Snippets Groups Projects
Commit 58069400 authored by Geoffrey Métais's avatar Geoffrey Métais Committed by Nicolas Pomepuy
Browse files

Browser: Fix non existing favorites

Also fix favorites convertion with wrong dispatchers
parent c1b276f8
No related branches found
No related tags found
1 merge request!565Browser: Fix non existing favorites
Pipeline #16493 passed with stage
in 54 minutes and 5 seconds
......@@ -25,13 +25,16 @@ import org.videolan.medialibrary.MLServiceLocator
import org.videolan.medialibrary.interfaces.media.MediaWrapper
import org.videolan.medialibrary.media.MediaLibraryItem
import org.videolan.vlc.mediadb.models.BrowserFav
import java.io.File
fun isSchemeSupported(scheme: String?) = when(scheme) {
"file", "smb", "ssh", "nfs", "content" -> true
else -> false
}
fun convertFavorites(browserFavs: List<BrowserFav>?) = browserFavs?.map { (uri, _, title, iconUrl) ->
fun convertFavorites(browserFavs: List<BrowserFav>?) = browserFavs?.filter {
it.uri.scheme != "file" || File(it.uri.path).exists()
}?.map { (uri, _, title, iconUrl) ->
MLServiceLocator.getAbstractMediaWrapper(uri).apply {
setDisplayTitle(Uri.decode(title))
type = MediaWrapper.TYPE_DIR
......
......@@ -57,13 +57,14 @@ class FavoritesProvider(
init {
browserFavRepository.browserFavorites
.flowOn(Dispatchers.IO)
.onEach { list ->
convertFavorites(list.sortedWith(compareBy(BrowserFav::title, BrowserFav::type))).let {
dataset.value = it as MutableList<MediaLibraryItem>
dataset.postValue(it as MutableList<MediaLibraryItem>)
parseSubDirectories()
}
}.launchIn(scope)
}
.flowOn(Dispatchers.IO)
.launchIn(scope)
}
override suspend fun requestBrowsing(url: String?, eventListener: MediaBrowser.EventListener, interact : Boolean) = withContext(coroutineContextProvider.IO) {
......
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