From d5595f3b05732a2384119700885da82eb875282c Mon Sep 17 00:00:00 2001 From: nicoo-c Date: Sun, 5 Jul 2026 19:26:49 -0400 Subject: [PATCH 1/5] search query for local favorites, most played and downloaded lists now also includes artist name matches --- .../ui/screen/library/LibraryDynamicPlaylistScreen.kt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/com/maxrave/simpmusic/ui/screen/library/LibraryDynamicPlaylistScreen.kt b/composeApp/src/commonMain/kotlin/com/maxrave/simpmusic/ui/screen/library/LibraryDynamicPlaylistScreen.kt index 58ca42074..b08961453 100644 --- a/composeApp/src/commonMain/kotlin/com/maxrave/simpmusic/ui/screen/library/LibraryDynamicPlaylistScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/maxrave/simpmusic/ui/screen/library/LibraryDynamicPlaylistScreen.kt @@ -125,13 +125,16 @@ fun LibraryDynamicPlaylistScreen( LaunchedEffect(query) { Logger.w("LibraryDynamicPlaylistScreen", "Check query: $query") - tempFavorite = favorite.filter { it.title.contains(query, ignoreCase = true) } + tempFavorite = favorite.filter { it.title.contains(query, ignoreCase = true) || + it.artistName?.any { artistString -> artistString.contains(query, ignoreCase = true) } ?: false } Logger.w("LibraryDynamicPlaylistScreen", "Check tempFavorite: $tempFavorite") tempFollowed = followed.filter { it.name.contains(query, ignoreCase = true) } Logger.w("LibraryDynamicPlaylistScreen", "Check tempFollowed: $tempFollowed") - tempMostPlayed = mostPlayed.filter { it.title.contains(query, ignoreCase = true) } + tempMostPlayed = mostPlayed.filter { it.title.contains(query, ignoreCase = true) || + it.artistName?.any { artistString -> artistString.contains(query, ignoreCase = true) } ?: false } Logger.w("LibraryDynamicPlaylistScreen", "Check tempMostPlayed: $tempMostPlayed") - tempDownloaded = downloaded.filter { it.title.contains(query, ignoreCase = true) } + tempDownloaded = downloaded.filter { it.title.contains(query, ignoreCase = true) || + it.artistName?.any { artistString -> artistString.contains(query, ignoreCase = true) } ?: false } Logger.w("LibraryDynamicPlaylistScreen", "Check tempDownloaded: $tempDownloaded") tempTopTracks = analyticsUIState.topTracks.data @@ -583,4 +586,4 @@ sealed class LibraryDynamicPlaylistType { else -> throw IllegalArgumentException("Unknown type: $this") } } -} \ No newline at end of file +} From 27078c983d0fe493d12bca4f90f58c9c5fdf9499 Mon Sep 17 00:00:00 2001 From: nicoo-c Date: Sun, 5 Jul 2026 19:38:45 -0400 Subject: [PATCH 2/5] feat: search query for local favorites, most played and downloaded lists now also includes artist name matches --- .../ui/screen/library/LibraryDynamicPlaylistScreen.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/com/maxrave/simpmusic/ui/screen/library/LibraryDynamicPlaylistScreen.kt b/composeApp/src/commonMain/kotlin/com/maxrave/simpmusic/ui/screen/library/LibraryDynamicPlaylistScreen.kt index b08961453..69300b4d5 100644 --- a/composeApp/src/commonMain/kotlin/com/maxrave/simpmusic/ui/screen/library/LibraryDynamicPlaylistScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/maxrave/simpmusic/ui/screen/library/LibraryDynamicPlaylistScreen.kt @@ -126,15 +126,15 @@ fun LibraryDynamicPlaylistScreen( LaunchedEffect(query) { Logger.w("LibraryDynamicPlaylistScreen", "Check query: $query") tempFavorite = favorite.filter { it.title.contains(query, ignoreCase = true) || - it.artistName?.any { artistString -> artistString.contains(query, ignoreCase = true) } ?: false } + it.artistName?.any { artistString -> artistString.contains(query, ignoreCase = true) } ?: false } Logger.w("LibraryDynamicPlaylistScreen", "Check tempFavorite: $tempFavorite") tempFollowed = followed.filter { it.name.contains(query, ignoreCase = true) } Logger.w("LibraryDynamicPlaylistScreen", "Check tempFollowed: $tempFollowed") tempMostPlayed = mostPlayed.filter { it.title.contains(query, ignoreCase = true) || - it.artistName?.any { artistString -> artistString.contains(query, ignoreCase = true) } ?: false } + it.artistName?.any { artistString -> artistString.contains(query, ignoreCase = true) } ?: false } Logger.w("LibraryDynamicPlaylistScreen", "Check tempMostPlayed: $tempMostPlayed") tempDownloaded = downloaded.filter { it.title.contains(query, ignoreCase = true) || - it.artistName?.any { artistString -> artistString.contains(query, ignoreCase = true) } ?: false } + it.artistName?.any { artistString -> artistString.contains(query, ignoreCase = true) } ?: false } Logger.w("LibraryDynamicPlaylistScreen", "Check tempDownloaded: $tempDownloaded") tempTopTracks = analyticsUIState.topTracks.data From e03940aab51f01b08e0fef93b86df87ae2c6fde7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20=C4=90=E1=BB=A9c=20Tu=E1=BA=A5n=20Minh?= <113747128+maxrave-dev@users.noreply.github.com> Date: Wed, 15 Jul 2026 21:22:20 +0700 Subject: [PATCH 3/5] Revert "Feat/search by artist name" --- .../ui/screen/library/LibraryDynamicPlaylistScreen.kt | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/com/maxrave/simpmusic/ui/screen/library/LibraryDynamicPlaylistScreen.kt b/composeApp/src/commonMain/kotlin/com/maxrave/simpmusic/ui/screen/library/LibraryDynamicPlaylistScreen.kt index 69300b4d5..58ca42074 100644 --- a/composeApp/src/commonMain/kotlin/com/maxrave/simpmusic/ui/screen/library/LibraryDynamicPlaylistScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/maxrave/simpmusic/ui/screen/library/LibraryDynamicPlaylistScreen.kt @@ -125,16 +125,13 @@ fun LibraryDynamicPlaylistScreen( LaunchedEffect(query) { Logger.w("LibraryDynamicPlaylistScreen", "Check query: $query") - tempFavorite = favorite.filter { it.title.contains(query, ignoreCase = true) || - it.artistName?.any { artistString -> artistString.contains(query, ignoreCase = true) } ?: false } + tempFavorite = favorite.filter { it.title.contains(query, ignoreCase = true) } Logger.w("LibraryDynamicPlaylistScreen", "Check tempFavorite: $tempFavorite") tempFollowed = followed.filter { it.name.contains(query, ignoreCase = true) } Logger.w("LibraryDynamicPlaylistScreen", "Check tempFollowed: $tempFollowed") - tempMostPlayed = mostPlayed.filter { it.title.contains(query, ignoreCase = true) || - it.artistName?.any { artistString -> artistString.contains(query, ignoreCase = true) } ?: false } + tempMostPlayed = mostPlayed.filter { it.title.contains(query, ignoreCase = true) } Logger.w("LibraryDynamicPlaylistScreen", "Check tempMostPlayed: $tempMostPlayed") - tempDownloaded = downloaded.filter { it.title.contains(query, ignoreCase = true) || - it.artistName?.any { artistString -> artistString.contains(query, ignoreCase = true) } ?: false } + tempDownloaded = downloaded.filter { it.title.contains(query, ignoreCase = true) } Logger.w("LibraryDynamicPlaylistScreen", "Check tempDownloaded: $tempDownloaded") tempTopTracks = analyticsUIState.topTracks.data @@ -586,4 +583,4 @@ sealed class LibraryDynamicPlaylistType { else -> throw IllegalArgumentException("Unknown type: $this") } } -} +} \ No newline at end of file From 34d16d334321bde3a0f0bdcb593f7f6573f05b3b Mon Sep 17 00:00:00 2001 From: thecyberix <299089191+thecyberix@users.noreply.github.com> Date: Mon, 27 Jul 2026 09:25:23 +0300 Subject: [PATCH 4/5] chore(core): bump for Android Auto playback fixes Points submodule at the audio-focus, MODE resume, and AA search play fixes. Co-authored-by: Cursor --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index 63c9b8bde..e7673f368 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 63c9b8bdefe2b97758c5f62b253a49875613dae0 +Subproject commit e7673f3680bf4faf05dbea8d6127e35829f034fb From e2e4d00bb6d738d7d1a916d04526eb605eeff5a0 Mon Sep 17 00:00:00 2001 From: thecyberix <299089191+thecyberix@users.noreply.github.com> Date: Thu, 30 Jul 2026 22:43:36 +0300 Subject: [PATCH 5/5] chore(core): bump for Android Auto like control Points submodule at the AA like-slot and steering-wheel previous remap. Co-authored-by: Cursor --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index e7673f368..919872e6a 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit e7673f3680bf4faf05dbea8d6127e35829f034fb +Subproject commit 919872e6af8cd6e34af500923c16918b14fef408