[Android] Playlists: add composed blured background

Duncan McNamara git at videolan.org
Fri Sep 16 08:05:33 UTC 2022


vlc-android | branch: master | Duncan McNamara <dcn.mcnamara at gmail.com> | Wed Sep 14 15:56:17 2022 +0200| [7855bae8a5cf18cace719b3a1c36e3d9c07b1c3e] | committer: Nicolas Pomepuy

Playlists: add composed blured background

> https://code.videolan.org/videolan/vlc-android/commit/7855bae8a5cf18cace719b3a1c36e3d9c07b1c3e
---

 .../org/videolan/vlc/gui/HeaderMediaListActivity.kt   | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/application/vlc-android/src/org/videolan/vlc/gui/HeaderMediaListActivity.kt b/application/vlc-android/src/org/videolan/vlc/gui/HeaderMediaListActivity.kt
index 91e90e301..b2722f1a6 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/HeaderMediaListActivity.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/HeaderMediaListActivity.kt
@@ -156,9 +156,10 @@ open class HeaderMediaListActivity : AudioPlayerContainerActivity(), IEventsHand
         binding.songs.layoutManager = LinearLayoutManager(this)
         binding.songs.adapter = audioBrowserAdapter
 
+        val context = this
         lifecycleScope.launch {
             val cover = withContext(Dispatchers.IO) {
-                val width = getScreenWidth()
+                val width = if (binding.backgroundView.width > 0) binding.backgroundView.width else context.getScreenWidth()
                 if (!playlist.artworkMrl.isNullOrEmpty()) {
                     AudioUtil.fetchCoverBitmap(Uri.decode(playlist.artworkMrl), width)
                 } else {
@@ -168,16 +169,12 @@ open class HeaderMediaListActivity : AudioPlayerContainerActivity(), IEventsHand
             if (cover != null) {
                 binding.cover = BitmapDrawable(this at HeaderMediaListActivity.resources, cover)
                 binding.appbar.setExpanded(true, true)
-            }
-        }
-
-        val context = this
-        lifecycleScope.launch(Dispatchers.IO) {
-            val width = if (binding.backgroundView.width > 0) binding.backgroundView.width else context.getScreenWidth()
-            val blurredCover = UiTools.blurBitmap(AudioUtil.readCoverBitmap(Uri.decode(viewModel.playlist.artworkMrl), width))
-            withContext(Dispatchers.Main) {
-                binding.backgroundView.setColorFilter(UiTools.getColorFromAttribute(context, R.attr.audio_player_background_tint))
-                binding.backgroundView.setImageBitmap(blurredCover)
+                val radius = if (isPlaylist) 25f else 15f
+                val blurredCover = UiTools.blurBitmap(cover, radius)
+                withContext(Dispatchers.Main) {
+                    binding.backgroundView.setColorFilter(UiTools.getColorFromAttribute(context, R.attr.audio_player_background_tint))
+                    binding.backgroundView.setImageBitmap(blurredCover)
+                }
             }
         }
 



More information about the Android mailing list