Browse Source

Always swap file media with ML media when browsing to display progress and read state

(cherry picked from commit bf28d05943)
3.3.x
Nicolas Pomepuy 5 years ago
parent
commit
34839f1f56
  1. 2
      application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt
  2. 5
      application/vlc-android/src/org/videolan/vlc/providers/BrowserProvider.kt

2
application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt

@ -454,6 +454,8 @@ class PlaylistManager(val service: PlaybackService) : MediaWrapperList.EventList
}
media.time = if (progress == 0f) 0L else time
media.setLongMeta(MediaWrapper.META_PROGRESS, media.time)
//todo verify that this info is persisted in DB
if (media.length <= 0 && length > 0) media.length = length
}
media.setStringMeta(MediaWrapper.META_SPEED, rate.toString())
}

5
application/vlc-android/src/org/videolan/vlc/providers/BrowserProvider.kt

@ -24,6 +24,7 @@ import android.content.Context
import android.os.Handler
import android.os.HandlerThread
import android.os.Process
import android.util.Log
import androidx.collection.SimpleArrayMap
import androidx.lifecycle.MutableLiveData
import kotlinx.coroutines.*
@ -44,6 +45,7 @@ import org.videolan.resources.VLCInstance
import org.videolan.resources.util.HeaderProvider
import org.videolan.tools.*
import org.videolan.tools.livedata.LiveDataset
import org.videolan.vlc.BuildConfig
import org.videolan.vlc.R
import org.videolan.vlc.util.*
import java.io.File
@ -333,8 +335,7 @@ abstract class BrowserProvider(val context: Context, val dataset: LiveDataset<Me
else if (!showAll) return null
}
val uri = mw.uri
if ((mw.type == MediaWrapper.TYPE_AUDIO || mw.type == MediaWrapper.TYPE_VIDEO)
&& "file" == uri.scheme) return withContext(coroutineContextProvider.IO) {
if ((mw.type == MediaWrapper.TYPE_AUDIO || mw.type == MediaWrapper.TYPE_VIDEO)) return withContext(coroutineContextProvider.IO) {
medialibrary.getMedia(uri) ?: mw
}
return mw

Loading…
Cancel
Save