@@ -304,11 +304,11 @@ class MediaBrowserConnector(private val playerService: PlayerService) : Playback
304304 }
305305 }
306306 Log .w(TAG , " Unknown playlist URI: $parentId " )
307- throw parseError()
307+ throw parseError(parentId )
308308 }
309309
310310 ID_HISTORY -> return populateHistory()
311- else -> throw parseError()
311+ else -> throw parseError(parentId )
312312 }
313313 } catch (e: ContentNotAvailableException ) {
314314 return Single .error(e)
@@ -432,25 +432,27 @@ class MediaBrowserConnector(private val playerService: PlayerService) : Playback
432432 val path = ArrayList (mediaIdUri.pathSegments)
433433
434434 if (path.isEmpty()) {
435- throw parseError()
435+ throw parseError(mediaId )
436436 }
437437
438438 val uriType = path[0 ]
439439 path.removeAt(0 )
440440
441441 return when (uriType) {
442442 ID_BOOKMARKS -> extractPlayQueueFromPlaylistMediaId(
443+ mediaId,
443444 path,
444445 mediaIdUri.getQueryParameter(ID_URL )
445446 )
446447
447- ID_HISTORY -> extractPlayQueueFromHistoryMediaId(path)
448+ ID_HISTORY -> extractPlayQueueFromHistoryMediaId(mediaId, path)
448449 ID_INFO_ITEM -> extractPlayQueueFromInfoItemMediaId(
450+ mediaId,
449451 path,
450452 mediaIdUri.getQueryParameter(ID_URL )
451453 )
452454
453- else -> throw parseError()
455+ else -> throw parseError(mediaId )
454456 }
455457 } catch (error: ContentNotAvailableException ) {
456458 return Single .error(error)
@@ -459,11 +461,12 @@ class MediaBrowserConnector(private val playerService: PlayerService) : Playback
459461
460462 @Throws(ContentNotAvailableException ::class )
461463 private fun extractPlayQueueFromPlaylistMediaId (
464+ mediaId : String ,
462465 mediaIdSegments : ArrayList <String >,
463466 url : String? ,
464467 ): Single <PlayQueue > {
465468 if (mediaIdSegments.isEmpty()) {
466- throw parseError()
469+ throw parseError(mediaId )
467470 }
468471
469472 val playlistType = mediaIdSegments.first()
@@ -472,7 +475,7 @@ class MediaBrowserConnector(private val playerService: PlayerService) : Playback
472475 when (playlistType) {
473476 ID_LOCAL , ID_REMOTE -> {
474477 if (mediaIdSegments.size != 2 ) {
475- throw parseError()
478+ throw parseError(mediaId )
476479 }
477480 val playlistId = mediaIdSegments[0 ].toLong()
478481 val index = mediaIdSegments[1 ].toInt()
@@ -485,7 +488,7 @@ class MediaBrowserConnector(private val playerService: PlayerService) : Playback
485488
486489 ID_URL -> {
487490 if (mediaIdSegments.size != 1 ) {
488- throw parseError()
491+ throw parseError(mediaId )
489492 }
490493
491494 val serviceId = mediaIdSegments[0 ].toInt()
@@ -494,16 +497,17 @@ class MediaBrowserConnector(private val playerService: PlayerService) : Playback
494497 .map(::PlaylistPlayQueue )
495498 }
496499
497- else -> throw parseError()
500+ else -> throw parseError(mediaId )
498501 }
499502 }
500503
501504 @Throws(ContentNotAvailableException ::class )
502505 private fun extractPlayQueueFromHistoryMediaId (
506+ mediaId : String ,
503507 path : List <String >
504508 ): Single <PlayQueue > {
505509 if (path.size != 1 ) {
506- throw parseError()
510+ throw parseError(mediaId )
507511 }
508512
509513 val streamId = path[0 ].toLong()
@@ -692,17 +696,18 @@ class MediaBrowserConnector(private val playerService: PlayerService) : Playback
692696 }
693697 }
694698
695- private fun parseError (): ContentNotAvailableException {
696- return ContentNotAvailableException (" Failed to parse media ID" )
699+ private fun parseError (mediaId : String ): ContentNotAvailableException {
700+ return ContentNotAvailableException (" Failed to parse media ID $mediaId " )
697701 }
698702
699703 @Throws(ContentNotAvailableException ::class )
700704 private fun extractPlayQueueFromInfoItemMediaId (
705+ mediaId : String ,
701706 path : List <String >,
702707 url : String?
703708 ): Single <PlayQueue > {
704709 if (path.size != 2 ) {
705- throw parseError()
710+ throw parseError(mediaId )
706711 }
707712 val infoItemType = infoItemTypeFromString(path[0 ])
708713 val serviceId = path[1 ].toInt()
@@ -729,7 +734,7 @@ class MediaBrowserConnector(private val playerService: PlayerService) : Playback
729734 }
730735 }
731736
732- else -> throw parseError()
737+ else -> throw parseError(mediaId )
733738 }
734739 }
735740 }
0 commit comments