From 393bd59a1c7307b29260ecbf783895909aaba24e Mon Sep 17 00:00:00 2001 From: h4h13 Date: Thu, 6 Feb 2020 12:22:34 +0530 Subject: [PATCH] Fix album style & search --- .../monkey/retromusic/adapter/HomeAdapter.kt | 1 - .../retromusic/adapter/SearchAdapter.kt | 24 +++++++++++++++---- .../retromusic/adapter/album/AlbumAdapter.kt | 2 +- .../adapter/album/HorizontalAlbumAdapter.kt | 13 ---------- .../adapter/artist/ArtistAdapter.kt | 1 - .../retromusic/glide/AlbumGlideRequest.kt | 7 +++--- .../glide/palette/BitmapPaletteWrapper.java | 2 ++ .../monkey/retromusic/loaders/AlbumLoader.kt | 5 ++++ .../monkey/retromusic/loaders/ArtistLoader.kt | 7 ++++++ .../monkey/retromusic/loaders/SearchLoader.kt | 6 ++--- app/src/main/res/layout/item_list.xml | 5 ++-- 11 files changed, 42 insertions(+), 31 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt index 024daf715..25c901536 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt @@ -52,7 +52,6 @@ class HomeAdapter( } override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { - println("ViewType ${getItemViewType(position)}") when (getItemViewType(position)) { RECENT_ALBUMS -> { val viewHolder = holder as AlbumViewHolder diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/SearchAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/SearchAdapter.kt index 65ec7a051..75319f7c9 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/SearchAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/SearchAdapter.kt @@ -9,7 +9,9 @@ import androidx.recyclerview.widget.RecyclerView import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.retromusic.R 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.RetroMusicColoredTarget import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.menu.SongMenuHelper import code.name.monkey.retromusic.loaders.PlaylistSongsLoader @@ -60,8 +62,17 @@ class SearchAdapter( val album = dataSet?.get(position) as Album holder.title?.text = album.title holder.text?.text = album.artist - /*SongGlideRequest.Builder.from(Glide.with(activity), album.safeGetFirstSong()) - .checkIgnoreMediaStore(activity).build().into(holder.image)*/ + holder.image?.let { + AlbumGlideRequest.Builder(Glide.with(activity), album.id) + .generatePalette(activity) + .build() + .dontAnimate() + .dontTransform() + .into(object : RetroMusicColoredTarget(it) { + override fun onColorReady(color: Int) { + } + }) + } } ARTIST -> { val artist = dataSet?.get(position) as Artist @@ -133,21 +144,24 @@ class SearchAdapter( val item = dataSet!![adapterPosition] when (itemViewType) { ALBUM -> { + item as Album val options = ActivityOptions.makeSceneTransitionAnimation( activity, 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 -> { + item as Artist val options = ActivityOptions.makeSceneTransitionAnimation( activity, 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 -> { - NavigationUtil.goToGenre(activity, item as Genre) + item as Genre + NavigationUtil.goToGenre(activity, item) } PLAYLIST -> { NavigationUtil.goToPlaylistNew(activity, item as Playlist) diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt index 42f7f683c..4c100e055 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt @@ -28,7 +28,7 @@ import me.zhanghai.android.fastscroll.PopupTextProvider open class AlbumAdapter( protected val activity: AppCompatActivity, dataSet: List, - protected var itemLayoutRes: Int, + var itemLayoutRes: Int, cabHolder: CabHolder? ) : AbsMultiSelectAdapter( activity, diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/album/HorizontalAlbumAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/album/HorizontalAlbumAdapter.kt index 0b888ee21..45b650c95 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/album/HorizontalAlbumAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/album/HorizontalAlbumAdapter.kt @@ -44,19 +44,6 @@ class HorizontalAlbumAdapter( //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? { diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/artist/ArtistAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/artist/ArtistAdapter.kt index 82df259a0..6a710bda5 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/artist/ArtistAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/artist/ArtistAdapter.kt @@ -30,7 +30,6 @@ class ArtistAdapter( val activity: AppCompatActivity, var dataSet: ArrayList, var itemLayoutRes: Int, - cabHolder: CabHolder? ) : AbsMultiSelectAdapter( activity, cabHolder, R.menu.menu_media_selection diff --git a/app/src/main/java/code/name/monkey/retromusic/glide/AlbumGlideRequest.kt b/app/src/main/java/code/name/monkey/retromusic/glide/AlbumGlideRequest.kt index cdc78323c..765d1647d 100644 --- a/app/src/main/java/code/name/monkey/retromusic/glide/AlbumGlideRequest.kt +++ b/app/src/main/java/code/name/monkey/retromusic/glide/AlbumGlideRequest.kt @@ -50,9 +50,10 @@ class AlbumGlideRequest { } class Builder(val requestManager: RequestManager, val albumId: Long) { - - fun from(requestManager: RequestManager, albumId: Long): Builder { - return Builder(requestManager, albumId) + companion object { + fun from(requestManager: RequestManager, albumId: Long): Builder { + return Builder(requestManager, albumId) + } } fun generatePalette(context: Context): PaletteBuilder { diff --git a/app/src/main/java/code/name/monkey/retromusic/glide/palette/BitmapPaletteWrapper.java b/app/src/main/java/code/name/monkey/retromusic/glide/palette/BitmapPaletteWrapper.java index 4aa89e086..7eed93ae8 100644 --- a/app/src/main/java/code/name/monkey/retromusic/glide/palette/BitmapPaletteWrapper.java +++ b/app/src/main/java/code/name/monkey/retromusic/glide/palette/BitmapPaletteWrapper.java @@ -18,7 +18,9 @@ import android.graphics.Bitmap; import androidx.palette.graphics.Palette; public class BitmapPaletteWrapper { + private final Bitmap mBitmap; + private final Palette mPalette; public BitmapPaletteWrapper(Bitmap bitmap, Palette palette) { diff --git a/app/src/main/java/code/name/monkey/retromusic/loaders/AlbumLoader.kt b/app/src/main/java/code/name/monkey/retromusic/loaders/AlbumLoader.kt index c497861d5..38d274f32 100644 --- a/app/src/main/java/code/name/monkey/retromusic/loaders/AlbumLoader.kt +++ b/app/src/main/java/code/name/monkey/retromusic/loaders/AlbumLoader.kt @@ -135,6 +135,11 @@ object AlbumLoader { albums.add(album) return album } + + fun getAlbums(context: Context, paramString: String): List { + return makeAlbumCursor(context, "album LIKE ?", arrayOf("$paramString%")) + .mapList(true) { Album.fromCursor(this) } + } } /* diff --git a/app/src/main/java/code/name/monkey/retromusic/loaders/ArtistLoader.kt b/app/src/main/java/code/name/monkey/retromusic/loaders/ArtistLoader.kt index 9fd3ef504..0844e407a 100644 --- a/app/src/main/java/code/name/monkey/retromusic/loaders/ArtistLoader.kt +++ b/app/src/main/java/code/name/monkey/retromusic/loaders/ArtistLoader.kt @@ -44,6 +44,13 @@ object ArtistLoader { } ?: Artist() } + fun getArtists(context: Context, paramString: String): List { + return makeArtistCursor(context, "artist LIKE ?", arrayOf("$paramString%")) + .mapList(true) { + Artist.fromCursor(this) + } + } + private fun getArtists(cursor: Cursor?): ArrayList { val artists = ArrayList() if (cursor != null && cursor.moveToFirst()) { diff --git a/app/src/main/java/code/name/monkey/retromusic/loaders/SearchLoader.kt b/app/src/main/java/code/name/monkey/retromusic/loaders/SearchLoader.kt index ac4ce39c8..cd42dd979 100644 --- a/app/src/main/java/code/name/monkey/retromusic/loaders/SearchLoader.kt +++ b/app/src/main/java/code/name/monkey/retromusic/loaders/SearchLoader.kt @@ -16,8 +16,6 @@ package code.name.monkey.retromusic.loaders import android.content.Context 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 java.util.Locale @@ -31,13 +29,13 @@ object SearchLoader { results.addAll(songs) } - val artists = emptyArray()//ArtistLoader.getArtists(context, searchString) + val artists = ArtistLoader.getArtists(context, searchString) if (artists.isNotEmpty()) { results.add(context.resources.getString(R.string.artists)) results.addAll(artists) } - val albums = emptyArray()//AlbumLoader.getAlbums(context, searchString) + val albums = AlbumLoader.getAlbums(context, searchString) if (albums.isNotEmpty()) { results.add(context.resources.getString(R.string.albums)) results.addAll(albums) diff --git a/app/src/main/res/layout/item_list.xml b/app/src/main/res/layout/item_list.xml index 5d15321f3..53e937035 100755 --- a/app/src/main/res/layout/item_list.xml +++ b/app/src/main/res/layout/item_list.xml @@ -47,7 +47,7 @@ android:layout_gravity="center_vertical" android:gravity="center_vertical" android:scaleType="centerCrop" - tools:srcCompat="@tools:sample/backgrounds/scenic[16]" /> + tools:srcCompat="@tools:sample/avatars" /> + tools:text="100" />