@@ -8,6 +8,7 @@ import android.support.v4.media.MediaBrowserCompat
88import android.support.v4.media.MediaDescriptionCompat
99import android.util.Log
1010import androidx.annotation.DrawableRes
11+ import androidx.core.net.toUri
1112import androidx.media.MediaBrowserServiceCompat
1213import androidx.media.MediaBrowserServiceCompat.Result
1314import androidx.media.utils.MediaConstants
@@ -103,7 +104,7 @@ class MediaBrowserImpl(
103104
104105 private fun onLoadChildren (parentId : String ): Single <List <MediaBrowserCompat .MediaItem >> {
105106 try {
106- val parentIdUri = Uri .parse(parentId )
107+ val parentIdUri = parentId.toUri( )
107108 val path = ArrayList (parentIdUri.pathSegments)
108109
109110 if (path.isEmpty()) {
@@ -185,7 +186,7 @@ class MediaBrowserImpl(
185186 builder
186187 .setMediaId(createMediaIdForInfoItem(playlist is PlaylistRemoteEntity , playlist.uid))
187188 .setTitle(playlist.orderingName)
188- .setIconUri(playlist.thumbnailUrl?. let { Uri .parse(it) } )
189+ .setIconUri(imageUriOrNullIfDisabled( playlist.thumbnailUrl) )
189190
190191 val extras = Bundle ()
191192 extras.putString(
@@ -212,7 +213,7 @@ class MediaBrowserImpl(
212213 }
213214
214215 ImageStrategy .choosePreferredImage(item.thumbnails)?.let {
215- builder.setIconUri(Uri .parse (it))
216+ builder.setIconUri(imageUriOrNullIfDisabled (it))
216217 }
217218
218219 return MediaBrowserCompat .MediaItem (
@@ -258,7 +259,7 @@ class MediaBrowserImpl(
258259 builder.setMediaId(createMediaIdForPlaylistIndex(false , playlistId, index))
259260 .setTitle(item.streamEntity.title)
260261 .setSubtitle(item.streamEntity.uploader)
261- .setIconUri(Uri .parse (item.streamEntity.thumbnailUrl))
262+ .setIconUri(imageUriOrNullIfDisabled (item.streamEntity.thumbnailUrl))
262263
263264 return MediaBrowserCompat .MediaItem (
264265 builder.build(),
@@ -277,7 +278,7 @@ class MediaBrowserImpl(
277278 .setSubtitle(item.uploaderName)
278279
279280 ImageStrategy .choosePreferredImage(item.thumbnails)?.let {
280- builder.setIconUri(Uri .parse (it))
281+ builder.setIconUri(imageUriOrNullIfDisabled (it))
281282 }
282283
283284 return MediaBrowserCompat .MediaItem (
@@ -316,7 +317,7 @@ class MediaBrowserImpl(
316317 builder.setMediaId(mediaId)
317318 .setTitle(streamHistoryEntry.streamEntity.title)
318319 .setSubtitle(streamHistoryEntry.streamEntity.uploader)
319- .setIconUri(Uri .parse (streamHistoryEntry.streamEntity.thumbnailUrl))
320+ .setIconUri(imageUriOrNullIfDisabled (streamHistoryEntry.streamEntity.thumbnailUrl))
320321
321322 return MediaBrowserCompat .MediaItem (
322323 builder.build(),
@@ -395,5 +396,13 @@ class MediaBrowserImpl(
395396
396397 companion object {
397398 private val TAG : String = MediaBrowserImpl ::class .java.getSimpleName()
399+
400+ fun imageUriOrNullIfDisabled (url : String? ): Uri ? {
401+ return if (ImageStrategy .shouldLoadImages()) {
402+ url?.toUri()
403+ } else {
404+ null
405+ }
406+ }
398407 }
399408}
0 commit comments