mirror of
https://github.com/austinried/subtracks.git
synced 2026-11-11 15:29:15 +01:00
metadata: show the cross-library search screenshot
Render the dedicated SearchScreen with results across playlists, artists and albums instead of the album tab's in-list search.
This commit is contained in:
@@ -38,6 +38,7 @@ import com.subtracks.data.model.Song
|
|||||||
import com.subtracks.data.model.Source
|
import com.subtracks.data.model.Source
|
||||||
import com.subtracks.data.model.coverArtKey
|
import com.subtracks.data.model.coverArtKey
|
||||||
import com.subtracks.data.prefs.ListQuery
|
import com.subtracks.data.prefs.ListQuery
|
||||||
|
import com.subtracks.data.repo.SEARCH_RESULT_LIMIT
|
||||||
import com.subtracks.data.source.subsonic.SubsonicSource
|
import com.subtracks.data.source.subsonic.SubsonicSource
|
||||||
import com.subtracks.data.source.subsonic.TestServer
|
import com.subtracks.data.source.subsonic.TestServer
|
||||||
import com.subtracks.data.source.subsonic.TestServers
|
import com.subtracks.data.source.subsonic.TestServers
|
||||||
@@ -53,6 +54,8 @@ import com.subtracks.ui.library.LibraryTab
|
|||||||
import com.subtracks.ui.library.sortOptionsFor
|
import com.subtracks.ui.library.sortOptionsFor
|
||||||
import com.subtracks.ui.playback.MiniPlayer
|
import com.subtracks.ui.playback.MiniPlayer
|
||||||
import com.subtracks.ui.playback.NowPlayingScreen
|
import com.subtracks.ui.playback.NowPlayingScreen
|
||||||
|
import com.subtracks.ui.search.SearchResults
|
||||||
|
import com.subtracks.ui.search.SearchScreen
|
||||||
import com.subtracks.ui.theme.ArtworkColors
|
import com.subtracks.ui.theme.ArtworkColors
|
||||||
import com.subtracks.ui.theme.ArtworkTheme
|
import com.subtracks.ui.theme.ArtworkTheme
|
||||||
import com.subtracks.ui.theme.SubtracksTheme
|
import com.subtracks.ui.theme.SubtracksTheme
|
||||||
@@ -203,29 +206,14 @@ class DemoScreenshotTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Screen.Search -> {
|
Screen.Search -> {
|
||||||
Column(Modifier.fillMaxSize()) {
|
SearchScreen(
|
||||||
LibraryScreen(
|
query = DEMO_SEARCH,
|
||||||
selectedTab = LibraryTab.Albums,
|
onQueryChange = {},
|
||||||
onTabSelected = {},
|
results = demo.search,
|
||||||
albums = remember { flowOf(PagingData.from(demo.searchAlbums)) },
|
|
||||||
artists = remember { flowOf(PagingData.empty<Artist>()) },
|
|
||||||
playlists = remember { flowOf(PagingData.empty<Playlist>()) },
|
|
||||||
coverArt = demo.coverArt,
|
coverArt = demo.coverArt,
|
||||||
onAlbumClick = {},
|
playingSongId = demo.nowPlayingSong.id,
|
||||||
onArtistClick = {},
|
modifier = Modifier.fillMaxSize(),
|
||||||
onPlaylistClick = {},
|
|
||||||
onSync = {},
|
|
||||||
onOpenSettings = {},
|
|
||||||
listQuery = ListQuery("Name"),
|
|
||||||
sortOptions = sortOptionsFor(LibraryTab.Albums),
|
|
||||||
starredSupported = true,
|
|
||||||
search = DEMO_SEARCH,
|
|
||||||
onSearchChange = {},
|
|
||||||
artwork = demo.artwork(demo.nowPlayingAlbum.coverArt),
|
|
||||||
modifier = Modifier.weight(1f),
|
|
||||||
)
|
)
|
||||||
demo.MiniPlayerOverlay(demo.nowPlayingSong, demo.nowPlayingAlbum)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -314,7 +302,7 @@ class DemoScreenshotTest {
|
|||||||
val homePlayingSong: Song,
|
val homePlayingSong: Song,
|
||||||
val artist: Artist,
|
val artist: Artist,
|
||||||
val artistAlbums: List<Album>,
|
val artistAlbums: List<Album>,
|
||||||
val searchAlbums: List<Album>,
|
val search: SearchResults,
|
||||||
val coverArt: (String?, Boolean) -> CoverArtRef?,
|
val coverArt: (String?, Boolean) -> CoverArtRef?,
|
||||||
val engine: FakeImageLoaderEngine,
|
val engine: FakeImageLoaderEngine,
|
||||||
private val bitmaps: Map<String, Bitmap>,
|
private val bitmaps: Map<String, Bitmap>,
|
||||||
@@ -452,12 +440,17 @@ class DemoScreenshotTest {
|
|||||||
rediscoverAlbums = coveredAlbums(dao.rediscoverAlbums(1, System.currentTimeMillis() / 1000, 10).first()),
|
rediscoverAlbums = coveredAlbums(dao.rediscoverAlbums(1, System.currentTimeMillis() / 1000, 10).first()),
|
||||||
)
|
)
|
||||||
|
|
||||||
val searchAlbums =
|
val search =
|
||||||
albums
|
SearchResults(
|
||||||
.filter {
|
playlists =
|
||||||
it.name.contains(DEMO_SEARCH, ignoreCase = true) ||
|
dao.searchPlaylists(1, DEMO_SEARCH, SEARCH_RESULT_LIMIT).first().filter { it.coverArt != null },
|
||||||
(it.albumArtist ?: "").contains(DEMO_SEARCH, ignoreCase = true)
|
artists =
|
||||||
}.ifEmpty { albums.take(4) }
|
dao.searchArtists(1, DEMO_SEARCH, SEARCH_RESULT_LIMIT).first().filter { it.coverArt != null },
|
||||||
|
albums =
|
||||||
|
dao.searchAlbums(1, DEMO_SEARCH, SEARCH_RESULT_LIMIT).first().filter { it.coverArt != null },
|
||||||
|
songs =
|
||||||
|
dao.searchSongs(1, DEMO_SEARCH, SEARCH_RESULT_LIMIT).first().filter { it.coverArt != null },
|
||||||
|
)
|
||||||
val fallback =
|
val fallback =
|
||||||
Bitmap
|
Bitmap
|
||||||
.createBitmap(1, 1, Bitmap.Config.ARGB_8888)
|
.createBitmap(1, 1, Bitmap.Config.ARGB_8888)
|
||||||
@@ -486,7 +479,7 @@ class DemoScreenshotTest {
|
|||||||
homePlayingSong = homePlayingSong,
|
homePlayingSong = homePlayingSong,
|
||||||
artist = artist,
|
artist = artist,
|
||||||
artistAlbums = artistAlbums.filter { it.coverArt != null },
|
artistAlbums = artistAlbums.filter { it.coverArt != null },
|
||||||
searchAlbums = searchAlbums,
|
search = search,
|
||||||
coverArt = coverArt,
|
coverArt = coverArt,
|
||||||
engine = engine,
|
engine = engine,
|
||||||
bitmaps = bitmaps,
|
bitmaps = bitmaps,
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 318 KiB After Width: | Height: | Size: 147 KiB |
Reference in New Issue
Block a user