[Android] Remote access: fix main thread dispatch and support paused playback in subtitle upload

Nicolas Pomepuy git at videolan.org
Wed Sep 9 06:43:37 UTC 2026


vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Thu Sep  3 14:51:38 2026 +0200| [7032234e136106e2f68a01fbc32908e8ec7ad0df] | committer: Duncan McNamara

Remote access: fix main thread dispatch and support paused playback in subtitle upload

> https://code.videolan.org/videolan/vlc-android/commit/7032234e136106e2f68a01fbc32908e8ec7ad0df
---

 .../org/videolan/vlc/remoteaccessserver/RemoteAccessRouting.kt | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/application/remote-access-server/src/main/java/org/videolan/vlc/remoteaccessserver/RemoteAccessRouting.kt b/application/remote-access-server/src/main/java/org/videolan/vlc/remoteaccessserver/RemoteAccessRouting.kt
index a4080f9aa3..fef7af7841 100644
--- a/application/remote-access-server/src/main/java/org/videolan/vlc/remoteaccessserver/RemoteAccessRouting.kt
+++ b/application/remote-access-server/src/main/java/org/videolan/vlc/remoteaccessserver/RemoteAccessRouting.kt
@@ -280,11 +280,13 @@ fun Route.setupRouting(appContext: Context, scope: CoroutineScope) {
                     uploaded = true
 
                     val service = RemoteAccessServer.getInstance(appContext).service
-                    if (service?.isPlaying == true) {
+                    if (service?.hasMedia() == true) {
                         val uri = Uri.fromFile(file)
-                        service.addSubtitleTrack(uri, true)
-                        service.currentMediaWrapper?.let {
-                            SlaveRepository.getInstance(appContext).saveSlave(it.location, IMedia.Slave.Type.Subtitle, 2, uri.toString())
+                        withContext(Dispatchers.Main) {
+                            service.addSubtitleTrack(uri, true)
+                            service.currentMediaWrapper?.let { media ->
+                                SlaveRepository.getInstance(appContext).saveSlave(media.location, IMedia.Slave.Type.Subtitle, 2, uri.toString())
+                            }
                         }
                     }
                 }



More information about the Android mailing list