Fix album style & search
This commit is contained in:
parent
eee663f717
commit
393bd59a1c
11 changed files with 42 additions and 31 deletions
|
@ -52,7 +52,6 @@ class HomeAdapter(
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
|
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
|
||||||
println("ViewType ${getItemViewType(position)}")
|
|
||||||
when (getItemViewType(position)) {
|
when (getItemViewType(position)) {
|
||||||
RECENT_ALBUMS -> {
|
RECENT_ALBUMS -> {
|
||||||
val viewHolder = holder as AlbumViewHolder
|
val viewHolder = holder as AlbumViewHolder
|
||||||
|
|
|
@ -9,7 +9,9 @@ import androidx.recyclerview.widget.RecyclerView
|
||||||
import code.name.monkey.appthemehelper.ThemeStore
|
import code.name.monkey.appthemehelper.ThemeStore
|
||||||
import code.name.monkey.retromusic.R
|
import code.name.monkey.retromusic.R
|
||||||
import code.name.monkey.retromusic.adapter.base.MediaEntryViewHolder
|
import code.name.monkey.retromusic.adapter.base.MediaEntryViewHolder
|
||||||
|
import code.name.monkey.retromusic.glide.AlbumGlideRequest
|
||||||
import code.name.monkey.retromusic.glide.ArtistGlideRequest
|
import code.name.monkey.retromusic.glide.ArtistGlideRequest
|
||||||
|
import code.name.monkey.retromusic.glide.RetroMusicColoredTarget
|
||||||
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
||||||
import code.name.monkey.retromusic.helper.menu.SongMenuHelper
|
import code.name.monkey.retromusic.helper.menu.SongMenuHelper
|
||||||
import code.name.monkey.retromusic.loaders.PlaylistSongsLoader
|
import code.name.monkey.retromusic.loaders.PlaylistSongsLoader
|
||||||
|
@ -60,8 +62,17 @@ class SearchAdapter(
|
||||||
val album = dataSet?.get(position) as Album
|
val album = dataSet?.get(position) as Album
|
||||||
holder.title?.text = album.title
|
holder.title?.text = album.title
|
||||||
holder.text?.text = album.artist
|
holder.text?.text = album.artist
|
||||||
/*SongGlideRequest.Builder.from(Glide.with(activity), album.safeGetFirstSong())
|
holder.image?.let {
|
||||||
.checkIgnoreMediaStore(activity).build().into(holder.image)*/
|
AlbumGlideRequest.Builder(Glide.with(activity), album.id)
|
||||||
|
.generatePalette(activity)
|
||||||
|
.build()
|
||||||
|
.dontAnimate()
|
||||||
|
.dontTransform()
|
||||||
|
.into(object : RetroMusicColoredTarget(it) {
|
||||||
|
override fun onColorReady(color: Int) {
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ARTIST -> {
|
ARTIST -> {
|
||||||
val artist = dataSet?.get(position) as Artist
|
val artist = dataSet?.get(position) as Artist
|
||||||
|
@ -133,21 +144,24 @@ class SearchAdapter(
|
||||||
val item = dataSet!![adapterPosition]
|
val item = dataSet!![adapterPosition]
|
||||||
when (itemViewType) {
|
when (itemViewType) {
|
||||||
ALBUM -> {
|
ALBUM -> {
|
||||||
|
item as Album
|
||||||
val options = ActivityOptions.makeSceneTransitionAnimation(
|
val options = ActivityOptions.makeSceneTransitionAnimation(
|
||||||
activity,
|
activity,
|
||||||
UtilPair.create(image, activity.getString(R.string.transition_album_art))
|
UtilPair.create(image, activity.getString(R.string.transition_album_art))
|
||||||
)
|
)
|
||||||
NavigationUtil.goToAlbumOptions(activity, (item as Album).id, options)
|
NavigationUtil.goToAlbumOptions(activity, item.id, options)
|
||||||
}
|
}
|
||||||
ARTIST -> {
|
ARTIST -> {
|
||||||
|
item as Artist
|
||||||
val options = ActivityOptions.makeSceneTransitionAnimation(
|
val options = ActivityOptions.makeSceneTransitionAnimation(
|
||||||
activity,
|
activity,
|
||||||
UtilPair.create(image, activity.getString(R.string.transition_artist_image))
|
UtilPair.create(image, activity.getString(R.string.transition_artist_image))
|
||||||
)
|
)
|
||||||
NavigationUtil.goToArtistOptions(activity, (item as Artist).id, options)
|
NavigationUtil.goToArtistOptions(activity, item.id, options)
|
||||||
}
|
}
|
||||||
GENRE -> {
|
GENRE -> {
|
||||||
NavigationUtil.goToGenre(activity, item as Genre)
|
item as Genre
|
||||||
|
NavigationUtil.goToGenre(activity, item)
|
||||||
}
|
}
|
||||||
PLAYLIST -> {
|
PLAYLIST -> {
|
||||||
NavigationUtil.goToPlaylistNew(activity, item as Playlist)
|
NavigationUtil.goToPlaylistNew(activity, item as Playlist)
|
||||||
|
|
|
@ -28,7 +28,7 @@ import me.zhanghai.android.fastscroll.PopupTextProvider
|
||||||
open class AlbumAdapter(
|
open class AlbumAdapter(
|
||||||
protected val activity: AppCompatActivity,
|
protected val activity: AppCompatActivity,
|
||||||
dataSet: List<Album>,
|
dataSet: List<Album>,
|
||||||
protected var itemLayoutRes: Int,
|
var itemLayoutRes: Int,
|
||||||
cabHolder: CabHolder?
|
cabHolder: CabHolder?
|
||||||
) : AbsMultiSelectAdapter<AlbumAdapter.ViewHolder, Album>(
|
) : AbsMultiSelectAdapter<AlbumAdapter.ViewHolder, Album>(
|
||||||
activity,
|
activity,
|
||||||
|
|
|
@ -44,19 +44,6 @@ class HorizontalAlbumAdapter(
|
||||||
//setColors(color, holder)
|
//setColors(color, holder)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
/*SongGlideRequest.Builder.from(Glide.with(activity), album.safeGetFirstSong())
|
|
||||||
.checkIgnoreMediaStore(activity).generatePalette(activity).build()
|
|
||||||
.into(object : RetroMusicColoredTarget(holder.image!!) {
|
|
||||||
override fun onLoadCleared(placeholder: Drawable?) {
|
|
||||||
super.onLoadCleared(placeholder)
|
|
||||||
setColors(albumArtistFooterColor, holder)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onColorReady(color: Int) {
|
|
||||||
if (usePalette) setColors(color, holder)
|
|
||||||
else setColors(albumArtistFooterColor, holder)
|
|
||||||
}
|
|
||||||
})*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getAlbumText(album: Album): String? {
|
override fun getAlbumText(album: Album): String? {
|
||||||
|
|
|
@ -30,7 +30,6 @@ class ArtistAdapter(
|
||||||
val activity: AppCompatActivity,
|
val activity: AppCompatActivity,
|
||||||
var dataSet: ArrayList<Artist>,
|
var dataSet: ArrayList<Artist>,
|
||||||
var itemLayoutRes: Int,
|
var itemLayoutRes: Int,
|
||||||
|
|
||||||
cabHolder: CabHolder?
|
cabHolder: CabHolder?
|
||||||
) : AbsMultiSelectAdapter<ArtistAdapter.ViewHolder, Artist>(
|
) : AbsMultiSelectAdapter<ArtistAdapter.ViewHolder, Artist>(
|
||||||
activity, cabHolder, R.menu.menu_media_selection
|
activity, cabHolder, R.menu.menu_media_selection
|
||||||
|
|
|
@ -50,10 +50,11 @@ class AlbumGlideRequest {
|
||||||
}
|
}
|
||||||
|
|
||||||
class Builder(val requestManager: RequestManager, val albumId: Long) {
|
class Builder(val requestManager: RequestManager, val albumId: Long) {
|
||||||
|
companion object {
|
||||||
fun from(requestManager: RequestManager, albumId: Long): Builder {
|
fun from(requestManager: RequestManager, albumId: Long): Builder {
|
||||||
return Builder(requestManager, albumId)
|
return Builder(requestManager, albumId)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun generatePalette(context: Context): PaletteBuilder {
|
fun generatePalette(context: Context): PaletteBuilder {
|
||||||
return PaletteBuilder(this, context)
|
return PaletteBuilder(this, context)
|
||||||
|
|
|
@ -18,7 +18,9 @@ import android.graphics.Bitmap;
|
||||||
import androidx.palette.graphics.Palette;
|
import androidx.palette.graphics.Palette;
|
||||||
|
|
||||||
public class BitmapPaletteWrapper {
|
public class BitmapPaletteWrapper {
|
||||||
|
|
||||||
private final Bitmap mBitmap;
|
private final Bitmap mBitmap;
|
||||||
|
|
||||||
private final Palette mPalette;
|
private final Palette mPalette;
|
||||||
|
|
||||||
public BitmapPaletteWrapper(Bitmap bitmap, Palette palette) {
|
public BitmapPaletteWrapper(Bitmap bitmap, Palette palette) {
|
||||||
|
|
|
@ -135,6 +135,11 @@ object AlbumLoader {
|
||||||
albums.add(album)
|
albums.add(album)
|
||||||
return album
|
return album
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun getAlbums(context: Context, paramString: String): List<Album> {
|
||||||
|
return makeAlbumCursor(context, "album LIKE ?", arrayOf("$paramString%"))
|
||||||
|
.mapList(true) { Album.fromCursor(this) }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -44,6 +44,13 @@ object ArtistLoader {
|
||||||
} ?: Artist()
|
} ?: Artist()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun getArtists(context: Context, paramString: String): List<Artist> {
|
||||||
|
return makeArtistCursor(context, "artist LIKE ?", arrayOf("$paramString%"))
|
||||||
|
.mapList(true) {
|
||||||
|
Artist.fromCursor(this)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun getArtists(cursor: Cursor?): ArrayList<Artist> {
|
private fun getArtists(cursor: Cursor?): ArrayList<Artist> {
|
||||||
val artists = ArrayList<Artist>()
|
val artists = ArrayList<Artist>()
|
||||||
if (cursor != null && cursor.moveToFirst()) {
|
if (cursor != null && cursor.moveToFirst()) {
|
||||||
|
|
|
@ -16,8 +16,6 @@ package code.name.monkey.retromusic.loaders
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import code.name.monkey.retromusic.R
|
import code.name.monkey.retromusic.R
|
||||||
import code.name.monkey.retromusic.model.Album
|
|
||||||
import code.name.monkey.retromusic.model.Artist
|
|
||||||
import code.name.monkey.retromusic.model.Genre
|
import code.name.monkey.retromusic.model.Genre
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
|
|
||||||
|
@ -31,13 +29,13 @@ object SearchLoader {
|
||||||
results.addAll(songs)
|
results.addAll(songs)
|
||||||
}
|
}
|
||||||
|
|
||||||
val artists = emptyArray<Artist>()//ArtistLoader.getArtists(context, searchString)
|
val artists = ArtistLoader.getArtists(context, searchString)
|
||||||
if (artists.isNotEmpty()) {
|
if (artists.isNotEmpty()) {
|
||||||
results.add(context.resources.getString(R.string.artists))
|
results.add(context.resources.getString(R.string.artists))
|
||||||
results.addAll(artists)
|
results.addAll(artists)
|
||||||
}
|
}
|
||||||
|
|
||||||
val albums = emptyArray<Album>()//AlbumLoader.getAlbums(context, searchString)
|
val albums = AlbumLoader.getAlbums(context, searchString)
|
||||||
if (albums.isNotEmpty()) {
|
if (albums.isNotEmpty()) {
|
||||||
results.add(context.resources.getString(R.string.albums))
|
results.add(context.resources.getString(R.string.albums))
|
||||||
results.addAll(albums)
|
results.addAll(albums)
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:scaleType="centerCrop"
|
android:scaleType="centerCrop"
|
||||||
tools:srcCompat="@tools:sample/backgrounds/scenic[16]" />
|
tools:srcCompat="@tools:sample/avatars" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/imageText"
|
android:id="@+id/imageText"
|
||||||
|
@ -58,8 +58,7 @@
|
||||||
android:minHeight="40dp"
|
android:minHeight="40dp"
|
||||||
android:textAppearance="@style/TextViewSubtitle2"
|
android:textAppearance="@style/TextViewSubtitle2"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
tools:text="100"
|
tools:text="100" />
|
||||||
tools:visibility="visible" />
|
|
||||||
</com.google.android.material.card.MaterialCardView>
|
</com.google.android.material.card.MaterialCardView>
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue