Răsfoiți Sursa

fixups

Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
parneet-guraya 10 luni în urmă
părinte
comite
009909c38a

+ 11 - 7
app/src/main/java/com/nextcloud/client/media/BackgroundPlayerService.kt

@@ -195,21 +195,25 @@ class BackgroundPlayerService : MediaSessionService(), Injectable {
     }
 
     override fun onTaskRemoved(rootIntent: Intent?) {
-        unregisterReceiver(stopReceiver)
-        val player = mediaSession?.player
-        if (player!!.playWhenReady) {
-            // Make sure the service is not in foreground.
-            player.pause()
-        }
         release()
     }
 
-    private fun release() {
+    override fun onDestroy() {
+        unregisterReceiver(stopReceiver)
         mediaSession?.run {
             player.release()
             release()
             mediaSession = null
         }
+        super.onDestroy()
+    }
+
+    private fun release() {
+        val player = mediaSession?.player
+        if (player!!.playWhenReady) {
+            // Make sure the service is not in foreground.
+            player.pause()
+        }
         stopSelf()
     }
 

+ 9 - 5
app/src/main/java/com/owncloud/android/ui/preview/PreviewMediaActivity.kt

@@ -157,10 +157,7 @@ class PreviewMediaActivity :
 
         if(MimeTypeUtil.isVideo(file)){
             // release any background media session if exists
-            val intent = Intent(BackgroundPlayerService.RELEASE_MEDIA_SESSION_BROADCAST_ACTION).apply {
-                setPackage(packageName)
-            }
-            sendBroadcast(intent)
+            sendAudioSessionReleaseBroadcast()
         }else if(MimeTypeUtil.isAudio(file)){
             val stopPlayer = Intent(BackgroundPlayerService.STOP_MEDIA_SESSION_BROADCAST_ACTION).apply {
                 setPackage(packageName)
@@ -182,6 +179,13 @@ class PreviewMediaActivity :
         }
     }
 
+    private fun sendAudioSessionReleaseBroadcast() {
+        val intent = Intent(BackgroundPlayerService.RELEASE_MEDIA_SESSION_BROADCAST_ACTION).apply {
+            setPackage(packageName)
+        }
+        sendBroadcast(intent)
+    }
+
     private fun addMarginForEmptyView() {
         val layoutParams = emptyListView?.layoutParams ?: return
         val statusBarHeight = statusBarHeight().toFloat()
@@ -624,7 +628,7 @@ class PreviewMediaActivity :
             val removedFile = operation.file
             val fileAvailable: Boolean = storageManager.fileExists(removedFile.fileId)
             if (!fileAvailable && removedFile == file) {
-                releaseAudioPlayer()
+                sendAudioSessionReleaseBroadcast()
                 finish()
             }
         } else if (operation is SynchronizeFileOperation) {