From a02490ae18716f0124d2891a966d5ad2d80fdaf5 Mon Sep 17 00:00:00 2001 From: Alexander Capehart Date: Mon, 5 Dec 2022 03:21:10 +0000 Subject: [PATCH] ui: update list style Make a few changes to the list style to be more consistent. --- .../auxio/detail/recycler/AlbumDetailAdapter.kt | 2 +- .../oxycblt/auxio/home/list/HomeListFragment.kt | 10 +++------- .../java/org/oxycblt/auxio/ui/recycler/Data.kt | 2 +- .../org/oxycblt/auxio/ui/recycler/ViewHolders.kt | 14 +++++++++----- .../main/res/color/sel_activatable_background.xml | 2 +- app/src/main/res/color/sel_activatable_icon.xml | 2 +- app/src/main/res/drawable/ic_more_24.xml | 14 ++++++-------- app/src/main/res/layout/dialog_song_detail.xml | 12 ++++++------ 8 files changed, 28 insertions(+), 30 deletions(-) diff --git a/app/src/main/java/org/oxycblt/auxio/detail/recycler/AlbumDetailAdapter.kt b/app/src/main/java/org/oxycblt/auxio/detail/recycler/AlbumDetailAdapter.kt index 068e87d45..34972aea3 100644 --- a/app/src/main/java/org/oxycblt/auxio/detail/recycler/AlbumDetailAdapter.kt +++ b/app/src/main/java/org/oxycblt/auxio/detail/recycler/AlbumDetailAdapter.kt @@ -197,7 +197,7 @@ private class AlbumSongViewHolder private constructor(private val binding: ItemA binding.root.apply { setOnClickListener { listener.onItemClick(item) } setOnLongClickListener { - listener.onItemLongClick(item) + listener.onSelect(item) true } } diff --git a/app/src/main/java/org/oxycblt/auxio/home/list/HomeListFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/list/HomeListFragment.kt index 8c836b44d..3194427c3 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/list/HomeListFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/list/HomeListFragment.kt @@ -72,16 +72,12 @@ abstract class HomeListFragment : if (homeModel.selected.value.isEmpty()) { onItemClick(item) } else { - homeModel.select(item) + onSelect(item) } } - override fun onItemLongClick(item: Item) { + override fun onSelect(item: Item) { check(item is Music) { "Unexpected datatype: ${item::class.java}" } - if (homeModel.selected.value.isEmpty()) { - homeModel.select(item) - } else { - onItemClick(item) - } + homeModel.select(item) } } diff --git a/app/src/main/java/org/oxycblt/auxio/ui/recycler/Data.kt b/app/src/main/java/org/oxycblt/auxio/ui/recycler/Data.kt index 2515feae3..436d0ed5c 100644 --- a/app/src/main/java/org/oxycblt/auxio/ui/recycler/Data.kt +++ b/app/src/main/java/org/oxycblt/auxio/ui/recycler/Data.kt @@ -41,7 +41,7 @@ interface ItemClickListener { /** An interface for detecting if an item has had it's menu opened. */ interface MenuItemListener : ItemClickListener { /** Called when an item is long-clicked. */ - fun onItemLongClick(item: Item) {} + fun onSelect(item: Item) {} /** Called when an item desires to open a menu relating to it. */ fun onOpenMenu(item: Item, anchor: View) diff --git a/app/src/main/java/org/oxycblt/auxio/ui/recycler/ViewHolders.kt b/app/src/main/java/org/oxycblt/auxio/ui/recycler/ViewHolders.kt index 8a8980107..f60bba90d 100644 --- a/app/src/main/java/org/oxycblt/auxio/ui/recycler/ViewHolders.kt +++ b/app/src/main/java/org/oxycblt/auxio/ui/recycler/ViewHolders.kt @@ -43,11 +43,12 @@ class SongViewHolder private constructor(private val binding: ItemSongBinding) : binding.songName.text = item.resolveName(binding.context) binding.songInfo.text = item.resolveArtistContents(binding.context) + binding.songAlbumCover.setOnClickListener { listener.onSelect(item) } binding.songMenu.setOnClickListener { listener.onOpenMenu(item, it) } binding.root.apply { setOnClickListener { listener.onItemClick(item) } setOnLongClickListener { - listener.onItemLongClick(item) + listener.onSelect(item) true } } @@ -87,11 +88,12 @@ class AlbumViewHolder private constructor(private val binding: ItemParentBinding binding.parentName.text = item.resolveName(binding.context) binding.parentInfo.text = item.resolveArtistContents(binding.context) + binding.parentImage.setOnClickListener { listener.onSelect(item) } binding.parentMenu.setOnClickListener { listener.onOpenMenu(item, it) } binding.root.apply { setOnClickListener { listener.onItemClick(item) } setOnLongClickListener { - listener.onItemLongClick(item) + listener.onSelect(item) true } } @@ -143,11 +145,12 @@ class ArtistViewHolder private constructor(private val binding: ItemParentBindin binding.context.getPlural(R.plurals.fmt_album_count, item.albums.size) } + binding.parentImage.setOnClickListener { listener.onSelect(item) } binding.parentMenu.setOnClickListener { listener.onOpenMenu(item, it) } binding.root.apply { setOnClickListener { listener.onItemClick(item) } setOnLongClickListener { - listener.onItemLongClick(item) + listener.onSelect(item) true } } @@ -192,12 +195,13 @@ class GenreViewHolder private constructor(private val binding: ItemParentBinding R.string.fmt_two, binding.context.getPlural(R.plurals.fmt_artist_count, item.artists.size), binding.context.getPlural(R.plurals.fmt_song_count, item.songs.size)) - binding.parentMenu.setOnClickListener { listener.onOpenMenu(item, it) } + binding.parentImage.setOnClickListener { listener.onSelect(item) } + binding.parentMenu.setOnClickListener { listener.onOpenMenu(item, it) } binding.root.apply { setOnClickListener { listener.onItemClick(item) } setOnLongClickListener { - listener.onItemLongClick(item) + listener.onSelect(item) true } } diff --git a/app/src/main/res/color/sel_activatable_background.xml b/app/src/main/res/color/sel_activatable_background.xml index 4119e1d4e..76c3633ce 100644 --- a/app/src/main/res/color/sel_activatable_background.xml +++ b/app/src/main/res/color/sel_activatable_background.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/app/src/main/res/color/sel_activatable_icon.xml b/app/src/main/res/color/sel_activatable_icon.xml index 1cbfc27d6..9ade5ce76 100644 --- a/app/src/main/res/color/sel_activatable_icon.xml +++ b/app/src/main/res/color/sel_activatable_icon.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_more_24.xml b/app/src/main/res/drawable/ic_more_24.xml index 782ef4327..3f5d52300 100644 --- a/app/src/main/res/drawable/ic_more_24.xml +++ b/app/src/main/res/drawable/ic_more_24.xml @@ -1,11 +1,9 @@ - - - + android:viewportHeight="24" + android:tint="?attr/colorControlNormal" + xmlns:android="http://schemas.android.com/apk/res/android"> + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_song_detail.xml b/app/src/main/res/layout/dialog_song_detail.xml index e8a391702..5fa0ca67e 100644 --- a/app/src/main/res/layout/dialog_song_detail.xml +++ b/app/src/main/res/layout/dialog_song_detail.xml @@ -51,7 +51,7 @@ @@ -67,7 +67,7 @@ @@ -83,7 +83,7 @@ @@ -99,7 +99,7 @@ @@ -115,7 +115,7 @@ @@ -131,7 +131,7 @@